53#ifndef M5_UNIT_IMU_IMU_FILTER_FILTER_BASE_HPP
54#define M5_UNIT_IMU_IMU_FILTER_FILTER_BASE_HPP
96 virtual void update(
const float dt,
const float accel[3],
const float gyro[3],
const float* mag) = 0;
105 virtual void quaternion(
float& w,
float& x,
float& y,
float& z)
const = 0;
Framework-independent contract shared by every AHRS attitude filter.
Definition filter_base.hpp:81
virtual void quaternion(float &w, float &x, float &y, float &z) const =0
Current fused attitude.
virtual void reset()=0
Reset the internal attitude estimate (and any filter state) to identity.
virtual void update(const float dt, const float accel[3], const float gyro[3], const float *mag)=0
Fuse one IMU sample into the attitude estimate.
FilterType
Built-in AHRS filter implementations selectable via AhrsController::selectFilter.
Definition filter_base.hpp:65
@ Madgwick
Gradient-descent orientation filter (Madgwick 2010)
@ EKF
Quaternion extended Kalman filter.
@ Mahony
Explicit complementary filter with PI feedback (Mahony)
@ Fusion
Vendored x-io Fusion AHRS.
@ Complementary
Angle-based first-order complementary filter.
@ VQF
Vendored basicvqf (Versatile Quaternion-based Filter)
Top level namespace of M5Stack.
Definition ahrs_controller.cpp:26