[bmp388] Initialize multiple times with delay

This commit is contained in:
Niklas Hauser
2025-05-15 17:11:55 +02:00
committed by Niklas Hauser
parent cff5ecfd88
commit 56d53b60c0
+10 -1
View File
@@ -71,11 +71,20 @@ IBMP388 *bmp388_i2c_interface(uint8_t busnum, uint32_t device, int bus_frequency
BMP388_I2C::BMP388_I2C(uint8_t bus, uint32_t device, int bus_frequency) : BMP388_I2C::BMP388_I2C(uint8_t bus, uint32_t device, int bus_frequency) :
I2C(DRV_BARO_DEVTYPE_BMP388, MODULE_NAME, bus, device, bus_frequency) I2C(DRV_BARO_DEVTYPE_BMP388, MODULE_NAME, bus, device, bus_frequency)
{ {
_retries = 1;
} }
int BMP388_I2C::init() int BMP388_I2C::init()
{ {
return I2C::init(); for (int i = 0; i < 10; i++) {
if (I2C::init() == OK) {
return OK;
}
px4_usleep(10000);
}
return PX4_ERROR;
} }
int BMP388_I2C::get_reg(uint8_t addr, uint8_t *value) int BMP388_I2C::get_reg(uint8_t addr, uint8_t *value)