finitespace / BME280

Provides an Arduino library for reading and interpreting Bosch BME280 data over I2C, SPI or Sw SPI.
GNU General Public License v3.0
212 stars 105 forks source link

Normal mode not working #137

Open marekburiak opened 1 year ago

marekburiak commented 1 year ago

When I switch from the default Forced mode to Normal mode the readings remain the same.

If I have it like this:

BME280I2C myBme;
BME280I2C::Settings mySettings;
float myTemperature;
float myHumidity;
float myPressure;

in setup():
mySettings.tempOSR = BME280I2C::OSR_X16;
mySettings.humOSR = BME280I2C::OSR_X16;
mySettings.presOSR = BME280I2C::OSR_X16;
mySettings.mode = BME280I2C::Mode_Forced;
mySettings.standbyTime = BME280I2C::StandbyTime_50ms;
mySettings.filter = BME280I2C::Filter_16;
mySettings.spiEnable = BME280I2C::SpiEnable_False;
mySettings.bme280Addr = BME280I2C::I2CAddr_0x76;

myBme.setSettings(mySettings);

in loop():
myBme.read(myPressure, myTemperature, myHumidity);

then it works fine but if I change the mode to

mySettings.mode = BME280I2C::Mode_Normal;

then it just gets the values once and any subsequent calls to read just return the same values. using #define DEBUG_ON shows the same values being read, like Data: 4F 91 0 83 E1 0 83 E5