04-09-2020 02:06 AM
1. Running BNO055 with a host processor.
2. Adjust chip orientation so that all cal flags reach '3'
3. Set OPR_MODE to CONFIGMODE(0) so I can read the calibration registers.
4. Read out registers [0x55,0x6A]
All values seem reasonable except for MAG_RADIUS and ACC_RADIUS which are always zero. Is that typical?
BNO firmware register reads 0x3, 0x11. [ SW_REV_ID_MSB = 0x3 - SW_REV_ID_LSB = 0x11 ].
So I assume the BNO firmware is version 3.11 (or 3.17, not sure yet).
04-11-2020 12:26 AM
0x00 is the default value of radius and if you don't change the radius before you enter the operation mode, it should keep 0.
In datasheet page 49 descrbe the relationship between the offset value in the register area and also the radius.
You need to match them every time you do the calibration, store the offset value then restore it.
So the correct procedure should be:
1. enter the configure mode
2. set the proper radius you want
3. calibrate the device
4. read out the offset value from register
5. store the offset and responded radius at host side
6. when system reset, write back the radius and offset value to responded register under configure mode
7. set device to desired operation mode