Projet ROV'NET  1.0
BTS SN 2019
Connecteurs publics | Signaux | Fonctions membres publiques | Attributs privés | Liste de tous les membres
Référence de la classe Mesures

Récupère et traite les dernières données des capteurs du rov. Plus de détails...

#include <mesures.h>

Graphe de collaboration de Mesures:
Collaboration graph

Connecteurs publics

void traiteTrame (QString trame)
 Vérifie la validité, et découpe la trame reçue. Plus de détails...
 
void envoieMesuresBDD ()
 Envoie un signal toutes les 30 secondes contenant la température et l'irradiation. Plus de détails...
 
void modifieFrequenceArchivage (int)
 Modifie l'interval du timer correspondant à l'archivage des mesures dans la BDD. Plus de détails...
 

Signaux

void irradiationActualisee (double)
 
void temperatureActualisee (double)
 
void distanceActualisee (double)
 
void mesuresBDDPrete (double temperature, double irradiation)
 

Fonctions membres publiques

 Mesures (QObject *parent=nullptr)
 
 ~Mesures ()
 
double getTemperature () const
 Retourne la température stockée dans l'objet. Plus de détails...
 
double getIrradiation () const
 Retourne le taux d'irradiation stocké dans l'objet. Plus de détails...
 
double getDistance () const
 Renvoie le dernier relevé du capteur de proximité. Plus de détails...
 
int getFrequenceArchivage () const
 Renvoie la fréquence d'archivage des données. Plus de détails...
 
void stockeDonnees (QString type, QString donnee)
 Stocke la donnee passée en argument. Plus de détails...
 

Attributs privés

double temperature
 Dernière température relevée. Plus de détails...
 
double irradiation
 Dernier taux d'irradiation relevé. Plus de détails...
 
double distance
 Dernière mesure du capteur de proximité relevé. Plus de détails...
 
QTimer * compteur
 Compteur envoyant toutes les x secondes un signal timeout. Plus de détails...
 

Description détaillée

Auteur
REYNIER Jacques
Version
0.2
Date
Jeudi 14 Mars 2019

Documentation des constructeurs et destructeur

◆ Mesures()

Mesures::Mesures ( QObject *  parent = nullptr)
explicit

Références compteur, et envoieMesuresBDD().

5  : QObject(parent), temperature(-999.0), irradiation(-999.0), distance(-999.0)
6 {
7  compteur = new QTimer(this);
8  connect(compteur, SIGNAL(timeout()), this, SLOT(envoieMesuresBDD()));
9  compteur->start(30000);
10 }
double distance
Dernière mesure du capteur de proximité relevé.
Definition: mesures.h:30
double temperature
Dernière température relevée.
Definition: mesures.h:28
void envoieMesuresBDD()
Envoie un signal toutes les 30 secondes contenant la température et l&#39;irradiation.
Definition: mesures.cpp:118
QTimer * compteur
Compteur envoyant toutes les x secondes un signal timeout.
Definition: mesures.h:31
double irradiation
Dernier taux d&#39;irradiation relevé.
Definition: mesures.h:29

◆ ~Mesures()

Mesures::~Mesures ( )
13 {
14 
15 }

Documentation des fonctions membres

◆ distanceActualisee

void Mesures::distanceActualisee ( double  )
signal

Référencé par stockeDonnees().

◆ envoieMesuresBDD

void Mesures::envoieMesuresBDD ( )
slot

Références irradiation, mesuresBDDPrete(), et temperature.

Référencé par Mesures().

119 {
120  emit mesuresBDDPrete(this->temperature, this->irradiation);
121 }
void mesuresBDDPrete(double temperature, double irradiation)
double temperature
Dernière température relevée.
Definition: mesures.h:28
double irradiation
Dernier taux d&#39;irradiation relevé.
Definition: mesures.h:29

◆ getDistance()

Mesures::getDistance ( ) const
Renvoie
distance double Dernier relevé du capteur de proximité.

Références distance.

43 {
44  return this->distance;
45 }
double distance
Dernière mesure du capteur de proximité relevé.
Definition: mesures.h:30

◆ getFrequenceArchivage()

int Mesures::getFrequenceArchivage ( ) const

Références compteur.

Référencé par IHMRov::creerFenetreParametres().

48 {
49  return (compteur->interval() / 1000);
50 }
QTimer * compteur
Compteur envoyant toutes les x secondes un signal timeout.
Definition: mesures.h:31

◆ getIrradiation()

Mesures::getIrradiation ( ) const

Renvoie le dernier taux d'irradiation reçu.

Renvoie
irradiation int Dernier taux d'irradiation relevé.

Références irradiation.

33 {
34  return this->irradiation;
35 }
double irradiation
Dernier taux d&#39;irradiation relevé.
Definition: mesures.h:29

◆ getTemperature()

Mesures::getTemperature ( ) const

Renvoie la dernière température reçue.

Renvoie
temperature int Dernière température relevée.

Références temperature.

23 {
24  return this->temperature;
25 }
double temperature
Dernière température relevée.
Definition: mesures.h:28

◆ irradiationActualisee

void Mesures::irradiationActualisee ( double  )
signal

Référencé par stockeDonnees().

◆ mesuresBDDPrete

void Mesures::mesuresBDDPrete ( double  temperature,
double  irradiation 
)
signal

Référencé par envoieMesuresBDD().

◆ modifieFrequenceArchivage

void Mesures::modifieFrequenceArchivage ( int  frequence)
slot

Références compteur.

Référencé par IHMRov::creerFenetreParametres().

124 {
125  compteur->setInterval(frequence * 1000);
126 }
QTimer * compteur
Compteur envoyant toutes les x secondes un signal timeout.
Definition: mesures.h:31

◆ stockeDonnees()

void Mesures::stockeDonnees ( QString  type,
QString  donnee 
)

Stocke les donnees passés en argument dans l'objet mesures.

Paramètres
typeQString Type de donnée à stocker.
donneeQString Valeur de la donnée à stocker.

Références distance, distanceActualisee(), irradiation, irradiationActualisee(), temperature, et temperatureActualisee().

Référencé par traiteTrame().

98 {
99  if (type == "irradiation")
100  {
101  this->irradiation = donnee.toDouble();
103  }
104 
105  if (type == "temperature")
106  {
107  this->temperature = donnee.toDouble();
109  }
110 
111  if (type == "distance")
112  {
113  this->distance = donnee.toDouble();
114  emit distanceActualisee(this->distance);
115  }
116 }
double distance
Dernière mesure du capteur de proximité relevé.
Definition: mesures.h:30
void distanceActualisee(double)
void temperatureActualisee(double)
void irradiationActualisee(double)
double temperature
Dernière température relevée.
Definition: mesures.h:28
double irradiation
Dernier taux d&#39;irradiation relevé.
Definition: mesures.h:29

◆ temperatureActualisee

void Mesures::temperatureActualisee ( double  )
signal

Référencé par stockeDonnees().

◆ traiteTrame

void Mesures::traiteTrame ( QString  trame)
slot
Paramètres
trameQString Trame reçue.

Références stockeDonnees().

58 {
59  bool trameValide = true;
60 
61  if (trame.startsWith("$") && trame.endsWith("\n"))
62  {
63  trame.remove(QChar('$'));
64  trame.remove(QChar('\n'));
65 
66  for(int i = 1; i < trame.length(); i++) // Parcours la trame et vérifie si le contenu après le caractère de type est bien un chiffre (filtre les erreurs de type "$TX4\n").
67  {
68  if(!trame[i].isDigit() && trame[i] != ".")
69  trameValide = false;
70  }
71  }
72  else
73  trameValide = false;
74 
75  if(trameValide)
76  {
77  if(trame.startsWith('T'))
78  stockeDonnees("temperature", trame.remove('T'));
79  else if(trame.startsWith('R'))
80  stockeDonnees("irradiation", trame.remove('R'));
81  else if(trame.startsWith('D'))
82  stockeDonnees("distance", trame.remove('D'));
83  else
84  trameValide = false;
85  }
86 
87  if(!trameValide)
88  qDebug() << Q_FUNC_INFO << "ERREUR ! Trame invalide";
89 }
void stockeDonnees(QString type, QString donnee)
Stocke la donnee passée en argument.
Definition: mesures.cpp:97

Documentation des données membres

◆ compteur

QTimer* Mesures::compteur
private

◆ distance

double Mesures::distance
private

Référencé par getDistance(), et stockeDonnees().

◆ irradiation

double Mesures::irradiation
private

◆ temperature

double Mesures::temperature
private

La documentation de cette classe a été générée à partir des fichiers suivants :