Interruption d'une trajectoire

This commit is contained in:
Samuel 2026-05-11 22:08:01 +02:00
parent d7c7d7bc65
commit a37f6fb18f
3 changed files with 12 additions and 4 deletions

View File

@ -52,6 +52,7 @@ enum etat_action_t Strategie_groupie_2(uint32_t step_ms, enum couleur_t couleur)
enum etat_action_t Strategie_groupie_3(uint32_t step_ms, enum couleur_t couleur);
void PAMI_dance(int);
void Strategie_interrompre_trajet(void);
enum etat_action_t Strategie_parcourir_trajet(struct trajectoire_t trajectoire, uint32_t step_ms, enum evitement_t evitement);
// STRATEGIE_H

View File

@ -7,16 +7,22 @@
float distance_obstacle;
static enum {
PARCOURS_INIT,
PARCOURS_AVANCE,
} etat_parcourt=PARCOURS_INIT;
void Strategie_interrompre_trajet(void){
etat_parcourt=PARCOURS_INIT;
}
enum etat_action_t Strategie_parcourir_trajet(struct trajectoire_t trajectoire, uint32_t step_ms, enum evitement_t evitement){
enum etat_action_t etat_action = ACTION_EN_COURS;
enum etat_trajet_t etat_trajet;
float angle_avancement;
static bool trajet_inverse = false;
static enum {
PARCOURS_INIT,
PARCOURS_AVANCE,
} etat_parcourt=PARCOURS_INIT;
switch (etat_parcourt){
case PARCOURS_INIT:

1
main.c
View File

@ -194,6 +194,7 @@ void main(void)
}
if(mise_a_jour_trajectoire){
struct msg_trajectoire_t msg_trajectoire;
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,