navigator-cpp is a pure C++ hardware interface library for the
Blue Robotics Navigator
flight controller. It replaces the navigator-rs /
navigator-lib stack with direct Linux I2C, SPI and GPIO
access, and handles Navigator V1 and V2, and Raspberry Pi 4 and Pi 5,
by detecting them at runtime.
Supported devices
| Chip | Interface | Function |
|---|---|---|
| ICM-20602 / ICM-20689 | SPI | 6-axis IMU (accelerometer and gyroscope) |
| AK09915 | I2C | 3-axis magnetometer |
| MMC5983MA | SPI | 3-axis magnetometer |
| BMP280 (V1) / BMP390 (V2) | I2C | Barometer and temperature |
| ADS1115 | I2C | 4-channel 16-bit ADC |
| PCA9685 | I2C | 16-channel PWM |
| SK6812 | SPI | RGB/RGBW LED strip |
| SBUS | UART | RC receiver input (16 channels) |
| GPIO | GPIO | User LEDs and leak detector |
On macOS and Linux development machines it compiles with platform stubs, so code that uses it builds and links off the vehicle.
Getting it
MIT license. Source on GitHub.
People
Lead: Raymond Turrisi
Contributor: Jeremy Wenger
Related
- moos-ivp-spurdog, whose aft-section control runs on it