06-07-2022 10:51 AM - edited 06-07-2022 10:52 AM
Hi,
I'm using a BMI088 on the I2C bus of an embedded board. I'm using the BOSCH's driver from Github and everything works correctly, except the call to the function `bmi08a_load_config_file` that invalidates the status of the IMU, and I must reset it.
If I remove the code relative to the function `bmi08a_load_config_file`from the examples (e.g. https://github.com/BoschSensortec/BMI08x-Sensor-API/blob/master/examples/read_sensor_data/read_senso...), I can get the data from the IMU with no problems.
I used other BOSCH's IMUs in the past and the load of the config file was a procedure explicitly documented in the datasheet, while the datasheet of the BMI088 does not speak about it.
Can someone provide me with more information?
Thank you
Walter
06-07-2022 11:31 AM
Hi Myzhar,
Could we know more detailed information about "the call to the function `bmi08a_load_config_file` that invalidates the status of the IMU"?
06-07-2022 12:54 PM - edited 06-07-2022 12:56 PM
It depends on the value used for the parameter `read_write_len`. Using the default value `46` in `common.c` the IMU enters in not valid status and does not reply to the following commands.
Instead, if I set a lower value (max 16) the `bmi08a_load_config_file` function fails with error code -6, but the IMU stays in valid status and continues to reply to the following commands.
06-07-2022 05:01 PM
I can confirm that bmi08a_load_config_file is successful (returns 0) when using the SPI interface and a read_write_len of 32. However, I have found that use of bmi08a_load_config_file results in extremely poor accelerometer performance (as described in this post), I don't know if these issue are related - the commonality is that things go wrong when we load the config file and work fine when we don't.
06-07-2022 05:40 PM
I'm using the I2C interface and I cannot use a `read_write_len` value higher than 16 otherwise I get the following list of I2C errors and the IMU stops working:
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
I2C write error:: Remote I/O error
bmi08a_load_config_file Error [-2] : Communication failure
IMU initilization failed
What I cannot understand is why this behavior is not documented on the datasheet and only firmware code exists for it...