Campus Serre  1.0
BTS SN-IR La Salle Avignon 2018
telemetrie.h
Aller à la documentation de ce fichier.
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 
 Tout Classes Fichiers Fonctions Variables Macros