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

Permet le fonctionnement de la manette, en reliant la manette aux méthodes de déplacement. Plus de détails...

#include <controlerov.h>

Graphe de collaboration de ControleRov:
Collaboration graph

Connecteurs publics

void changeMode (bool appuye)
 change le mode de la manette (Deplacement / Bras) Plus de détails...
 

Fonctions membres publiques

 ControleRov (QObject *parent=nullptr, Rov *rov=nullptr)
 
 ~ControleRov ()
 
bool estControleRovDisponible () const
 Renvoi l'état de connexion de la manette. Plus de détails...
 

Fonctions membres privées

void changeConnexions (int mode)
 Permet de modifier les connexions entre la manette et les actions selon le mode de la manette. Plus de détails...
 

Attributs privés

Manettemanette
 manette utilisée Plus de détails...
 
Deplacementdeplacement
 objet contenant les méthodes utilisées pour le déplacement du rov Plus de détails...
 
Brasbras
 objet contenant les méthodes utilisées pour les mouvements du bras articulé Plus de détails...
 
ControleCameracontroleCamera
 objet contenant les méthodes utilisées pour les mouvements de la caméra Plus de détails...
 
Rovrov
 objet Rov contenant l'accès à la communication Plus de détails...
 
unsigned int mode
 Mode de la manette (0 pour déplacement, 1 pour bras) Plus de détails...
 

Description détaillée

Auteur
REYNIER Jacques
Version
0.2
Date
Jeudi 21 Mars 2019

Documentation des constructeurs et destructeur

◆ ControleRov()

ControleRov::ControleRov ( QObject *  parent = nullptr,
Rov rov = nullptr 
)
explicit

Références bras, changeMode(), controleCamera, deplacement, CommunicationRov::envoieTrame(), Manette::estDetecte(), Rov::getCommunicationRov(), Manette::getManette(), manette, Deplacement::rouleAvantArriere(), ControleCamera::tourneCameraDroite(), ControleCamera::tourneCameraGauche(), Deplacement::tourneDroiteGauche(), Deplacement::trameCree(), et Bras::trameCree().

10  : QObject(parent), rov(rov), mode(MODE_DEPLACEMENT)
11 {
12  this->bras = new Bras(this);
13  this->deplacement = new Deplacement(this);
14  this->controleCamera = new ControleCamera(this);
15  this->manette = new Manette(this);
16 
17  if(manette->estDetecte())
18  {
19  connect(manette->getManette(), &QGamepad::axisLeftXChanged, deplacement, &Deplacement::tourneDroiteGauche);
20  connect(manette->getManette(), &QGamepad::axisLeftYChanged, deplacement, &Deplacement::rouleAvantArriere);
21  connect(manette->getManette(), &QGamepad::buttonLeftChanged, controleCamera, &ControleCamera::tourneCameraGauche);
22  connect(manette->getManette(), &QGamepad::buttonRightChanged, controleCamera, &ControleCamera::tourneCameraDroite);
23  connect(manette->getManette(), &QGamepad::buttonSelectChanged, this, &ControleRov::changeMode);
24  }
25 
26  // Connexion entre le signal émis d'une trame à envoyer au slot d'envoi de trame de la classe CommunicationRov.
28  // Connexion entre le signal émis d'une trame à envoyer au slot d'envoi de trame de la classe CommunicationRov.
29  connect(deplacement, &Deplacement::trameCree, this->rov->getCommunicationRov(), &CommunicationRov::envoieTrame);
30 }
Permet le fonctionnement du mouvement de la caméra avec la manette.
Definition: controlecamera.h:21
Gère la connexion avec la manette, ainsi que les évènements envoyées par celle-ci.
Definition: manette.h:32
Réceptionne les signaux de la manette destiné aux déplacements du Rov, et émet les trames corresponda...
Definition: deplacement.h:21
Deplacement * deplacement
objet contenant les méthodes utilisées pour le déplacement du rov
Definition: controlerov.h:37
Réceptionne les signaux de la manette destiné aux mouvements du bras, et émet les trames correspondan...
Definition: bras.h:21
void trameCree(QString trame)
Signal émis lorsqu&#39;une trame a été créée et prête à être transmise.
unsigned int mode
Mode de la manette (0 pour déplacement, 1 pour bras)
Definition: controlerov.h:42
void tourneCameraDroite(bool boutonAppuye)
Permet de pivoter la caméra vers la droite, en émettant la trame correspondante. Correspond à la croi...
Definition: controlecamera.cpp:26
Manette * manette
manette utilisée
Definition: controlerov.h:36
bool envoieTrame(QString trame)
Envoie une trame au Rov.
Definition: communicationrov.cpp:69
void tourneCameraGauche(bool boutonAppuye)
Permet de pivoter la caméra vers la gauche, en émettant la trame correspondante. Correspond à la croi...
Definition: controlecamera.cpp:15
ControleCamera * controleCamera
objet contenant les méthodes utilisées pour les mouvements de la caméra
Definition: controlerov.h:39
Bras * bras
objet contenant les méthodes utilisées pour les mouvements du bras articulé
Definition: controlerov.h:38
void tourneDroiteGauche(double valeur)
Slot activé lorsque le joystick gauche est poussé à droite ou gauche. Emet un signal contenant la tra...
Definition: deplacement.cpp:16
#define MODE_DEPLACEMENT
Definition: controlerov.h:27
void changeMode(bool appuye)
change le mode de la manette (Deplacement / Bras)
Definition: controlerov.cpp:50
Rov * rov
objet Rov contenant l&#39;accès à la communication
Definition: controlerov.h:40
bool estDetecte() const
estDetecte
Definition: manette.cpp:43
void rouleAvantArriere(double valeur)
Slot activé lorsque le joystick gauche est poussé en avant ou arrière. Emet un signal contenant la tr...
Definition: deplacement.cpp:48
CommunicationRov * getCommunicationRov() const
Definition: rov.cpp:56
QGamepad * getManette()
getManette
Definition: manette.cpp:53
void trameCree(QString trame)
Signal émis lorsqu&#39;une trame est prête à être transmise.

◆ ~ControleRov()

ControleRov::~ControleRov ( )
33 {
34 }

Documentation des fonctions membres

◆ changeConnexions()

ControleRov::changeConnexions ( int  mode)
private
Paramètres
modeint

Références Bras::baisseCoude(), bras, deplacement, Bras::depose(), Manette::getManette(), Bras::lachePince(), Bras::leveCoude(), Bras::leveEpaule(), Bras::levePoignet(), manette, MODE_BRAS, MODE_DEPLACEMENT, Deplacement::rouleAvantArriere(), Bras::serrePince(), Deplacement::tourneDroiteGauche(), Bras::tourneEpaule(), et Bras::tournePoignet().

Référencé par changeMode().

78 {
79  if (mode == MODE_BRAS)
80  {
81  disconnect(manette->getManette(), &QGamepad::axisLeftXChanged, deplacement, &Deplacement::tourneDroiteGauche);
82  disconnect(manette->getManette(), &QGamepad::axisLeftYChanged, deplacement, &Deplacement::rouleAvantArriere);
83 
84  connect(manette->getManette(), &QGamepad::axisLeftXChanged, bras, &Bras::tournePoignet);
85  connect(manette->getManette(), &QGamepad::axisLeftYChanged, bras, &Bras::levePoignet);
86 
87  connect(manette->getManette(), &QGamepad::axisRightXChanged, bras, &Bras::tourneEpaule);
88  connect(manette->getManette(), &QGamepad::axisRightYChanged, bras, &Bras::leveEpaule);
89 
90  connect(manette->getManette(), &QGamepad::buttonUpChanged, bras, &Bras::leveCoude);
91  connect(manette->getManette(), &QGamepad::buttonDownChanged, bras, &Bras::baisseCoude);
92 
93  connect(manette->getManette(), &QGamepad::buttonR1Changed, bras, &Bras::serrePince);
94  connect(manette->getManette(), &QGamepad::buttonL1Changed, bras, &Bras::lachePince);
95 
96  connect(manette->getManette(), &QGamepad::buttonStartChanged, bras, &Bras::depose);
97  }
98  else if (mode == MODE_DEPLACEMENT)
99  {
100  disconnect(manette->getManette(), &QGamepad::axisLeftXChanged, bras, &Bras::tournePoignet);
101  disconnect(manette->getManette(), &QGamepad::axisLeftYChanged, bras, &Bras::levePoignet);
102 
103  disconnect(manette->getManette(), &QGamepad::axisRightXChanged, bras, &Bras::tourneEpaule);
104  disconnect(manette->getManette(), &QGamepad::axisRightYChanged, bras, &Bras::leveEpaule);
105 
106  disconnect(manette->getManette(), &QGamepad::buttonUpChanged, bras, &Bras::leveCoude);
107  disconnect(manette->getManette(), &QGamepad::buttonDownChanged, bras, &Bras::baisseCoude);
108 
109  disconnect(manette->getManette(), &QGamepad::buttonR1Changed, bras, &Bras::serrePince);
110  disconnect(manette->getManette(), &QGamepad::buttonL1Changed, bras, &Bras::lachePince);
111 
112  disconnect(manette->getManette(), &QGamepad::buttonStartChanged, bras, &Bras::depose);
113 
114  connect(manette->getManette(), &QGamepad::axisLeftXChanged, deplacement, &Deplacement::tourneDroiteGauche);
115  connect(manette->getManette(), &QGamepad::axisLeftYChanged, deplacement, &Deplacement::rouleAvantArriere);
116  }
117  else
118  {
119  qDebug() << Q_FUNC_INFO << "ERREUR ! mode inconnu";
120  }
121 }
void lachePince(bool appuye)
Permet de relâcher la pince, en émettant la trame correspondante. Correspond au bouton L1 de la manet...
Definition: bras.cpp:151
void depose(bool appuye)
Emet la trame : poser dans le bac le contenu de la pince.
Definition: bras.cpp:163
Deplacement * deplacement
objet contenant les méthodes utilisées pour le déplacement du rov
Definition: controlerov.h:37
void levePoignet(double valeur)
Permet de lever ou baisser le poignet, en émettant la trame correspondante. Correspond au joystick ga...
Definition: bras.cpp:115
#define MODE_BRAS
Definition: controlerov.h:28
void leveCoude(bool appuye)
Permet de lever le coude, en émettant la trame correspondante. Correspond au bouton triangle de la ma...
Definition: bras.cpp:67
void baisseCoude(bool appuye)
Permet de plier le coude, en émettant la trame correspondante. Correspond au bouton X de la manette...
Definition: bras.cpp:79
unsigned int mode
Mode de la manette (0 pour déplacement, 1 pour bras)
Definition: controlerov.h:42
void tournePoignet(double valeur)
Permet de pivoter le poignet, en émettant la trame correspondante. Correspond au joystick gauche axe ...
Definition: bras.cpp:91
void tourneEpaule(double valeur)
Contrôle la rotation de l&#39;épaule (entre autre, la direction du bras), en émettant la trame correspond...
Definition: bras.cpp:16
Manette * manette
manette utilisée
Definition: controlerov.h:36
void serrePince(bool appuye)
Permet de serrer la pince, en émettant la trame correspondante. Correspond au bouton R1 de la manette...
Definition: bras.cpp:139
Bras * bras
objet contenant les méthodes utilisées pour les mouvements du bras articulé
Definition: controlerov.h:38
void tourneDroiteGauche(double valeur)
Slot activé lorsque le joystick gauche est poussé à droite ou gauche. Emet un signal contenant la tra...
Definition: deplacement.cpp:16
#define MODE_DEPLACEMENT
Definition: controlerov.h:27
void leveEpaule(double valeur)
Contrôle l&#39;angle de levé de l&#39;épaule, en émettant la trame correspondante. Correspond au joystick dro...
Definition: bras.cpp:41
void rouleAvantArriere(double valeur)
Slot activé lorsque le joystick gauche est poussé en avant ou arrière. Emet un signal contenant la tr...
Definition: deplacement.cpp:48
QGamepad * getManette()
getManette
Definition: manette.cpp:53

◆ changeMode

void ControleRov::changeMode ( bool  appuye)
slot

Permet de changer le mode de la manette, à la réception du signal d'appui de la touche Select.

Références changeConnexions(), mode, MODE_BRAS, et MODE_DEPLACEMENT.

Référencé par ControleRov().

51 {
52  if (appuye == 1 && mode == MODE_DEPLACEMENT)
53  {
54  qDebug() << Q_FUNC_INFO << "Passage en mode Bras";
55  mode = MODE_BRAS;
57  }
58  else if (appuye == 1 && mode == MODE_BRAS)
59  {
60  qDebug() << Q_FUNC_INFO << "Passage en mode Deplacement";
63  }
64  else if (mode != MODE_DEPLACEMENT && mode != MODE_BRAS)
65  {
66  qDebug() << Q_FUNC_INFO << "Erreur de mode ! Retour au mode de déplacement";
69  }
70 }
#define MODE_BRAS
Definition: controlerov.h:28
unsigned int mode
Mode de la manette (0 pour déplacement, 1 pour bras)
Definition: controlerov.h:42
#define MODE_DEPLACEMENT
Definition: controlerov.h:27
void changeConnexions(int mode)
Permet de modifier les connexions entre la manette et les actions selon le mode de la manette...
Definition: controlerov.cpp:77

◆ estControleRovDisponible()

ControleRov::estControleRovDisponible ( ) const

Indique si le Rov est contrôlable, ou non.

Renvoie
bool Etat de la manette (connectée, ou non).

Références Manette::estDetecte(), et manette.

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

42 {
43  return manette->estDetecte();
44 }
Manette * manette
manette utilisée
Definition: controlerov.h:36
bool estDetecte() const
estDetecte
Definition: manette.cpp:43

Documentation des données membres

◆ bras

Bras* ControleRov::bras
private

Référencé par changeConnexions(), et ControleRov().

◆ controleCamera

ControleCamera* ControleRov::controleCamera
private

Référencé par ControleRov().

◆ deplacement

Deplacement* ControleRov::deplacement
private

Référencé par changeConnexions(), et ControleRov().

◆ manette

Manette* ControleRov::manette
private

◆ mode

unsigned int ControleRov::mode
private

Référencé par changeMode().

◆ rov

Rov* ControleRov::rov
private

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