Mod_Communication/messagerie_applicative.h

37 lines
1.3 KiB
C

#include <stdint.h>
#include <stdbool.h>
#include "messagerie.h"
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[0xFF];
#ifdef MESSAGE_PROPULSION_H
struct msg_propulsion_position_t msg_propulsion_position;
#endif
}donnees_applicative;
};
void réception_données(struct message_applicatif_t message_applicatif);
void écriture_données(unsigned int adresse, uint8_t donnée);
uint8_t * get_données_reçues(uint8_t registre, uint8_t bank_id);
void mise_données_dans_échange(uint8_t * source, uint8_t taille, uint8_t registre, uint8_t bank_id);
uint8_t * get_mémoire_modifiée(uint8_t bank_id, uint8_t registre);
void messagerie_applicative_callback(uint8_t id_carte, uint8_t registre, void (*callback) (uint8_t *));
void message_applicatif_init();
extern bool mise_a_jour_position;
extern bool mise_a_jour_mode;
extern bool mise_a_jour_pwm;
extern bool mise_a_jour_vitesse_roues;
extern bool mise_a_jour_vitesse_robot;
extern bool mise_a_jour_trajectoire;
extern bool mise_a_jour_config_trajet;
extern bool mise_a_jour_cde_inv_traj;