1#ifndef __MAHONY_FILTER_H__
2#define __MAHONY_FILTER_H__
10#define sampleFreq 200.0f
11#define twoKpDef (2.0f * 0.05f)
12#define twoKiDef (2.0f * 0.001f)
22 MahonyFilter(
float filterSample,
float twoPropGain,
float twoInteGain);
24 void getAngle(
float* roll,
float* pitch,
float* yaw,
float g[3]);
32 void readRawData(
float a[3],
float g[3],
float m[3]);
56 void setKi(
float twokiSet);
58 void setKp(
float twokpSet);
73 std::atomic<float> gx_out;
74 std::atomic<float> gy_out;
75 std::atomic<float> gz_out;
82 std::atomic<float> roll;
83 std::atomic<float> pitch;
84 std::atomic<float> yaw;
99 MahonyFilterIns(MahonyFilterIns_),
100 MPU6050Ins(MPU6050Ins_) {};
Definition CppThread.hpp:20
Definition MahonyFilter.h:94
MahonyFilterThread(MahonyFilter &MahonyFilterIns_, MPU6050 &MPU6050Ins_)
Definition MahonyFilter.h:98
void run() override
Definition MahonyFilterThread.cpp:8
Definition MahonyFilter.h:14
void getAngle(float *roll, float *pitch, float *yaw, float g[3])
Definition MahonyFilter.cpp:331
void MahonyAHRSupdateIMU()
Definition MahonyFilter.cpp:242
void MahonyAHRSupdate()
Definition MahonyFilter.cpp:134
void readRawData(float a[3], float g[3], float m[3])
Definition MahonyFilter.cpp:40
MahonyFilter()
Definition MahonyFilter.cpp:8
void setKi(float twokiSet)
Definition MahonyFilter.cpp:73
float invSqrt(float x)
Definition MahonyFilter.cpp:320
std::array< float, 3 > getAngleTest()
Definition MahonyFilter.cpp:106
void setFrequency(float f)
Definition MahonyFilter.cpp:67
std::function< void(float, float, float, float[3])> CallbackFunction
Definition MahonyFilter.h:18
bool isDataReady()
Definition MahonyFilter.cpp:86
void setCallbackB(CallbackFunction callback)
Definition MahonyFilter.cpp:99
void getAngleRate(float g[3])
void setCallbackA(CallbackFunction callback)
Definition MahonyFilter.cpp:93
void setKp(float twokpSet)
Definition MahonyFilter.cpp:79