58 lines
1.4 KiB
C
58 lines
1.4 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;
|
|
bool mise_a_jour_config_trajet = false;
|
|
|
|
void get_données_reçues(uint8_t * dst, unsigned int taille, unsigned int registre){
|
|
memcpy(dst, &(memoire_echange[registre]), taille);
|
|
}
|
|
|
|
void mise_données_dans_échange(uint8_t * source, unsigned int taille, unsigned int registre){
|
|
memcpy(&(memoire_echange[registre]), source, taille);
|
|
}
|
|
|
|
void écriture_données(unsigned int adresse, uint8_t donnée){
|
|
if( adresse < 11){ // 0x0B
|
|
// Position du robot
|
|
mise_a_jour_position = true;
|
|
}else if(adresse <= 12){ // 0x0C
|
|
// Read only
|
|
|
|
}else if(adresse <= 13){ // 0x0D
|
|
// Mode
|
|
mise_a_jour_mode = true;
|
|
}else if(adresse <= 17){ // 0x11
|
|
// PWM moteur
|
|
mise_a_jour_pwm = true;
|
|
}else if(adresse <= 25){ // 0x19
|
|
// Vitesse roues
|
|
mise_a_jour_vitesse_roues = true;
|
|
}else if(adresse <= 33){ // 0x21
|
|
// Vitesse robot
|
|
mise_a_jour_vitesse_robot = true;
|
|
}else if(adresse <= 0x59){ //
|
|
// Trajectoire
|
|
mise_a_jour_trajectoire = true;
|
|
}else if(adresse <= 0x61){
|
|
// Trajet config
|
|
mise_a_jour_config_trajet = true;
|
|
}else {
|
|
// Hors mémoire
|
|
return;
|
|
}
|
|
|
|
memoire_echange[adresse] = donnée;
|
|
|
|
|
|
}
|