Bonjour,

je ne sais pas comment organiser et structurer un programme avec des états (nombreux) définis.

voici l'architecture matérielle :

Couche applicatif : un PC et mon programme
| lien série
Couche métier : un microcontroleur et un émeteur radio
| lien radio
Couche client : un émeteur radio et un serveur

Fonctionnement :
mon programme envoi des messages au microcontroleur, qui pilote le poste radio et envoi les messages au serveur distant.

Dans cet envoi, il y a plusieurs phases :
- envoi du message au microcontroleur
il retourne : message envoyé par radio ou echec d'envoi
si il y a echec d'envoi, il faut retenter plus tard (canal radio indisponible)

le serveur distant reçoit mon message et
- il peut acquiter si il a reçu correctement mon message radio (pas de parasite)
- il peut ne pas acquiter (message erroné dans la transmission radio) et je doit renvoyer mon message plus tard.

En parallèle de tout ceci, je peux demander des informations locales au microcontroleur ...

Comment organiser mon programme pour que tous ces échanges se passent le mieux possible ?
Avez vous des axes de recherche à m'indiquer ?

Comment gérer les retry et les délais d'attente d'acquitement ?

Merci,
Nicolas