InterfaceGPS 0.1.0
Interface embarquée Qt pour navigation, multimédia, caméra et télémétrie
Chargement...
Recherche...
Aucune correspondance
telemetrydata.cpp
Aller à la documentation de ce fichier.
1
9#include "telemetrydata.h"
10#include <QtGlobal>
11#include <QtMath>
12
13TelemetryData::TelemetryData(QObject* parent) : QObject(parent)
14{
15 // L'initialisation se fait via les valeurs par défaut dans le fichier d'en-tête (.h)
16}
17
18void TelemetryData::setSpeedKmh(double v) {
19 // qFuzzyCompare est utilisé pour comparer des nombres à virgule flottante (double)
20 // afin d'éviter des faux positifs liés aux imprécisions mathématiques de l'ordinateur.
21 if (qFuzzyCompare(m_speedKmh, v)) return;
22
23 m_speedKmh = v;
24 emit speedKmhChanged(); // Notifie l'UI (QML/C++) de la nouvelle valeur
25}
26
27void TelemetryData::setGpsOk(bool v) {
28 // Si la valeur est identique à l'actuelle, on ne fait rien
29 if (m_gpsOk == v) return;
30
31 m_gpsOk = v;
32 emit gpsOkChanged();
33}
34
35void TelemetryData::setLat(double v) {
36 if (qFuzzyCompare(m_lat, v)) return;
37
38 m_lat = v;
39 emit latChanged();
40}
41
42void TelemetryData::setLon(double v) {
43 if (qFuzzyCompare(m_lon, v)) return;
44
45 m_lon = v;
46 emit lonChanged();
47}
48
49void TelemetryData::setHeading(double v) {
50 if (qFuzzyCompare(m_heading, v)) return;
51
52 m_heading = v;
53 emit headingChanged();
54}
void latChanged()
Notifie une mise à jour de latitude.
void lonChanged()
Notifie une mise à jour de longitude.
void headingChanged()
Notifie une mise à jour de cap/heading.
void speedKmhChanged()
Notifie une mise à jour de la vitesse véhicule (km/h).
TelemetryData(QObject *parent=nullptr)
Constructeur par défaut de TelemetryData.
void gpsOkChanged()
Notifie un changement d'état de validité GPS (fix disponible ou non).
Rôle architectural : Modèle central de télémétrie partagé entre les modules C++ et l'interface QML.