I have been working with the BMX160, specifically the accelerometer and gyroscope. I have configured both these sensors as per my desired settings, and can successfully stream data from them. However, I am having a problem with the fast offset calibration (FOC), specifically with the gyroscope. When I enable FOC for accelerometer only, FOC works, but if I try to run it on both accelerometer and gyroscope, or even just gyroscope, it fails.
I have attached an example of how I have set up the device.
I have also seen this post, which describes the same problem I am seeing and has not been answered:
Like that user, if I go into the driver and increase the timeout, the FOC will succeed, but that seems to suggest that the spec sheet, and therefore the driver, may be incorrect as to how long FOC takes, at least for the gyroscope. Can someone please confirm or deny if I am correct in my conclusion that the datasheet and driver are wrong in this instance?
Solved! Go to Solution.
The datasheet says it will take a maximum of 250 ms, so I guess that is my expectation. The driver's FOC function returns an error code if it doesn't complete in that time. However it never completes in that time, and the only way this function will return BMI160_OK is if I go into the driver and change the timeout. I am just wondering if this is an error in the datasheet.