🎯 RocketGroundStation est une application Qt/C++ permettant de visualiser en temps réel les données de télémétrie d'une fusée expérimentale via une liaison série. L'interface offre une lecture claire des paramètres GNSS, barométriques, d'accélération et de gyroscope, accompagnée de graphiques dynamiques.
-
Connexion série en temps réel
-
Vérification CRC8 des trames
-
Affichage graphique de :
- Accélérations (X, Y, Z)
- Gyroscopes (X, Y, Z)
- Pression (hPa)
- Altitude GNSS / barométrique
-
Statuts dynamiques (GNSS Fix, CRC, Flight Status)
-
Compatible avec le mode clair et sombre
-
Log CSV automatique des données reçues
Chaque trame est transmise sous forme binaire sur le port série et suit la structure suivante :
+------------+------------+---------------------+--------------+
| Start Byte | CRC8 | Payload | End Byte |
| (0xEE) | (1 byte) | (NbTrame = 38B) | (ignored) |
+------------+------------+---------------------+--------------+
-
Start Byte: toujours 0xEE -
CRC: calculé sur lePayloaduniquement -
Payload(taille fixée à 38 octets) contient :- Latitude (float)
- Longitude (float)
- Altitude GNSS (int32_t)
- Altitude baro (float)
- Pression (float)
- Température (float)
- Acc X/Y/Z (float x3)
- Gyro X/Y/Z (float x3)
- GNSS Fix (uint8_t)
- GNSS Fix Type (uint8_t)
- Flight Status (uint8_t)
Le CRC est validé via :
uint8_t receivedCrc = frame.at(1);
QByteArray receivedData = frame.mid(2, NbTrame);
uint8_t calculatedCrc = calculate_crc8(receivedData);L'application Qt utilise les composants suivants :
QSerialPortpour la communication sérieQChart(QtCharts) pour l'affichage des courbesQDateTimeAxispour les axes X en temps réel- Gestion automatique du thème sombre ou clair selon le système
Un fichier CSV est généré automatiquement au lancement dans un dossier dédié :
Timestamp;Frame;Sts;Lat;Lon;Altitude;Pressure;Temperature;Acceleration X;Acceleration Y;Acceleration Z;Gyro X;Gyro Y;Gyro Z
- Qt 5.15+ ou Qt 6
- Module QtCharts
Projet open-source sous licence MIT. Utilisable librement dans un cadre éducatif ou amateur.