04-30-2019 01:43 PM
Hello, I am using BSX Lite library on BMF055.
There are three different functions returning accuracy values related to orientation/magnetometer.
- bsx_get_magcalibaccuracy
- bsx_get_orient_datastatus
- bsx_get_magcalibprofile (returns a structure with 'accuracy' member)
There are many instances where each of these accuracy values don't match. All three with three different values.
In one of the instances -
- value from bsx_get_orient_datastatus is 3
- value from bsx_get_magcalibprofile is 0
- value from bsx_get_magcalibaccuracy is 2
My understanding is that all these values should match. They are called around the same time.
Can you please clarify?
Thanks.
Solved! Go to Solution.
05-06-2019 10:10 AM
Any clarification/help would be appreciated.
05-07-2019 09:59 AM
bsx_get_magcalibaccuracy and the accuracy from bsx_get_magcalibprofile should be the same. If it is less than 3/3, I would personally not trust this heading too much. Once it reaches 3/3, it should only get out of a calibrated state if there is a magnetic disturbance.
bsx_get_orient_datastatus is a bit different since it takes into account also the gyroscope and accelerometer. This is more likely to be <3, but if you are interested in heading accuracy, the magnetometer accuracy indicator is what you need.
@janakiram wrote:
My understanding is that all these values should match. They are called around the same time.
"around the same time" doesn't really mean much. Like I said earlier, if the mag accuracy does not stay at 3/3, you should find a better placement for the sensor without disturbances.