M5Unit-IMU 0.0.2 git rev:e5b00aa
Loading...
Searching...
No Matches
M5UnitUnifiedIMU.hpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2026 M5Stack Technology CO LTD
3 *
4 * SPDX-License-Identifier: MIT
5 */
13#ifndef M5_UNIT_UNIFIED_IMU_HPP
14#define M5_UNIT_UNIFIED_IMU_HPP
15
16#include "imu/imu_types.hpp"
18#include "imu/axis_order.hpp"
20#include "imu/ahrs_imu.hpp"
21#include "imu/presets.hpp"
22#include "imu/mag_detect.hpp"
23#include "imu/imu_detect.hpp"
27#include "imu/filter/mahony.hpp"
28#include "imu/filter/ekf.hpp"
29#include "imu/filter/fusion.hpp"
30#include "imu/filter/vqf.hpp"
31#include "unit/unit_mpu6xxx.hpp"
32#include "unit/unit_mpu6886.hpp"
33#include "unit/unit_mpu6050.hpp"
34#include "unit/unit_mpu6500.hpp"
35#include "unit/unit_mpu9250.hpp"
36#include "unit/unit_bmm150.hpp"
37#include "unit/unit_bmm350.hpp"
38#include "unit/unit_bmi270.hpp"
40#include "unit/unit_ak8963.hpp"
41#include "unit/unit_mag3110.hpp"
42#include "unit/unit_sh200q.hpp"
43#include "unit/unit_dof9.hpp"
44#include "unit/unit_dof10.hpp"
46
51namespace m5 {
52
57namespace unit {
58
63// Add product-name aliases here as needed (e.g. UnitDoF10)
64
65} // namespace unit
66} // namespace m5
67#endif
Layer-2 AHRS controller: merges IMUDataSource capabilities and drives an AhrsFilterBase.
M5Unified-compatible facade over AhrsController.
Per-source axis permutation and inversion applied to raw-to-physical IMU samples.
6-axis (accel + gyro) IMU unit. CoreS3/AtomS3R built-in
Definition unit_bmi270.hpp:34
TDK InvenSense MPU-6886 6-axis IMU (accel + gyro + temp). WHO_AM_I 0x19.
Definition unit_mpu6886.hpp:22
Angle-based first-order complementary AHRS filter.
Quaternion extended Kalman filter AHRS orientation filter.
Common contract for AHRS attitude filters.
Adapter around the vendored x-io Fusion AHRS algorithm.
Public interface for IMU data providers.
Framework-agnostic detection of a classic/host built-in accel+gyro IMU.
Common types for M5Unit-IMU.
Gradient-descent AHRS orientation filter (Madgwick 2010)
Framework-agnostic detection of a classic M5Stack built-in magnetometer.
Explicit complementary filter with PI feedback (Mahony et al. 2008)
Top level namespace of M5Stack.
Definition ahrs_controller.cpp:26
Unit-related namespace.
Board-specific AhrsController setup for M5Stack products with a built-in IMU, and for the GROVE units...
UnitAK8963 (3-axis magnetometer) unit component.
UnitBMI270 (6-axis IMU) unit component.
UnitBMI270AuxBMM150 (BMI270 driving a magnetometer over its auxiliary interface)
UnitBMM150 (3-axis magnetometer) unit component.
UnitBMM350 (3-axis magnetometer, U231) unit component.
UnitDoF10 (U230): 10-axis composite = BMI270 (accel/gyro) + BMM350 (mag) + SPA06 (baro)
UnitDoF9 (U229): 9-axis composite = BMI270 (accel/gyro) + BMM350 (mag)
UnitMAG3110 (3-axis magnetometer) unit component.
UnitMiniIMUPro (U171): 10-axis composite = BMI270 (accel/gyro) + BMM150 (mag) + BMP280 (baro)
UnitMPU6050 (TDK InvenSense 6-axis IMU)
UnitMPU6500 (TDK InvenSense 6-axis IMU core)
UnitMPU6886 (TDK InvenSense 6-axis IMU). UnitMiniIMU and Core2/StickC built-in.
UnitMPU6xxx: shared base for the InvenSense MPU 6-axis family.
UnitMPU9250: InvenSense MPU-9250 = MPU-6500 (accel/gyro) + AKM AK8963 (mag)
UnitSH200Q (6-axis accel + gyro) unit component.
Adapter around the vendored VQF (Versatile Quaternion-based Filter) algorithm.