|
M5Unit-IMU 0.0.2 git rev:e5b00aa
|
Unit Mini IMU-Pro (U171): BMI270 (0x68, fixed – no address switch) + BMP280 (0x76) on the GROVE main bus, with a BMM150 magnetometer wired to the BMI270's AUX interface (ASDX/ASCX), not to the main bus. The predecessor of Unit DoF9/DoF10, with a BMM150/BMP280 instead of the BMM350/SPA06. More...
#include <unit_mini_imu_pro.hpp>
Public Member Functions | |
| UnitMiniIMUPro (const uint8_t bmi_addr=0x68) | |
| Construct with the BMI270's I2C address (the composite children derive from this) | |
| virtual | ~UnitMiniIMUPro () |
| Destructor. | |
| UnitBMI270 & | imu () |
| Accel/gyro/mag sub-unit (add to an AhrsController; the magnetometer arrives through this unit's AUX BMM150 bridge, so there is no separate mag sub-unit) | |
| UnitBMP280 & | baro () |
| Barometer sub-unit (read directly; not AHRS-fused) | |
| virtual bool | begin () override |
| Begin: children are begun by the framework (all on the shared bus, any order) | |
Protected Member Functions | |
| virtual std::shared_ptr< Adapter > | ensure_adapter (const uint8_t ch) override |
Unit Mini IMU-Pro (U171): BMI270 (0x68, fixed – no address switch) + BMP280 (0x76) on the GROVE main bus, with a BMM150 magnetometer wired to the BMI270's AUX interface (ASDX/ASCX), not to the main bus. The predecessor of Unit DoF9/DoF10, with a BMM150/BMP280 instead of the BMM350/SPA06.
Because the BMM150 hangs off the BMI270's AUX bridge – the same topology as CoreS3 and AtomS3R – imu() alone provides all nine axes (UnitBMI270AuxBMM150 probes and drives the AUX BMM150, and reports Capability::Mag once it answers). Add imu() to an AhrsController; read baro() directly (it is not AHRS-fused). The barometer driver (UnitBMP280) comes from M5Unit-ENV.
|
explicit |
Construct with the BMI270's I2C address (the composite children derive from this)
| [in] | bmi_addr | BMI270 I2C address (defaults to 0x68) |