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 CommunicationRov

Gère la communication entre le Rov et le Rov. Plus de détails...

#include <communicationrov.h>

Graphe de collaboration de CommunicationRov:
Collaboration graph

Connecteurs publics

void lireTrame ()
 Récupère la trame envoyée par le Rov, et la renvoie sous un signal. Plus de détails...
 
bool envoieTrame (QString trame)
 Envoie une trame au Rov. Plus de détails...
 
void changePortCommunication (QString)
 Modifie le port de communication du rov. Plus de détails...
 

Signaux

void trameRecue (QString trame)
 Signal émis lorsque des nouvelles données ont été reçues. Plus de détails...
 

Fonctions membres publiques

 CommunicationRov (QObject *parent=nullptr)
 
 ~CommunicationRov ()
 
bool estCommunicationRovDisponible ()
 Retourne l'é&tat d'ouverture du port de communication vers le Rov. Plus de détails...
 
QString getPort ()
 Retourne le port de communication utilisé. Plus de détails...
 

Attributs privés

QSerialPort * port
 Port série pour la communication le programme et le Rov. Plus de détails...
 
QString adressePort
 Adresse du port de communication. Plus de détails...
 
QString trame
 Trame reçue par le port. Plus de détails...
 
QByteArray donnees
 Dernière donnée reçue (ou en cours de réception) Plus de détails...
 

Description détaillée

Auteur
REYNIER Jacques
Version
0.2
Date
Jeudi 21 Mars 2019

Documentation des constructeurs et destructeur

◆ CommunicationRov()

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

Références adressePort, lireTrame(), et port.

5  : QObject(parent), adressePort("/dev/ttyUSB0")
6 {
7  port = new QSerialPort(adressePort);
8 
9  port->setBaudRate(QSerialPort::Baud38400);
10 
11  port->open(QIODevice::ReadWrite);
12  qDebug() << Q_FUNC_INFO << "Port ouvert :" << port->isOpen();
13 
14  if(port->isOpen())
15  connect(port, SIGNAL(readyRead()), this, SLOT(lireTrame()));
16 }
void lireTrame()
Récupère la trame envoyée par le Rov, et la renvoie sous un signal.
Definition: communicationrov.cpp:51
QSerialPort * port
Port série pour la communication le programme et le Rov.
Definition: communicationrov.h:27
QString adressePort
Adresse du port de communication.
Definition: communicationrov.h:28

◆ ~CommunicationRov()

CommunicationRov::~CommunicationRov ( )

Références port.

19 {
20  port->close();
21  delete port;
22 }
QSerialPort * port
Port série pour la communication le programme et le Rov.
Definition: communicationrov.h:27

Documentation des fonctions membres

◆ changePortCommunication

void CommunicationRov::changePortCommunication ( QString  nouveauPort)
slot

Références adressePort, et port.

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

30 {
31  port->close();
32  port->setPortName(nouveauPort);
33  port->open(QIODevice::ReadWrite);
34  adressePort = nouveauPort;
35  qDebug() << "Port : " << port->portName() << "Ouvert : " << port->isOpen();
36 }
QSerialPort * port
Port série pour la communication le programme et le Rov.
Definition: communicationrov.h:27
QString adressePort
Adresse du port de communication.
Definition: communicationrov.h:28

◆ envoieTrame

CommunicationRov::envoieTrame ( QString  trame)
slot

Envoie la trame passée en argument au Rov par liaison série.

Paramètres
trameQString Trame à envoyer.
Renvoie
bool vrai si la trame a été envoyée, sinon faux
Paramètres
trameQString le contenu de la trame envoyée au Rov

Références estCommunicationRovDisponible(), port, et trame.

Référencé par ControleRov::ControleRov().

70 {
72  return false;
73 
74  qDebug() << Q_FUNC_INFO << "trame" << trame;
75  qint64 nbEnvoyes = port->write(trame.toLocal8Bit());
76  //port->waitForReadyRead(5000);
77  if(nbEnvoyes > 0)
78  return true;
79  return false;
80 }
bool estCommunicationRovDisponible()
Retourne l&#39;é&tat d&#39;ouverture du port de communication vers le Rov.
Definition: communicationrov.cpp:43
QSerialPort * port
Port série pour la communication le programme et le Rov.
Definition: communicationrov.h:27
QString trame
Trame reçue par le port.
Definition: communicationrov.h:29

◆ estCommunicationRovDisponible()

CommunicationRov::estCommunicationRovDisponible ( )
Renvoie
bool vrai si le port vers le Rov est ouvert sinon faux

Références port.

Référencé par IHMRov::actualiseIconesEtat(), IHMRov::enregistrerParametres(), et envoieTrame().

44 {
45  return port->isOpen();
46 }
QSerialPort * port
Port série pour la communication le programme et le Rov.
Definition: communicationrov.h:27

◆ getPort()

QString CommunicationRov::getPort ( )

Références adressePort.

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

25 {
26  return adressePort;
27 }
QString adressePort
Adresse du port de communication.
Definition: communicationrov.h:28

◆ lireTrame

CommunicationRov::lireTrame ( )
slot

Récupère la trame envoyée par le rov, et émet un signal.

Références donnees, port, et trameRecue().

Référencé par CommunicationRov().

52 {
53  donnees += port->readAll();
54  qDebug() << "RAW DATA : " << donnees;
55 
56  if(donnees.startsWith("$") && donnees.endsWith("\n"))
57  {
58  qDebug() << Q_FUNC_INFO << donnees;
59  emit trameRecue(donnees);
60  donnees.clear();
61  }
62 }
QSerialPort * port
Port série pour la communication le programme et le Rov.
Definition: communicationrov.h:27
void trameRecue(QString trame)
Signal émis lorsque des nouvelles données ont été reçues.
QByteArray donnees
Dernière donnée reçue (ou en cours de réception)
Definition: communicationrov.h:30

◆ trameRecue

CommunicationRov::trameRecue ( QString  trame)
signal
Paramètres
trameQString le contenu de la trame reçue du Rov

Référencé par lireTrame().

Documentation des données membres

◆ adressePort

QString CommunicationRov::adressePort
private

◆ donnees

QByteArray CommunicationRov::donnees
private

Référencé par lireTrame().

◆ port

QSerialPort* CommunicationRov::port
private

◆ trame

QString CommunicationRov::trame
private

Référencé par envoieTrame().


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