2026-Propulsion/messagerie_applicative.c

51 lines
1.1 KiB
C

#include <string.h>
#include "messagerie_applicative.h"
uint8_t memoire_echange[200];
bool mise_a_jour_position = false;
bool mise_a_jour_mode = false;
bool mise_a_jour_pwm = false;
bool mise_a_jour_vitesse_roues = false;
bool mise_a_jour_vitesse_robot = false;
bool mise_a_jour_trajectoire = false;
void get_données_reçues(uint8_t * dst, unsigned int taille, unsigned int registre){
memcpy(dst, &(memoire_echange[registre]), taille);
}
void écriture_données(unsigned int adresse, uint8_t donnée){
if( adresse <= 11){
// Position du robot
mise_a_jour_position = true;
}else if(adresse <= 12){
// Read only
}else if(adresse <= 13){
// Mode
mise_a_jour_mode = true;
}else if(adresse <= 17){
// PWM moteur
mise_a_jour_pwm = true;
}else if(adresse <= 25){
// Vitesse roues
mise_a_jour_vitesse_roues = true;
}else if(adresse <= 33){
// Vitesse robot
mise_a_jour_vitesse_robot = true;
}else if(adresse <= 86){
// Trajectoire
mise_a_jour_trajectoire = true;
}else if(adresse >86){
// Hors mémoire
return;
}
memoire_echange[adresse] = donnée;
}