Hi!
During my work with the BNO055 chip I came across an interesting behavior for which I can’t find any explanation in the data-sheet (BST-BNO055-DS000-14 Revision 1.4 June 2016).
The problem is related to the settings of Power Mode, register 0x3e. According to my findings the value of the Operation Mode is not brought back when Power Mode goes through the transition NORMAL → SUSPEND → NORMAL.
In my test case it can be seen an Operation Mode, register 0x3d, having the value 0x0c before the transition, but 0x00 after. I would have anticipated having the 0x0c back, but not. I can’t find any documented reason for this behavior, so please give some clarification.
The data-sheet says:
3.2.3 Suspend Mode
In suspend mode the system is paused and all the sensors and the microcontroller are put
into sleep mode. No values in the register map will be updated in this mode. To exit from
suspend mode the mode should be changed by writing to the PWR_MODE register (see
Table 3-1).
And also in Table 4-8 suspend mode is mentioned;
Idle time between write accesses, suspend mode, low-power mode
tIDLE_wacc_sum 450 µs
My set-up is attached together with a communication trace.
The actual test is to be found after the heading: ######################### Test case begin #################. The initial part is output from the : ‘bno055_data_readout_template’.
Furthermore, there is an inconsistency between the recommended delay times when changing the Operation Mode in the data-sheet and your code.
The former says:
Table 3-6: Operating mode switching time
From CONFIGMODE 7ms
Any operation mode 19ms
The latter gives 20ms and 600ms, respectively.
I assume the code is correct...
Looking forward hearing from you!
Best regards,
Göran Andersson
... View more