09-22-2020 05:41 PM
Hello,
i am using some BMI085 on i2c with the following configurations:
ACCEL_RANGE = 4G
ODR=50Hz
BW=12Hz
I recognized in our application, that the accelerometer values x,y,z get stuck for 2 or 3 readout (read every 20ms) and sometimes even several 100ms. This happens in every second and it does not matter if i read out interrupt driven (NEW_DATA_INT) or with not configured interrupt.
I did not configured any FIFO.
I can not figure out why this happens, but it happens with all 4 BMI085 chips i have available in 2 different HW devices.
I tried also the BMI08x-Sensor_API-master from 30.06.2020, to take out possible bugs from my application software, but there it is even worse. The 3 axis show constant values for ~1.1seconds. This means i get only every ~1.1second new data, but need to have it at least with 50Hz.
So i extended the read of the x,y,z axis by reading the 3 next bytes holding the sensortime. The sensortime is changing by every read, so this should not be a i2c problem.
In the attached screenshot you see in the columns from left to right:
1 time
2 accel_x_raw
3 accel_y_raw
4 accel_z_raw
5 sensortime_byte_1
6 sensortime_byte_2
7 sensortime_byte_3
Do you have any ideas how this behavior is possible and how to solve it.
Best regards,
Jens
10-01-2020 01:56 AM
Hello,
Did you try to test with COINES library?
There is BMI085.h and BMI085.C and some example code for BMI085.
https://www.bosch-sensortec.com/software-tools/tools/coines/#coines
If you download COINES, there is sensor read example code as below path
C:\COINES\v2.2\examples\c\bmi08x\read_sensor_data\bmi08x_read_sensor_data.c
I can get data without delay, so could you please test with this example?
You need to change some code if you are using your own board, not Bosch application board.
Thank you.
Minhwan Oh