ROV'NET  0.2
BTS SNIR LaSalle Avignon 2020
manette.h
Aller à la documentation de ce fichier.
1 
7 #ifndef MANETTE_H
8 #define MANETTE_H
9 
10 #include <QObject>
11 #include <QtCore/QCoreApplication>
12 #include <QtGamepad/QGamepad>
13 #include <QDebug>
14 
20 #define TAUX_VALIDITE_JOYSTICK 0.50
21 
26 #define REDUCTION_VITESSE 0.75
27 
32 #define IMMOBILE "0"
33 
38 #define AVANCER "AVANCER"
39 
44 #define RECULER "RECULER"
45 
50 #define DESCENDRE "DESCENDRE"
51 
56 #define MONTER "MONTER"
57 
62 #define GAUCHE "GAUCHE"
63 
68 #define DROITE "DROITE"
69 
74 #define RETOUR_ETAT_INITIAL "INIT"
75 
80 #define OUVERTURE_PINCE "O"
81 
86 #define FERMETURE_PINCE "F"
87 
92 #define POSER_OBJET_DANS_BAC "BAC"
93 
98 #define CAMERA_DROITE 1
99 
104 #define CAMERA_GAUCHE -1
105 
110 #define CAMERA_HAUT -1
111 
116 #define CAMERA_BAS 1
117 
123 {
124  bool boutonA;
125  bool boutonB;
126  bool boutonX;
127  bool boutonY;
128 
135  bool operator==(const EtatManetteBouton &maStructure) const;
142  bool operator!=(const EtatManetteBouton &maStructure) const;
143 };
144 
151 {
158 
165  bool operator==(const EtatManettePilotage &maStructure) const;
172  bool operator!=(const EtatManettePilotage &maStructure) const;
173 };
179 {
186 
192  bool operator==(const EtatManetteDeplacement &maStructure) const;
199  bool operator!=(const EtatManetteDeplacement &maStructure) const;
200 };
201 
202 class Rov;
203 
204 
210 class Manette : public QGamepad
211 {
212  Q_OBJECT
213 
214 private:
245 
259 
264  void initialiserEtats();
269  void initialiserTypesPilotage();
274  void initialiserTypesDeplacement();
279  void initialisationStructuresEnAvant();
284  void initialisationStructuresEnArriere();
289  void initialisationStructureRotationAGauche();
294  void initialisationStructuresRotationAGaucheDoucement();
299  void initialisationStructureRotationADroite();
304  void initialisationStructuresRotationADroiteDoucement();
309  void initialisationStructureVirageAvantAGauche();
314  void initialisationStructuresVirageAvantAGaucheDoucement();
319  void initialisationStructureVirageAvantADroite();
324  void initialisationStructuresVirageAvantADroiteDoucement();
329  void initialisationStructureVirageArriereAGauche();
334  void initialisationStructuresVirageArriereAGaucheDoucement();
339  void initialisationStructureVirageArriereADroite();
344  void initialisationStructuresVirageArriereADroiteDoucement();
349  void initialiserEtatBouton();
350 
351 public:
357  explicit Manette(int deviceId);
362  ~Manette();
363 
368  void determinerTrameDeplacementRobot();
373  void determinerTramePilotageBras();
378  void determinerTrameBouton();
383  void changerMode();
389  QString getNom();
390 
391 signals:
399  void creationTrameDeplacement(char deplacementAxeX, int puissance, char deplacementAxeY);
405  void creationTramePilotage(QString direction);
410  void prendrePhoto();
416  void creationTrameOrdre(QString ordre);
421  void creationTramePince(QString mouvementPince);
428  void nouvelleTrameCamera(QString axeY, QString axeX);
429 
430 public slots:
436  void changerAxeXJoystickGauche(double valeur);
442  void changerAxeYJoystickGauche(double valeur);
448  void changerAxeXJoystickDroit(double valeur);
454  void changerAxeYJoystickDroit(double valeur);
459  void changerBoutonHautGauche(bool etat);
464  void changerBoutonHautDroit(bool etat);
470  void changerGachetteBasGauche(double valeur);
476  void changerGachetteBasDroit(double valeur);
482  void changerFlecheEnAvant(bool etat);
488  void changerFlecheEnArriere(bool etat);
494  void changerFlecheAGauche(bool etat);
500  void changerFlecheADroite(bool etat);
505  void changerBoutonA(bool);
510  void changerBoutonB(bool);
515  void changerBoutonX(bool);
520  void changerBoutonY(bool);
526  void changerBoutonSelect(bool etat);
532  void fermerApplication(bool etat);
533 };
534 
535 #endif // MANETTE_H
EtatManetteDeplacement virageArriereAGaucheDoucementCas1
Structure définissant l&#39;état des bouton de la manette en mode deplacement du robot pour reculer et to...
Definition: manette.h:240
Classe permettant une communication entre le rov et la manette.
Definition: manette.h:210
bool joystickGaucheEnAvant
Membre définissant l&#39;état du joystick sur l&#39;axe Y.
Definition: manette.h:180
EtatManetteDeplacement virageArriereAGauche
Structure définissant l&#39;état des bouton de la manette en mode deplacement du robot pour reculer et to...
Definition: manette.h:239
EtatManetteDeplacement maManetteDeplacement
Structure définissant l&#39;état des bouton de la manette en mode deplacement du robot.
Definition: manette.h:220
Structure qui définit l&#39;état de la manette en mode déplacement du robot.
Definition: manette.h:178
EtatManetteDeplacement rotationADroiteDoucementCas2
Structure définissant l&#39;état des bouton de la manette en mode deplacement du robot pour tourner à dro...
Definition: manette.h:232
EtatManetteBouton fermerPince
Structure définissant l&#39;etat des bouton A, B, X, Y de la manette pour fermer la pince.
Definition: manette.h:217
QString joystickAxeYCamera
Attribut contenant l&#39;etat actuel du joystick droite sur l&#39;axe des y.
Definition: manette.h:258
bool flecheADroite
Membre définissant l&#39;état de la flèche de droite.
Definition: manette.h:155
EtatManettePilotage monte
Structure définissant l&#39;état des bouton de la manette pour monter.
Definition: manette.h:251
EtatManetteDeplacement enAvantCas2
Structure définissant l&#39;état des bouton de la manette en mode deplacement du robot pour avancer...
Definition: manette.h:222
bool flecheEnAvant
Membre définissant l&#39;état de la flèche du haut.
Definition: manette.h:152
bool modePilotageBras
Attribut définissant l&#39;état du mode pilotage du bras articulé
Definition: manette.h:254
EtatManetteDeplacement enArriereCas3
Structure définissant l&#39;état des bouton de la manette en mode deplacement du robot pour reculer...
Definition: manette.h:226
EtatManetteBouton ouvrirPince
Structure définissant l&#39;etat des bouton A, B, X, Y de la manette pour ouvrir la pince.
Definition: manette.h:216
QString joystickAxeXCamera
Attribut contenant l&#39;etat actuel du joystick droite sur l&#39;axe des x.
Definition: manette.h:257
Classe controlant tout les traitements en provenance et en direction de la communication avec le rov...
Definition: rov.h:91
bool gachetteBasGauche
Membre définissant l&#39;état du bouton L2.
Definition: manette.h:184
EtatManetteBouton revenirEtatInitial
Structure définissant l&#39;etat des bouton A, B, X, Y de la manette pour revenir à l&#39;etat initiale du br...
Definition: manette.h:219
bool boutonX
Membre définissant l&#39;état du bouton X.
Definition: manette.h:126
EtatManetteDeplacement virageArriereAGaucheDoucementCas2
Structure définissant l&#39;état des bouton de la manette en mode deplacement du robot pour reculer et to...
Definition: manette.h:241
bool flecheAGauche
Membre définissant l&#39;état de la flèche de gauche.
Definition: manette.h:154
EtatManetteDeplacement virageArriereADroiteDoucementCas1
Structure définissant l&#39;état des bouton de la manette en mode deplacement du robot pour reculer et to...
Definition: manette.h:243
EtatManettePilotage maManettePilotage
Structure définissant l&#39;état des bouton de la manette en mode pilotage du bras.
Definition: manette.h:246
bool joystickGaucheADroite
Membre définissant l&#39;état du joystick sur l&#39;axe X.
Definition: manette.h:183
bool boutonB
Membre définissant l&#39;état du bouton B.
Definition: manette.h:125
bool joystickGaucheAGauche
Membre définissant l&#39;état du joystick sur l&#39;axe X.
Definition: manette.h:182
int puissanceGachetteDroite
Attribut définissant la valeur de la puissance de la gachette droite.
Definition: manette.h:255
EtatManetteBouton poserObjetDansBac
Structure définissant l&#39;etat des bouton A, B, X, Y de la manette pour poser l&#39;objet dans le bac...
Definition: manette.h:218
La classe QGamepad est utilisée pour accéder à l&#39;état actuel du matériel de la manette de jeu connect...
bool boutonY
Membre définissant l&#39;état du bouton Y.
Definition: manette.h:127
EtatManettePilotage droite
Structure définissant l&#39;état des bouton de la manette pour aller à droite.
Definition: manette.h:250
EtatManetteDeplacement virageAvantAGaucheDoucementCas2
Structure définissant l&#39;état des bouton de la manette en mode deplacement du robot pour avancer et to...
Definition: manette.h:235
Structure qui définit l&#39;état de la manette en mode pilotage de la pince.
Definition: manette.h:150
bool modeDeplacement
Attribut définissant l&#39;état du mode de déplacement.
Definition: manette.h:253
EtatManetteDeplacement rotationADroite
Structure définissant l&#39;état des bouton de la manette en mode deplacement du robot pour tourner à dro...
Definition: manette.h:230
EtatManettePilotage recule
Structure définissant l&#39;état des bouton de la manette pour reculer.
Definition: manette.h:248
EtatManetteDeplacement virageArriereADroite
Structure définissant l&#39;état des bouton de la manette en mode deplacement du robot pour reculer et to...
Definition: manette.h:242
bool boutonHautDroit
Membre définissant l&#39;état du bouton R1.
Definition: manette.h:157
EtatManetteDeplacement virageAvantADroiteDoucementCas2
Structure définissant l&#39;état des bouton de la manette en mode deplacement du robot pour avancer et to...
Definition: manette.h:238
EtatManettePilotage gauche
Structure définissant l&#39;état des bouton de la manette pour aller à gauche.
Definition: manette.h:249
EtatManetteBouton maManetteBouton
Structure définissant l&#39;etat des bouton A, B, X, Y de la manette.
Definition: manette.h:215
EtatManetteDeplacement enArriereCas1
Structure définissant l&#39;état des bouton de la manette en mode deplacement du robot pour reculer...
Definition: manette.h:224
EtatManetteDeplacement enAvantCas1
Structure définissant l&#39;état des bouton de la manette en mode deplacement du robot pour avancer...
Definition: manette.h:221
EtatManetteDeplacement rotationAGaucheDoucementCas1
Structure définissant l&#39;état des bouton de la manette en mode deplacement du robot pour tourner à gau...
Definition: manette.h:228
Structure qui définit l&#39;état de la manette en mode pilotage de la pince.
Definition: manette.h:122
EtatManetteDeplacement rotationAGaucheDoucementCas2
Structure définissant l&#39;état des bouton de la manette en mode deplacement du robot pour tourner à gau...
Definition: manette.h:229
EtatManetteDeplacement virageAvantAGauche
Structure définissant l&#39;état des bouton de la manette en mode deplacement du robot pour avancer et to...
Definition: manette.h:233
EtatManetteDeplacement virageAvantAGaucheDoucementCas1
Structure définissant l&#39;état des bouton de la manette en mode deplacement du robot pour avancer et to...
Definition: manette.h:234
EtatManettePilotage descend
Structure définissant l&#39;état des bouton de la manette pour descendre.
Definition: manette.h:252
bool operator!=(const EtatManetteBouton &maStructure) const
Surcharge de l&#39;opérateur != afin de comparer un état de manette prédéfini avec l&#39;état actuel de la ma...
Definition: manette.cpp:608
EtatManetteDeplacement rotationAGauche
Structure définissant l&#39;état des bouton de la manette en mode deplacement du robot pour tourner à gau...
Definition: manette.h:227
bool boutonA
Membre définissant l&#39;état du bouton A.
Definition: manette.h:124
int puissanceGachetteGauche
Attribut définissant la valeur de la puissance de la gachette gauche.
Definition: manette.h:256
bool boutonHautGauche
Membre définissant l&#39;état du bouton L1.
Definition: manette.h:156
EtatManetteDeplacement enAvantCas3
Structure définissant l&#39;état des bouton de la manette en mode deplacement du robot pour avancer...
Definition: manette.h:223
EtatManetteDeplacement virageArriereADroiteDoucementCas2
Structure définissant l&#39;état des bouton de la manette en mode deplacement du robot pour reculer et to...
Definition: manette.h:244
EtatManetteDeplacement virageAvantADroite
Structure définissant l&#39;état des bouton de la manette en mode deplacement du robot pour avancer et to...
Definition: manette.h:236
bool operator==(const EtatManetteBouton &maStructure) const
Surcharge de l&#39;opérateur == afin de comparer un état de manette prédéfini avec l&#39;état actuel de la ma...
Definition: manette.cpp:594
EtatManetteDeplacement enArriereCas2
Structure définissant l&#39;état des bouton de la manette en mode deplacement du robot pour reculer...
Definition: manette.h:225
bool flecheEnArriere
Membre définissant l&#39;état de la flèche du bas.
Definition: manette.h:153
EtatManetteDeplacement rotationADroiteDoucementCas1
Structure définissant l&#39;état des bouton de la manette en mode deplacement du robot pour tourner à dro...
Definition: manette.h:231
bool gachetteBasDroit
Membre définissant l&#39;état du bouton R2.
Definition: manette.h:185
EtatManettePilotage avance
Structure définissant l&#39;état des bouton de la manette pour avancer.
Definition: manette.h:247
EtatManetteDeplacement virageAvantADroiteDoucementCas1
Structure définissant l&#39;état des bouton de la manette en mode deplacement du robot pour avancer et to...
Definition: manette.h:237
bool joystickGaucheEnArriere
Membre définissant l&#39;état du joystick sur l&#39;axe Y.
Definition: manette.h:181