From 7b472725cb6d4ca86acfe5ef790d0db52f281add Mon Sep 17 00:00:00 2001 From: Samuel Date: Sun, 31 May 2026 17:12:22 +0200 Subject: [PATCH] =?UTF-8?q?Correction=20du=20bug=20qui=20emp=C3=AAchait=20?= =?UTF-8?q?de=20configurer=20les=20vitesses=20et=20acc=C3=A9l=C3=A9ration?= =?UTF-8?q?=20des=20trajectoires?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.c | 34 +++++++++++++--------------------- messages_propulsion.h | 3 ++- 2 files changed, 15 insertions(+), 22 deletions(-) diff --git a/main.c b/main.c index 6f3485f..1ea9c50 100644 --- a/main.c +++ b/main.c @@ -48,8 +48,6 @@ int get_couleur(void); void gestion_PAMI(uint32_t step_ms, int * asser_pos); void gestion_VL53L8CX(void); -extern uint8_t memoire_echange[]; - #ifdef ROBOT_PROPULSION_2026 const uint32_t step_ms=10; #else @@ -68,8 +66,6 @@ void main(void) struct message_t message; bool fin_match = false; - memoire_echange[0x5D]=1; // Si 0, c'est OK, sinon, ça fait n'importe quoi ! - stdio_init_all(); Temps_init(); @@ -210,21 +206,26 @@ void main(void) Strategie_interrompre_trajet(); get_données_reçues((uint8_t *) &msg_trajectoire, sizeof(msg_trajectoire), REG_PROPULSION_TRAJECTOIRE); printf("trajectoire: type: %d,\n point1_x:%.2f, point1_y:%.2f,\n point2_x:%.2f, point2_y:%.2f,\n point3_x:%.2f, point3_y:%.2f\n point4_x:%.2f, point4_y:%.2f\n", - msg_trajectoire.trajectoire.type, msg_trajectoire.trajectoire.p1.x, msg_trajectoire.trajectoire.p1.y, - msg_trajectoire.trajectoire.p2.x, msg_trajectoire.trajectoire.p2.y, - msg_trajectoire.trajectoire.p3.x, msg_trajectoire.trajectoire.p3.y, - msg_trajectoire.trajectoire.p4.x, msg_trajectoire.trajectoire.p4.y); - trajectoire = msg_trajectoire.trajectoire; + msg_trajectoire.type, msg_trajectoire.p1.x, msg_trajectoire.p1.y, + msg_trajectoire.p2.x, msg_trajectoire.p2.y, + msg_trajectoire.p3.x, msg_trajectoire.p3.y, + msg_trajectoire.p4.x, msg_trajectoire.p4.y); + trajectoire.type = msg_trajectoire.type; + trajectoire.p1 = msg_trajectoire.p1; + trajectoire.p2 = msg_trajectoire.p2; + trajectoire.p3 = msg_trajectoire.p3; + trajectoire.p4 = msg_trajectoire.p4; + trajectoire.longueur = 0; + mode = 4; uint8_t etat_action = ACTION_EN_COURS; mise_données_dans_échange((uint8_t*) &(etat_action), sizeof(etat_action), REG_PROPULSION_ETAT_TRAJET); } if(mise_a_jour_config_trajet){ - struct msg_trajectoire_t msg_trajectoire; - get_données_reçues((uint8_t *) &msg_trajectoire, sizeof(msg_trajectoire), REG_PROPULSION_TRAJECTOIRE); struct msg_propulsion_config_trajet_t msg_propulsion_config_trajet; get_données_reçues((uint8_t *) &msg_propulsion_config_trajet, sizeof(msg_propulsion_config_trajet), REG_PROPULSION_CONFIG_TRAJET); + Trajet_config(msg_propulsion_config_trajet.vitesse_mm_s, msg_propulsion_config_trajet.acceleration_mm_ss); } /* if(mise_a_jour_cde_inv_traj){ @@ -342,16 +343,7 @@ void main(void) float vitesse_roue_droite = AsserMoteur_getVitesse_mm_s(MOTEUR_B, step_ms); mise_données_dans_échange((uint8_t*) &(vitesse_roue_gauche), sizeof(vitesse_roue_gauche), REG_PROPULSION_VITESSE_ROUES_lecture); mise_données_dans_échange((uint8_t*) &(vitesse_roue_droite), sizeof(vitesse_roue_droite), REG_PROPULSION_VITESSE_ROUES_lecture +4); - - //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){ - AsserMoteur_Gestion(step_ms); - }*/ - // Récupération des valeurs pour les mettre dans la mémoire d'échange - // TODO + } } diff --git a/messages_propulsion.h b/messages_propulsion.h index e0fa39a..7718a63 100644 --- a/messages_propulsion.h +++ b/messages_propulsion.h @@ -36,7 +36,8 @@ struct msg_propulsion_vitesse_robot_t { }; struct msg_trajectoire_t { - struct trajectoire_t trajectoire; + enum trajectoire_type_t type; + struct point_xy_t p1, p2, p3, p4; }; struct msg_propulsion_config_trajet_t {