24#ifndef TAPROOT_ABSTRACT_IMU_HPP_
25#define TAPROOT_ABSTRACT_IMU_HPP_
56 virtual void initialize(
float sampleFrequency,
float mahonyKp,
float mahonyKi);
Definition MahonyAHRS.h:31
float getPitch() const
Definition MahonyAHRS.h:78
float getRoll() const
Definition MahonyAHRS.h:77
float getYaw() const
Definition MahonyAHRS.h:79
Definition periodic_timer.hpp:42
Definition abstract_imu.hpp:45
tap::algorithms::transforms::Transform mountingTransform
Definition abstract_imu.hpp:127
int offsetSampleCount
Definition abstract_imu.hpp:133
virtual ~AbstractIMU()=default
ImuState imuState
Definition abstract_imu.hpp:131
mockable float getGx() const override
Definition abstract_imu.hpp:89
virtual void initialize(float sampleFrequency, float mahonyKp, float mahonyKi)
Definition abstract_imu.cpp:27
mockable float getGz() const override
Definition abstract_imu.hpp:91
mockable float getGy() const override
Definition abstract_imu.hpp:90
void setMountingTransform(const Transform &transform)
Definition abstract_imu.cpp:44
ImuData imuData
Definition abstract_imu.hpp:135
mockable float getAx() const override
Definition abstract_imu.hpp:84
virtual float getRoll() const override
Definition abstract_imu.hpp:97
void computeOffsets()
Definition abstract_imu.cpp:83
virtual void periodicIMUUpdate()
Definition abstract_imu.cpp:49
virtual float getYaw() const override
Definition abstract_imu.hpp:95
virtual float getPitch() const override
Definition abstract_imu.hpp:96
virtual ImuState getImuState() const
Definition abstract_imu.hpp:82
tap::arch::PeriodicMicroTimer readTimeout
Definition abstract_imu.hpp:137
AbstractIMU(const Transform &mountingTransform=Transform::identity())
Definition abstract_imu.hpp:47
void resetOffsets()
Definition abstract_imu.cpp:67
virtual float getAccelerationSensitivity() const =0
mockable float getAz() const override
Definition abstract_imu.hpp:86
mockable float getTemp() const
Definition abstract_imu.hpp:93
Mahony mahonyAlgorithm
Definition abstract_imu.hpp:129
void applyTransform(ImuData &data)
Definition abstract_imu.hpp:119
uint32_t prevIMUDataReceivedTime
Definition abstract_imu.hpp:139
void setCalibrationSamples(int sampleCount)
Definition abstract_imu.hpp:111
int calibrationSample
Definition abstract_imu.hpp:132
mockable float getAzMinusG() const
Definition abstract_imu.hpp:87
void setAccelOffset(float x, float y, float z)
Definition abstract_imu.cpp:73
mockable float getAy() const override
Definition abstract_imu.hpp:85
virtual void requestCalibration()
Definition abstract_imu.cpp:34
void setGyroOffset(float x, float y, float z)
Definition abstract_imu.cpp:78
Definition imu_interface.hpp:33
ImuState
Definition imu_interface.hpp:39
Definition abstract_imu.cpp:26
constexpr float GRAVITY_MPS2
Definition abstract_imu.hpp:40
Definition abstract_imu.hpp:100
tap::algorithms::transforms::Vector accOffsetRaw
Definition abstract_imu.hpp:103
tap::algorithms::transforms::Vector gyroRadPerSec
Definition abstract_imu.hpp:106
float temperature
Definition abstract_imu.hpp:108
tap::algorithms::transforms::Vector accG
Definition abstract_imu.hpp:105
tap::algorithms::transforms::Vector gyroOffsetRaw
Definition abstract_imu.hpp:104
tap::algorithms::transforms::Vector accRaw
Definition abstract_imu.hpp:101
tap::algorithms::transforms::Vector gyroRaw
Definition abstract_imu.hpp:102
#define mockable
Wrap class functions that are not already virtual in this function if you wish to mock them.
Definition util_macros.hpp:38