BME 688 Repeating Forced Mode TPH Reads without Re-Config Gives Good Temp and Press, Bad Humidity

Hi,

I can successfully setup a tph read using the following function call sequence as per the forced mode example:

init_I2c (my fcn to init my i2c link)

bme68x_set_conf (setup a config in which I am sampling 1x for temp and press and 8x for humidity, no filter or odr)

bme68x_set_heatr_conf (with heater disabled)

bme68x_set_op_mode (to enable forced mode read)

bme68x_get_meas_dur (to get the read delay)

... wait the read delay ... about 25 mSec

bme68x_get_data (read the data)

All data seems valid and accurate. Temp is 21 degC, pressure is just over 100 kPa, and RH is 46 percent. This matches other sensors nearby.

I then try and repeat forced reads every min by repeating bme68x_set_op_mode (), bme68x_get_meas_dur(), wait, bme68x_get_data() every min.

... and both temp and pressure data looks good, but humidity always reads 100 percent.

If I execute bme68x_set_conf(), bme68x_set_heatr_conf() with heater still off, bme68x_set_op_mode (), bme68x_get_meas_dur(), wait, bme68x_get_data() every min, all data looks ok.

Why do I need to set configs each time in order to get valid humidity data?

Thanks in advance.

Mark J

Best reply by mjanke

Nothing from Bosch ....

Maybe a bug in their Sensor API? Won't know unless someone at Bosch reviewes this thread and tries to resolve.

Workaroung is simply to re-config before each read.

I don't like leaving these threads unresolved, so I added this last post and will mark it accordingly.

Mark J

View original
9 replies
Resolved