Trinity Devboard PCB V1.0 Firmware. FreeRTOS is setup and the MCU reads IMU data over SPI fand Magnetometer data over I2C, each with a seperate task. Sensordata is then run though MadgwickAHRS and send over USB as serial packet data to use in trinity visualizer. Bare minimum functionality works and is replicated from the first prototype.
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
#ifndef MADGWICK_FILTER_H
|
||||
#define MADGWICK_FILTER_H
|
||||
|
||||
typedef struct {
|
||||
float q[4]; // Quaternion: [qw, qx, qy, qz]
|
||||
float beta; // Filter gain (tunes correction strength)
|
||||
float sampleFreq; // Sampling frequency in Hz
|
||||
} MadgwickFilter;
|
||||
|
||||
void MadgwickFilter_Init(MadgwickFilter* filter, float sampleFreq, float beta);
|
||||
void MadgwickFilter_Update(MadgwickFilter* filter, float gx, float gy, float gz,
|
||||
float ax, float ay, float az);
|
||||
void MadgwickFilter_GetEulerAngles(MadgwickFilter* filter, float* roll, float* pitch, float* yaw);
|
||||
|
||||
#endif /* MADGWICK_FILTER_H */
|
||||
Reference in New Issue
Block a user