Correction du bug qui empêchait de configurer les vitesses et accélération des trajectoires

This commit is contained in:
Samuel 2026-05-31 17:12:22 +02:00
parent 40eb56d929
commit 7b472725cb
2 changed files with 15 additions and 22 deletions

34
main.c
View File

@ -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
}
}

View File

@ -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 {