|
HF-BNO08x
0.1.0-dev
|
Hardware-agnostic BNO08x library for Hillcrest / CEVA BNO08x sensors with full-stack, zero-thread driver support
š šš Live Complete Documentation - Interactive guides, examples, and step-by-step tutorials
HF-BNO08x is a hardware-agnostic C++ library for the Hillcrest / CEVA BNO08x family of 9-axis IMU sensors (BNO080, BNO085, BNO086). The BNO08x sensors provide fused orientation data, calibrated IMU measurements, activity detection, step counting, and gesture recognition through the SH-2 (Sensor Hub 2) protocol.
The driver uses a CRTP-based communication interface design, allowing it to run on any platform (ESP32, STM32, Arduino, etc.) with zero runtime overhead. It provides access to all SH-2 sensor reports including rotation vectors, accelerometer, gyroscope, magnetometer, step counter, tap detector, and more. The driver also supports RVC (Robot Vacuum Cleaner) mode for simplified UART streaming and DFU (Device Firmware Update) for firmware updates.
CommInterface works with any I²C, SPI, or UART implementationUpdate() in your loop, ISR, or RTOS taskVector3, Quaternion, SensorEvent) with SI unitsFor detailed setup, see Installation and Quick Start Guide.
For detailed installation instructions, see docs/installation.md.
| Method | Description |
|---|---|
Begin() | Initialize the sensor |
EnableSensor() | Enable periodic reporting for a sensor |
DisableSensor() | Disable reporting for a sensor |
Update() | Pump the SH-2 service loop |
SetCallback() | Register callback for sensor events |
GetLatest() | Get most recent event for a sensor |
HasNewData() | Check if new data is available |
For complete API documentation, see docs/api_reference.md.
For ESP32 examples, see the examples/esp32 directory.
Detailed example walkthroughs are available in docs/examples.md.
For complete documentation, see the docs directory.
Pull requests and suggestions are welcome! Please follow the existing code style and include tests for new features.
By contributing you agree your code is released under the same GPLv3 license.