37 lines
1001 B
C
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);
|