Projet e-stok  0.2
BTS SNIR LaSalle Avignon 2020
Communication.h
Aller à la documentation de ce fichier.
1 #ifndef COMMUNICATION_H
2 #define COMMUNICATION_H
3 
13 #include <QObject>
14 #include <QString>
15 #include <QSerialPort>
16 
17 //#define DEBUG_COMMUNICATION
18 
23 //#define SERIAL_PORT_NAME "/dev/se"
24 #define SERIAL_PORT_NAME "/dev/ttyUSB0"
25 
26 // Protocole e-stock
27 #define EN_TETE QString("CASIERS")
28 #define DELIMITEUR_CHAMP QString(";")
29 #define DELIMITEUR_FIN QString("\r\n")
30 
31 // Types de trames
32 #define TRAME_OUVERTURE QString("1")
33 #define TRAME_ETAT QString("2")
34 #define TRAME_POIDS QString("3")
35 
48 class Communication : public QObject
49 {
50  Q_OBJECT
51 
52 public:
53 
54  Communication(QObject *parent = nullptr);
56 
59  void configurerPort();
60  void ouvrirPort();
61  void setNomPort(QString nouveauPortSerie);
62  void envoyerTrame(QString trame);
63  void envoyerRequetePoids(QString numeroCasier = 0);
64 
65 public slots:
66  void recevoirTrame();
67  void envoyerRequeteOuvertureCasier(QString numeroCasier);
68  void envoyerRequeteEtatCasiers(QString numeroCasier);
69 
70 private:
71  QSerialPort *port;
72  QString trameBrute;
73  QString nomPort;
74 
75  bool verifierTrame(QString trame);
76  void traiterTrame(QString trame);
77 
78 signals:
79  void envoieTrameOuverture(QString trame);
80  void envoieTrameEtat(QString trame);
81  void envoieTramePoids(QString trame);
82 };
83 
84 #endif // COMMUNICATION_H
void traiterTrame(QString trame)
Définition de la méthode TraiterTrame.
void envoieTrameEtat(QString trame)
~Communication()
Destructeur de la classe Communication.
bool verifierTrame(QString trame)
Définition de la méthode verifierTrame.
void arreterCommunicationPort()
Définition de la méthode arreterCommunicationPort.
QString trameBrute
Variable qui contient la trame brute.
Definition: Communication.h:72
QString nomPort
Variable qui contient le nom du port serie.
Definition: Communication.h:73
QSerialPort * port
Variable pointeur sur le port.
Definition: Communication.h:71
void ouvrirPort()
Définition de la métohde ouvrirPort.
void envoyerTrame(QString trame)
Définition de la méthode envoyerTrame.
void recevoirTrame()
Définition de la méthode recevoirTrame.
void setNomPort(QString nouveauPortSerie)
Définition de la méthode setNomPort.
void envoyerRequeteOuvertureCasier(QString numeroCasier)
Définition de la méthode envoyerRequeteOuvertureCasier.
void envoieTrameOuverture(QString trame)
void envoieTramePoids(QString trame)
La classe Communication permet de communiquer avec le port série.
Definition: Communication.h:48
void demarrerCommunicationPort()
Définition de la méthode demarrerCommunicationPort.
void configurerPort()
Définition de la méthode configurerPort.
void envoyerRequeteEtatCasiers(QString numeroCasier)
Définition de la méthode envoyerRequeteEtatCasiers.
Communication(QObject *parent=nullptr)
Constructeur de la classe Communication.
void envoyerRequetePoids(QString numeroCasier=0)
Définition de la méthode envoyerRequetePoids.