Bonsoir,
je fais tourner un simulateur de GPS et j'alimente mon IHM (classe appGest) avec les sentences qu'il m'envoie.
Je dispose pour cela d'une seconde classe (appelée "GPS") qui traite les sentences et les renvoie dans la classe de l'IHM.
Je veux simplement modifier le code qui tourne déjà en s'appuyant sur un port UDP, afin de l'adapter et recevoir des trames du port COM1 mais je ne sais pas comment faire malgré mes recherches dans la documentation ou dans différentes réponses.
Pouvez-vous m'éclairer sur la façon de procéder ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 #include "gps.h" #include "ui_appgest.h" #include "appgest.h" GPS::GPS(QObject *parent) : QObject(parent) { appGest *tmp = qobject_cast<appGest *>(parent); this->udpSocket = NULL ; } void GPS::initSocket(QHostAddress pAdress,int pPort) { this->udpSocket = new QUdpSocket(this); this->udpSocket->bind(pAdress, pPort); connect(this->udpSocket, SIGNAL(readyRead()), this, SLOT(readPendingDatagrams())); } void GPS::readPendingDatagrams() { QString message ; appGest *Ihm = qobject_cast<appGest *>(parent()) ; while (this->udpSocket->hasPendingDatagrams()) { QByteArray datagram; datagram.resize(this->udpSocket->pendingDatagramSize()); QHostAddress sender; quint16 senderPort; this->udpSocket->readDatagram(datagram.data(), datagram.size(), &sender, &senderPort); message = datagram ; emit Ihm->updateGps(message) ; } }
Merci d'avance.
Partager