2026-Propulsion/messagerie.h

37 lines
1001 B
C

#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);