diff --git a/main.c b/main.c index 0dcfd08..b7a884d 100644 --- a/main.c +++ b/main.c @@ -259,6 +259,17 @@ void main(void) AsserMoteur_Gestion(step_ms); break; } + + // Récupération des valeurs pour les mettre dans la mémoire d'échange + // Position + struct msg_propulsion_position_t msg_propulsion_position; + struct position_t position = Localisation_get(); + msg_propulsion_position.position_x_mm = position.x_mm; + msg_propulsion_position.position_y_mm = position.y_mm; + msg_propulsion_position.orientation_rad = position.angle_radian; + mise_données_dans_échange((uint8_t*) &msg_propulsion_position, sizeof(msg_propulsion_position), REG_PROPULSION_POSITION); + //sleep_ms(1); + //printf("x_mm:%.2f, y_mm:%.2f\n", position.x_mm, position.y_mm); //gestion_PAMI(step_ms, &asser_pos); /*if(asser_pos){ diff --git a/messagerie_applicative.c b/messagerie_applicative.c index 44b86a5..5c34522 100644 --- a/messagerie_applicative.c +++ b/messagerie_applicative.c @@ -16,6 +16,9 @@ void get_données_reçues(uint8_t * dst, unsigned int taille, unsigned int regis 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){ diff --git a/messagerie_applicative.h b/messagerie_applicative.h index c0be251..d327c0e 100644 --- a/messagerie_applicative.h +++ b/messagerie_applicative.h @@ -3,6 +3,7 @@ void écriture_données(unsigned int adresse, uint8_t donnée); void get_données_reçues(uint8_t * dst, unsigned int taille, unsigned int registre); +void mise_données_dans_échange(uint8_t * source, unsigned int taille, unsigned int registre); extern uint8_t memoire_echange[];