InterfaceGPS 0.1.0
Interface embarquée Qt pour navigation, multimédia, caméra et télémétrie
Chargement...
Recherche...
Aucune correspondance
mpu9250source.h
Aller à la documentation de ce fichier.
1
6#ifndef MPU9250SOURCE_H
7#define MPU9250SOURCE_H
8
9#include <QObject>
10#include <QTimer>
11#include <QElapsedTimer>
12
13class TelemetryData;
14
23class Mpu9250Source : public QObject {
24 Q_OBJECT
25public:
31 explicit Mpu9250Source(TelemetryData* data, QObject* parent = nullptr);
32
37
43 void start();
44
48 void stop();
49
50private slots:
56 void readSensor();
57
58private:
72 void madgwickUpdate(float ax, float ay, float az, float gx, float gy, float gz, float mx, float my, float mz, float dt);
73
74 // --- Paramètres matériels ---
75 TelemetryData* m_data;
76 QTimer* m_timer;
77 QElapsedTimer m_elapsedTimer;
78 int m_fileDescriptor;
79
80 // --- État du filtre ---
81 float q[4] = {1.0f, 0.0f, 0.0f, 0.0f};
82 const float beta = 0.1f;
83
84 // --- Paramètres de calibration ---
85 float m_magBias[3] = {108.0f, 144.0f, -77.0f};
86 float m_magScale[3] = {0.991251f, 1.03755f, 0.973368f};
87 float m_gyroBias[3] = {0.0f, 0.0f, 0.0f};
88};
89
90#endif // MPU9250SOURCE_H
Contrôleur matériel d'acquisition pour la centrale inertielle MPU9250.
void stop()
Arrête l'acquisition et ferme la connexion I2C.
void start()
Démarre l'acquisition matérielle.
~Mpu9250Source()
Destructeur. Assure la fermeture propre du descripteur de fichier I2C.
Classe représentant les données en temps réel du véhicule. Cette classe hérite de QObject et centrali...