ELECINF344/381

Partie interactive du site pédagogique ELECINF344/ELECINF381 de Télécom ParisTech (occurrence 2011).

Catégories

MB Led et IrDA: paquets, procédure de test…

Structure des paquets:

Tout les paquets envoyés sont précédés de l’enchainement de caractères « MBL » qui marque le début d’un paquet. Par la suite, sont envoyés dans l’ordre:

  1. FROM :           8 bits id de l’émetteur
  2. Idpacket:        8 bits id du paquet nécessaire pour les acquittements.
  3. Priority:          4 bits valeur entre 0 et 7
  4. To:                 4 bits permet de savoir à qui est adressé le message (voisin, broadcast, leader)
  5. TTL:               8 bits duré de vie du message sur le réseau
  6. Mode:            8 bits Contient la commande (PING, PONG, DATA_IMG….) le premier bit indique la présence de Data.
  7. Size_of_data:  8 bit Taille de la Data majorée par MAX_DATA_SIZE
  8. Data:             Tableau de d’octet pouvant contenir ce que l’on souhaite.
  9. Checksum :    16 bit.


Procédure de test:

Après avoir étudier l’implémentation de l’IrLAP pour Linux, il est devenu évident qu’il n’était pas nécessaire de l’implémenter. A la place je suis en train de mettre en place un processus de dialogue similaire à celui mis en place pendant le communication challenge.

Dans un premier temps les blocs émettent des PING jusqu’à recevoir un PONG. Dès lors ils associent l’identifiant du bloc à l’un des ports et commence le nécessaire pour l’algorithmie.

Pour le moment je suis en train de débugger cette phase en mettant deux blocs face à face. Dans un premier temps j’utilise un bloc en émission sur lequel je vérifie les paquets envoyés puis je place un second bloc en face et observe pas à pas la procédure de réception du paquet. Hier j’ai pu envoyer un paquet contenant de la data  et ayant un TTL de n. Le bloc qui reçoit ce paquet le réémet avec un TTL de n-1. Ainsi on pouvait voir les deux blocs s’échanger ce paquet jusqu’à atteindre un TTL de 0.

Je m’attache maintenant à la réception de commandes, c’est à dire des paquets sans data tel qu’un PING ou un PONG.  Je rencontre alors des problèmes, notamment avec le checksum et la réémission de ces paquets.

Sur le même sujet :

  1. Copterix : communications
  2. MB Led: Depuis la soutenance intermédiaire…
  3. MB Led: Article post communication challenge.
  4. MB Led: Du hardware au software
  5. MB Led: Journée de présentation

2 comments to MB Led et IrDA: paquets, procédure de test…

  • Micka

    ça me rappelle des bons souvenirs tout ça :)
    Vous allez utiliser quoi comme algo de checksum? Vous avez une idée du MAX_DATA_SIZE que vous comptez mettre?

    • Cedric LeN

      Pour l’instant on utilise le checksum de GLiP, je vais commencer des test dessus et éventuellement le changer.
      Pour le MAX_DATA_SIZE, on ne sait pas trop encore. Je l’avais laissé à 22, mais il peut augmenter.
      L’idée pour les données de tailles importantes étant de diviser en plusieurs paquets.