10#ifndef M5_UNIT_IMU_IMU_FILTER_FUSION_HPP
11#define M5_UNIT_IMU_IMU_FILTER_FUSION_HPP
20#include "third_party/fusion/FusionAhrs.h"
66 virtual void reset()
override;
67 virtual void update(
const float dt,
const float accel[3],
const float gyro[3],
const float* mag)
override;
68 virtual void quaternion(
float& w,
float& x,
float& y,
float& z)
const override;
81 return _settings.gain;
105 bool writeQuaternion(
const float w,
const float x,
const float y,
const float z);
108 ::FusionAhrsSettings _settings{};
109 ::FusionAhrs _ahrs{};
Framework-independent contract shared by every AHRS attitude filter.
Definition filter_base.hpp:81
Adapter around the vendored x-io Fusion AHRS algorithm (x-io Technologies, MIT license; see src/imu/f...
Definition fusion.hpp:62
virtual void reset() override
Reset the internal attitude estimate (and any filter state) to identity.
Definition fusion.cpp:31
bool writeGain(const float gain)
Set the AHRS feedback gain (FusionAhrsSettings.gain)
Definition fusion.cpp:84
virtual void update(const float dt, const float accel[3], const float gyro[3], const float *mag) override
Fuse one IMU sample into the attitude estimate.
Definition fusion.cpp:38
virtual void quaternion(float &w, float &x, float &y, float &z) const override
Current fused attitude.
Definition fusion.cpp:70
bool startupInProgress() const
Whether Fusion's startup ramp is still in progress.
Definition fusion.cpp:79
bool writeQuaternion(const float w, const float x, const float y, const float z)
Overwrite the current attitude estimate directly.
Definition fusion.cpp:94
float readGain() const
Current feedback gain.
Definition fusion.hpp:79
Common contract for AHRS attitude filters.
Top level namespace of M5Stack.
Definition ahrs_controller.cpp:26