ROV'NET  0.2
BTS SNIR LaSalle Avignon 2020
rov.h
Aller à la documentation de ce fichier.
1 
7 #ifndef ROV_H
8 #define ROV_H
9 
10 #include <QObject>
11 #include "camera.h"
12 #include "communicationrov.h"
13 #include "manette.h"
14 #include "capteurs.h"
15 #include "ihmrov.h"
16 
22 #define DEBUT_TRAME_TELEMETRIE "$TEL"
23 
28 #define DEBUT_TRAME_CAPTEUR "$ENVI"
29 
34 #define DEBUT_TRAME_DEPLACEMENT "$DEP"
35 
40 #define DEBUT_TRAME_PILOTAGE "$BRAS"
41 
46 #define DEBUT_TRAME_ORDRE "$ORDRE"
47 
52 #define DEBUT_TRAME_PINCE "$PINCE"
53 #define TRAME_DEPLACEMENT_IMMOBILE "$DEP;0;0;0\r\n"
54 
59 #define TRAME_PILOTAGE_IMMOBILE "$BRAS;0\r\n"
60 
65 #define TRAME_PINCE_IMMOBILE "$PINCE;0\r\n"
66 
71 #define DEBUT_TRAME_CAMERA "$CAM"
72 
77 #define TRAME_CAMERA_IMMOBILE "$CAM;0;0\r\n"
78 
79 class Camera;
80 class CommunicationRov;
81 class Manette;
82 class Capteurs;
83 class IHMRov;
84 class QCameraInfo;
85 
91 class Rov : public QObject
92 {
93  Q_OBJECT
94 private:
99  QList<int> listeManettes;
100  QVector<Manette*> manettes;
103  QString tramePilotage;
105  QString trameOrdre;
106  QString tramePince;
112 
117  void detecterManette();
123  void initialiserEvenementManette(Manette *manette);
129  void decoderTrameTelemetrie(QString trameTelemetrie);
135  void decoderTrameCapteur(QString trameCapteur);
140  void initialiserEvenements();
145  void supprimerManette();
146 
147 public:
154  Rov(IHMRov *ihmRov, QObject *parent = nullptr);
159  ~Rov();
160 
165  bool demarrerCampagne();
170  void arreterCampagne();
176  Camera* getCamera();
188  QString getTempsCampagne();
195  bool demarrerVideo(QString nomCamera, int choixResolution=-1);
201  bool getCampagneEncours() const;
207  void modifierConfiguration(Configuration &configuration);
219  QVector<Manette*> getManettes();
220 
221 signals:
227  void donneesTelemetrieDecode(QString donnes);
235  void enregistrerMesures(QString temperature, QString humidite, QString radiation);
241  void styleRadar(bool etat);
242 
243 public slots:
249  void decoderTrame(QString trame);
254  void creerTrameDeplacement(char deplacementAxeX, int puissance, char deplacementAxeY);
260  void creerTramePilotage(QString deplacement);
266  void creerTrameOrdre(QString ordre);
272  void creerTramePince(QString mouvementPince);
279  void creerTrameCamera(QString axeX, QString axeY);
284  void arreterVideo();
285 };
286 
287 #endif // ROV_H
void creerTrameDeplacement(char deplacementAxeX, int puissance, char deplacementAxeY)
Crée les trames de déplacement.
Definition: rov.cpp:213
Classe permettant une communication entre le rov et la manette.
Definition: manette.h:210
QTime dureeCampagne
Timer lancer au début de la campagne.
Definition: rov.h:110
Rov(IHMRov *ihmRov, QObject *parent=nullptr)
Constructeur de la classe Rov.
Definition: rov.cpp:11
void initialiserEvenementManette(Manette *manette)
Initialise les evenement de la manette.
Definition: rov.cpp:51
void creerTramePilotage(QString deplacement)
Crée les trames de pilotage.
Definition: rov.cpp:229
void decoderTrame(QString trame)
Décode la trame réçue par le port série selon le protocole établie.
Definition: rov.cpp:185
Camera * camera
Instance d&#39;un objet camera possedant les informations nécessaire à l&#39;affichage du flux vidéo...
Definition: rov.h:97
void supprimerManette()
Supprime les manettes du conteneur des manettes.
Definition: rov.cpp:121
Capteurs * getCapteurs()
Retourne l&#39;objet capteurs créée par le rov.
Definition: rov.cpp:153
IHM permettant d&#39;obtenir le flux vidéo en direct placé sur le robot et d&#39;obtenir les informations rel...
Definition: ihmrov.h:81
void detecterManette()
detecte les mannettes
Definition: rov.cpp:29
Fichier qui contient la déclaration de la classe Camera.
Capteurs * capteurs
Instance d&#39;un objet contenant les dernières informations issues des capteurs du rov.
Definition: rov.h:96
QString tramePrecedenteDeplacement
Contenu précédente trame déplacement.
Definition: rov.h:102
void donneesTelemetrieDecode(QString donnes)
signal contenant les nouvelle données de télémetrie (pour l&#39;ihm)
Class permettant de mettre en place une communication avec la camera.
Definition: camera.h:58
Classe controlant tout les traitements en provenance et en direction de la communication avec le rov...
Definition: rov.h:91
void decoderTrameCapteur(QString trameCapteur)
Décode la trame capteur reçue selon le protocole.
Definition: rov.cpp:88
bool campagneEnCours
Etat de si une campagne est en cour.
Definition: rov.h:111
void initialiserEvenements()
Initialise le(s) Evenement(s)
Definition: rov.cpp:115
void enregistrerMesures(QString temperature, QString humidite, QString radiation)
signal contenant les nouvelles mesures recus du robot (pour les enregistrer dans la BDD) ...
QString getTempsCampagne()
Retourne la durée de la campagne.
Definition: rov.cpp:158
bool demarrerVideo(QString nomCamera, int choixResolution=-1)
Démarre un nouveau flux vidéo.
Definition: rov.cpp:165
structure permettant de configurer une communication
QString trameOrdre
Contenu trame ordre.
Definition: rov.h:105
CommunicationRov * communicationRov
Instance d&#39;un objet permettant la récupération des trames envoyé par la liaison série.
Definition: rov.h:98
Fichier qui contient la déclaration de la classe Capteurs.
void arreterVideo()
Arrete le flux vidéo.
Definition: rov.cpp:273
Camera * getCamera()
Retourne l&#39;objet caméra créée par le rov.
Definition: rov.cpp:148
bool getCampagneEncours() const
Retourne l&#39;etat de la campagne.
Definition: rov.cpp:180
void modifierConfiguration(Configuration &configuration)
Modifie la configuration de la communication.
Definition: rov.cpp:288
QString tramePrecedenteCamera
Contenu précédente trame caméra.
Definition: rov.h:108
void arreterCampagne()
Arrête la campagne.
Definition: rov.cpp:140
QString tramePinceImmobile
Contenu trame pince à zéro.
Definition: rov.h:109
Fichier qui contient la déclaration de la classe Manette.
CommunicationRov * getCommunicationRov()
Retourne l&#39;objet communicationRov créée par le rov.
Definition: rov.cpp:293
QList< int > listeManettes
Liste des mannettes connecté
Definition: rov.h:99
void creerTramePince(QString mouvementPince)
Crée les trames de la pince.
Definition: rov.cpp:250
IHMRov * ihmRov
Instance d&#39;un objet ihmRov permettant la connexion entre les autre classe associé aux rov et l&#39;ihm...
Definition: rov.h:95
QString tramePilotage
Contenu trame pilotage.
Definition: rov.h:103
Class permettant de mettre en place une communication avec le rov.
~Rov()
Destructeur de la classe Rov.
Definition: rov.cpp:22
bool demarrerCampagne()
Démarre la campagne.
Definition: rov.cpp:127
QVector< Manette * > manettes
Conteneur des manettes.
Definition: rov.h:100
Fichier qui contient la déclaration de la classe CommunicationRov.
QString trameDeplacement
Contenu trame déplacement.
Definition: rov.h:101
QString tramePince
Contenu trame pince.
Definition: rov.h:106
Fichier qui contient la déclaration de la classe IHMRov.
void creerTrameOrdre(QString ordre)
Crée les trames d&#39;ordre.
Definition: rov.cpp:240
La classe QObject est la classe de base de tous les objets Qt. Elle permet à ces objets Qt de dispose...
void styleRadar(bool etat)
signale le style de Radar à afficher
void creerTrameCamera(QString axeX, QString axeY)
Crée les trames de la caméra.
Definition: rov.cpp:261
Classe contenant les dernières informations issues des capteurs du rov.
Definition: capteurs.h:18
QVector< Manette * > getManettes()
Retourne le conteneur de manettes créée par le rov.
Definition: rov.cpp:298
QString tramePrecedentePince
Contenu précédente trame pince.
Definition: rov.h:107
QString tramePrecedentePilotage
Contenu précédente trame pilotage.
Definition: rov.h:104
void decoderTrameTelemetrie(QString trameTelemetrie)
Décode la trame télémetrie reçue selon le protocole.
Definition: rov.cpp:82