|
Campus Serre
1.0
BTS SN-IR La Salle Avignon 2018
|
00001 #ifndef TELEMETRIE_H 00002 #define TELEMETRIE_H 00003 00004 #include "gestionPort.h" 00005 #include <QString> 00006 #include <QVector> 00007 00025 // La structure de données pour une mesure 00026 typedef struct 00027 { 00028 // Horodatage 00029 QString date; 00030 QString heure; 00031 // Echantillons mesure 00032 double temperatureAir; //T -> température air 00033 double temperatureSol; //S -> température sol 00034 double hygrometrieSol; //H -> hygromètrie sol 00035 double hygrometrieAir; //A -> hygromètrie air 00036 double vitesseVent; //V -> vitesse vent 00037 int directionVent; //D -> direction vent 00038 // Etats 00039 int ouvrant; //X -> velux(% ouverture) 00040 bool vanne; //N -> vanne(ouvert/fermé) 00041 bool chauffage; //C -> chauffe (ouvert/fermé) 00042 } Mesure; 00043 00044 class Telemetrie : public QObject 00045 { 00046 Q_OBJECT 00047 00048 private: 00049 GestionPort* gestionPort; 00050 QVector<Mesure> mesures; 00051 Mesure mesure; 00052 bool etatErreur; 00058 bool convertirDonnees(QString trame); 00059 00060 public: 00061 Telemetrie(GestionPort* gestionPort = 0, QObject *parent = 0); 00062 ~Telemetrie(); 00063 00068 bool getEtatErreur(); 00069 00074 double getTemperatureAir(); 00075 00080 double getTemperatureSol(); 00081 00086 double getHygrometrieSol(); 00087 00092 double getHygrometrieAir(); 00093 00098 double getVitesseVent(); 00099 00104 int getDirectionVent(); 00105 00110 int getEtatOuvrant(); 00111 00116 bool getEtatVanne(); 00117 00122 bool getEtatChauffage(); 00123 00124 00130 void enregistrerMesure(); 00131 00138 Mesure getMesure(); 00139 00146 QVector<Mesure> getMesures(); 00147 00153 void purgerMesures(); 00154 00155 signals: 00160 void nouvellesDonnees(); 00161 00162 public slots: 00167 void traiterTrame(QString trame); 00168 }; 00169 00170 00171 #endif // TELEMETRIE_H 00172
1.7.6.1