Thanks much for porting the library. In the use of it, what is the best way to put the BNO055 to sleep / or how the manual states, ‘suspend’? I did not notice such a function in the library so I figure using something such as the following would work?
3.2.1 Normal Mode
In normal mode all sensors required for the selected operating mode (see section 3.3) are always switched ON. The register map and the internal peripherals of the MCU are always operative in this mode.
3.2.2 Low Power Mode
If no activity (i.e. no motion) is detected for a configurable duration (default 5 seconds), the BNO055 enters the low power mode. In this mode only the accelerometer is active. Once motion is detected (i.e. the accelerometer signals an any-motion interrupt), the system is woken up and normal mode is entered. The following settings are possible.
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).
So to save battery power, use something like this before a sleep cycle? (0x02)
Wire.beginTransmission(0x28); //Start I2C transmission - BNO055 I2C address is 0x28(40)
Wire.write(0x3E);// Select PWR_MODE register
Wire.write(0x00);// Power modes selection: 0x00 = Normal, 0x01 = Low Power, 0x02 = Suspend Mode
Wire.endTransmission();// Stop I2C transmission