Outils pour utilisateurs

Outils du site


tpqt

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
tpqt [2019/03/13 18:15]
bvandepo
tpqt [2019/04/11 17:16] (Version actuelle)
bvandepo
Ligne 156: Ligne 156:
  
 Afin que l'​application à développer sur PC soit capable d'​émettre les datagrammes pour piloter la carte PIC, il faut implémenter une méthode ** void Receiver::​sendUDP(int i)**, (i code le numéro de la led à allumer, donc le bouton ​ pressé de l'​application sur le PC). Cette méthode devra faire les actions suivantes: Afin que l'​application à développer sur PC soit capable d'​émettre les datagrammes pour piloter la carte PIC, il faut implémenter une méthode ** void Receiver::​sendUDP(int i)**, (i code le numéro de la led à allumer, donc le bouton ​ pressé de l'​application sur le PC). Cette méthode devra faire les actions suivantes:
-  - Définir une variable de type **QHostAddress** ​ (par exemple **DestIP** ) +  - Définir une variable de type **QHostAddress** ​ (par exemple **destIP** ) 
-  - Appeler la méthode **bool setAddress(char * addrIP)** de l'​objet ​ **DestIP** pour régler l'ip du dispositif avec lequel communiquer à l'aide d'une chaine de caractères **addrIP**. +  - Appeler la méthode **bool setAddress(char * addrIP)** de l'​objet ​ **destIP** pour régler l'ip du dispositif avec lequel communiquer à l'aide d'une chaine de caractères **addrIP**. 
-  - Définir une variable de type **quint16** ​ pour coder le numéro du port UDP destination (par exemple ​DestPort=4567;)+  - Définir une variable de type **quint16** ​ pour coder le numéro du port UDP destination (par exemple ​destPort=4567;)
   - Définir un tableau de caractères (par exemple **chaine[]**) et générer la chaîne pour piloter les leds (par exemple avec la fonction sprintf comme pour le PIC)   - Définir un tableau de caractères (par exemple **chaine[]**) et générer la chaîne pour piloter les leds (par exemple avec la fonction sprintf comme pour le PIC)
   - Pour émettre la chaîne **chaine** sur la socket, appeler la méthode **qint64 writeDatagram(const char * chaine, qint64 len, const QHostAddress host, quint16 port);** de l'​objet **udpSocket**. Pour le paramètre **len** utiliser la valeur **(qint64)strlen(chaine)+1** (car on envoie le contenu de la chaine + le caractère \0 terminateur de chaine.   - Pour émettre la chaîne **chaine** sur la socket, appeler la méthode **qint64 writeDatagram(const char * chaine, qint64 len, const QHostAddress host, quint16 port);** de l'​objet **udpSocket**. Pour le paramètre **len** utiliser la valeur **(qint64)strlen(chaine)+1** (car on envoie le contenu de la chaine + le caractère \0 terminateur de chaine.
   ​   ​
-Pour que la méthode **void Receiver::​sendUDP(int i)** soit appelée lorsque l'​utilisateur presse ​le bouton 0vous devrez appeler **sendUDP(0);​** dans la méthode **void Receiver::​sendUDP0();​** qui est une fonction associée au signal "click de la souris"​ sur le bouton ​0. +La méthode **void Receiver::​sendUDP(int i)** est appelée lorsque l'​utilisateur presse ​un des boutons, le paramètre i codant le numéro du bouton. ​
- +
-Faire de même pour les méthodes **sendUDP1** et **sendUDP2** afin d'​indiquer au programme ce qu'il doit faire en cas d'​appui sur les boutons 1 et 2.+
  
 Tester que l'​appui sur le bouton i commute bien la led i du simulateur. Tester que l'​appui sur le bouton i commute bien la led i du simulateur.
tpqt.1552497315.txt.gz · Dernière modification: 2019/03/13 18:15 par bvandepo