summaryrefslogtreecommitdiff
path: root/BME280.py
AgeCommit message (Collapse)Author
2026-03-17Fix 5 bugs in BME280.py verified against Bosch BME280_SensorAPI and Adafruit ↵Yuval Adam
references 1. get_power_mode() missing parentheses in set_oversamp_pressure and set_oversamp_temperature — compared method object instead of calling it, so sleep-mode check never worked correctly. 2. set_oversamp_humidity else branch wrote ctrl_hum_reg into CTRL_MEAS register instead of ctrl_meas_reg (per datasheet §5.4.3, humidity settings require a subsequent write to ctrl_meas with the correct value). 3. dig_H6 stored as unsigned byte — should be int8_t per Bosch bme280_defs.h and Adafruit_BME280.h. 4. dig_H4/H5 sign extension wrong — used to_s16() on 12-bit signed values. Now sign-extends from MSB byte first (to_s8) then combines with LSB nibble, matching Bosch parse_humidity_calib_data() and Adafruit readCoefficients(). 5. Humidity compensation formula was missing var5 multiplication factor vs Bosch compensate_humidity() (BME280_DOUBLE_ENABLE path). Rewritten with Bosch variable names for easy cross-referencing.
2019-08-11Initial filesYuval Adam