41 lines
1.2 KiB
C
41 lines
1.2 KiB
C
#include "pico/stdlib.h"
|
|
#include "messages_propulsion.h"
|
|
|
|
#define MESSAGE_TIMEOUT_US 2000
|
|
|
|
// Attention l'ordre de déclaration est important !! On fait de la copie de donnée en faisant confiance à cet ordre !
|
|
struct message_t{
|
|
uint8_t type; // 'd' pour demande, 'r' pour une réception de données, 'w' pour écrire des données, '>' pour des logs
|
|
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;
|
|
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;
|
|
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;
|
|
union{
|
|
#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);
|