M5Unit-IMU 0.0.2 git rev:e5b00aa
Loading...
Searching...
No Matches
m5::unit::UnitMiniIMUPro Class Reference

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>

Inheritance diagram for m5::unit::UnitMiniIMUPro:

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
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ UnitMiniIMUPro()

m5::unit::UnitMiniIMUPro::UnitMiniIMUPro ( const uint8_t bmi_addr = 0x68)
explicit

Construct with the BMI270's I2C address (the composite children derive from this)

Parameters
[in]bmi_addrBMI270 I2C address (defaults to 0x68)