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

Lowest power mode possible #96

Closed leestephens closed 5 years ago

leestephens commented 6 years ago

Expected behavior

Looking in the Datasheet, I think there is a mode (as described in 3.5.1) that does 1 sample per minute.

I assume this would be expressed in BME280.h setting enum StandbyTime as StandbyTime_60000ms

Actual behavior

StandbyTime_1000ms is the largest value

Request

Am I misunderstanding the way of using the code? Or can this be added? I actually only want to read the values every 10 minutes, so looking to get the lowest power possible. Maybe I might be better turning the device into Mode_Sleep and then switching to Mode_Forced when I want to take a reading?

BTW, thank you for an excellent library, very grateful for all the work involved.

gartfr commented 6 years ago

From the same doc, the table that shows register config for standby time in forced mode is the following : t_sb[2:0] tstandby [ms] 000 0.5 001 62.5 010 125 011 250 100 500 101 1000 110 10 111 20

so the longest standby time is 1000ms and no other. In 3.5.1, they're I can see what you mean : Data output rate : 1/60 Hz I think it's more an advice on how to use the chip but not a specific mode to configure the chip.

I agree with you, if using a 10 min sample rate, I would use the sleep mode.

regards,

coelner commented 5 years ago

@leestephens gartfr answer is correct. the sensor can only sleep for 1000ms therefore use (as suggested) the forced mode. Could you close the issue?

leestephens commented 5 years ago

Thanks once again.