#include "pico/stdlib.h" #include "messages_propulsion.h" #define MESSAGE_TIMEOUT_US 2000 struct message_t{ uint8_t type; // 'b' pour binaire, '>' pour des logs uint8_t taille_donnees; uint8_t donnees[255]; }; struct message_requete_t{ uint8_t commande; uint8_t id_carte; // Identifiant de la carte (on reprend les adresses I2C) uint8_t adresse_registre; // Adresse du registre lu uint8_t taille_donnees; }; struct message_applicatif_t{ uint8_t commande; // 'r' : réception de données, 'd' : demande de données uint8_t id_carte; // Identifiant de la carte (on reprend les adresses I2C) uint8_t adresse_registre; // Adresse du registre lu ou écrit uint8_t taille_donnees; union{ uint8_t donnees[100]; #ifdef MESSAGE_PROPULSION_H struct msg_propulsion_position_t msg_propulsion_position; #endif }donnees_applicative; }; bool messagerie_message_disponible(); struct message_t messagerie_get_message(); void messagerie_put_message(struct message_t message);