11-15-2021 11:11 PM
Hello,
We’ve been using the BMP280 in one of our products for a few years now, but we recently had an issue with a batch of sensors.
Upon investigating, we found that our software wasn’t allowing sufficient time between transmitting the “reset” command to the sensor, and then reading the sensor’s calibration data.
What is the minimum time we should be allowing for this? A value of 2ms seems to work, but I can’t find where this is actually specified?
Solved! Go to Solution.
11-16-2021 02:49 AM
Hello ChrisHubbard,
2ms is the reference value after our test, which you can see in the API.
/*!
* @brief This API triggers the soft reset of the sensor.
*/
int8_t bmp280_soft_reset(const struct bmp280_dev *dev)
{
int8_t rslt;
uint8_t reg_addr = BMP280_SOFT_RESET_ADDR;
uint8_t soft_rst_cmd = BMP280_SOFT_RESET_CMD;
rslt = null_ptr_check(dev);
if (rslt == BMP280_OK)
{
rslt = bmp280_set_regs(®_addr, &soft_rst_cmd, 1, dev);
/* As per the datasheet, startup time is 2 ms. */
dev->delay_ms(2);
}
return rslt;
}
11-17-2021 04:41 AM
Thank you for your reply to my post.
I've looked at the data sheet, but can't find the reference to the 2ms start up time. Where exactly does it say this?
11-17-2021 06:30 AM
Hello ChrisHubbard,
No special document described it. Just refer to BMP280 sensor API.