Der Bosch Sensortec Team
I'm testing a BNO055 shuttle board and I'm trying to reuse my calibration values after a Reset/Power-on.
To obtain the calibration values I run the BNO55 in NDOF mode and perform the calibration as described in this video.
I poll the calibration status registers with the corresponding function from the bno055.c driver:
bno055_get_accel_calib_stat(&a_status); bno055_get_gyro_calib_stat(&g_status); bno055_get_mag_calib_stat(&m_status);
and wait until all status register report status == 3.
To read out the calibration values, I set the BNO055 in CONFIG mode and call the function:
(same for gyro and mag) from the driver file. The calibration offsets are stored in non-volatile memory.
After a reset/power-on of the sensor I reconfigure the BNO055 using the previously obtained offsets by setting the operation mode to CONFIG mode, and write the offset values with:
(same for gyro and mag). No error is reported from the driver.
Howerver, when putting the BNO055 into NDOF mode and then checking the calibration status registers with bno055_get_accel_calib_stat(...) (same for gyro, mag and system) I obtain these values:
How can it be that the magnetometer is not configured after writing the corresponding offset values with the driver function? How is the system calibrated (system calib status = 3) but the the magnetometer remains uncalibrated?
Thank you for your support.
Solved! Go to Solution.
the system calibration status is 3 means the save and load of offset values are proceed correctly.
The saved parameters are only the estimated offset value.
So the default magnetic calibration status is still starts as 0 which means we need to recalculate the magnetic calibration status.
The sensor calibration module are always running in background, so it will not affect the sensor output after loading the offset parameters.