Skip to content

Commit 8cd1558

Browse files
committed
sensors/bmp180_uorb: support for fixed-point data
Signed-off-by: raiden00pl <[email protected]>
1 parent 879624d commit 8cd1558

File tree

3 files changed

+8
-4
lines changed

3 files changed

+8
-4
lines changed

drivers/sensors/bmp180_base.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@ void bmp180_read_press_temp(FAR struct bmp180_dev_s *priv)
293293
****************************************************************************/
294294

295295
int bmp180_getpressure(FAR struct bmp180_dev_s *priv,
296-
FAR float *temperature)
296+
FAR sensor_data_t *temperature)
297297
{
298298
int32_t x1;
299299
int32_t x2;
@@ -338,7 +338,9 @@ int bmp180_getpressure(FAR struct bmp180_dev_s *priv,
338338
sninfo("Compensated temperature = %" PRId32 "\n", temp);
339339

340340
if (temperature != NULL)
341-
*temperature = temp;
341+
{
342+
*temperature = sensor_data_itof(temp);
343+
}
342344

343345
/* Calculate true pressure */
344346

drivers/sensors/bmp180_base.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,6 @@ int bmp180_checkid(FAR struct bmp180_dev_s *priv);
132132
void bmp180_updatecaldata(FAR struct bmp180_dev_s *priv);
133133
void bmp180_read_press_temp(FAR struct bmp180_dev_s *priv);
134134
int bmp180_getpressure(FAR struct bmp180_dev_s *priv,
135-
FAR float *temperature);
135+
FAR sensor_data_t *temperature);
136136

137137
#endif /* CONFIG_I2C && CONFIG_SENSORS_BMP180 */

drivers/sensors/bmp180_uorb.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,14 +197,16 @@ static void bmp180_worker(FAR void *arg)
197197
{
198198
FAR struct bmp180_dev_uorb_s *priv = arg;
199199
struct sensor_baro baro;
200+
int press;
200201

201202
DEBUGASSERT(priv != NULL);
202203

203204
work_queue(HPWORK, &priv->work,
204205
bmp180_worker, priv,
205206
priv->interval / USEC_PER_TICK);
206207

207-
baro.pressure = bmp180_getpressure(&priv->dev, &baro.temperature) / 100.0f;
208+
press = bmp180_getpressure(&priv->dev, &baro.temperature);
209+
baro.pressure = sensor_data_divi(press, 100);
208210
baro.timestamp = sensor_get_timestamp();
209211

210212
priv->lower.push_event(priv->lower.priv, &baro, sizeof(baro));

0 commit comments

Comments
 (0)