I am experiencing an issue with the BMP280 where writing to 0xF4 (ctrl_meas) register only results in changes being made for the osrs_p and osrs_t fields. I can see my I2C writes only apply to these fields in the register and not the power mode (last 2 bits). My problem is my BMP280 is currently in sleep mode it seems and stuck in this mode permanently (from reading the 0xF4 register I keep getting xxxx xx00, depending on how I set up osrs_t and osrs_p). The chip ID reading is correct. I have tried checking the value I am sending over a scope and it looks like I am sending the correct info.
Solved! Go to Solution.
The bits mode[1:0] in 0xF4 register determined the power mode.
You could see data sheet and github drive how to change power mode.
/* Always set the power mode after setting the configuration */
rslt = bmp280_set_power_mode(BMP280_NORMAL_MODE, &bmp);