37 lines
1.3 KiB
C
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;
|