Data Sheet
October 2017 BNO080 Datasheet 1000-3927
www.hillcrestlabs.com © 2017 Hillcrest Laboratories, Inc. All rights reserved. 27 / 57
Byte
Description
0
Report ID = 0xFD
1
Feature Report ID
2
Feature flags
3
Change sensitivity [absolute | relative] LSB
4
Change sensitivity [absolute | relative] MSB
5
Report Interval LSB
6
Report Interval
7
Report Interval
8
Report Interval MSB
9
Batch Interval LSB
10
Batch Interval
11
Batch Interval
12
Batch Interval MSB
13
Sensor-specific configuration word LSB
14
Sensor-specific configuration word
15
Sensor-specific configuration word
16
Sensor-specific configuration word MSB
Figure 1-33: Set Feature command
The host can request a feature report for a particular sensor (Get Feature command) to which the BNO080 will
respond with a Get Feature Response. This can be used to verify the configuration of a sensor. A Get Feature
Response is also issued by the BNO080 whenever the sensor’s operating mode changes which can occur due to
the host issuing a Set Feature command or because the internal rates changed due to events within the BNO080.
1.4.5.1 Batching
Batching is a power management feature added to Android Lollipop. The concept is that the application processor
receives data in batches hence avoiding the constant processing of sensor data. This delay in processing allows
the processor to do more useful work until sufficient sensor data has accumulated for the task for which the
sensor data was requested. In addition when the application processor sleeps, sensor data can accumulate in a
batch buffer and be used to wake the processor when sufficient data has accumulated.
To facilitate the batching the BNO080 provides two batch queues. The higher priority queue is for wake sensors
and the other for all remaining enabled sensors (described as always-on in [1]). The batch interval in the set
feature command indicates how many microseconds must pass before the batch is sent to the host. If the
application processor is asleep it will be woken when the wake queue reaches the programmed interval. At that
point all data from both queues will be pushed to the host. Data in the non-wake queue will be allowed to be lost,
oldest data first in the event the application processor is sleeping. A sensor is designated as a wake sensor by a
flag in the feature flags field.
Note that the BNO080 only supports one batch queue per type of sensor. If a sensor is configured as a wake
sensor it cannot also be marked as a non-wake sensor (always-on).
1.4.5.2 Example sensor report
All input reports have a similar format ([1] provides full details). The calibrated gyroscope output is an example:
Byte
Description
0
Report ID = 0x02
1
Sequence number
2
Status
3
Delay
4
Gyroscope calibrated Axis X LSB
5
Gyroscope calibrated Axis X MSB