Compare commits

...

2 Commits

Author SHA1 Message Date
500d1f8664 Correction de la configuration du trajet 2026-06-13 11:29:32 +02:00
97cbd41aed Petit mise à jour readme 2026-06-09 22:03:44 +02:00
3 changed files with 15 additions and 19 deletions

View File

@ -5,19 +5,13 @@ Basé sur le code du PAMI 2025 de l'équipe Poivron Robotique.
Principales évolutions: Principales évolutions:
- Ajout de la communication USB - Ajout de la communication Wifi
- Définition des messages applicatifs - Définition des messages applicatifs
Méthode de test Méthode de test
--------------- ---------------
* Éteindre la LED avec la trame : `echo -e "\xFF\xFF\x06rD\x00\x01\x36\x00" > /dev/ttyACM0` Utiliser le code de la supervision ou le code python du robot 2026
* Allumer la LED avec la trame : `echo -e "\xFF\xFF\x06rD\x00\x01\x06\x00" > /dev/ttyACM0`
* Tester la réception de la position
`echo -e "\xFF\xFF\x11rP\x00\x0C\x01\x01\x01\x01\x05\x05\x05\x05\x09\x09\x09\x09\x00" > /dev/ttyACM0`
Difficultés Difficultés
----------- -----------
@ -25,10 +19,6 @@ Il suffit d'une petite modification du code (ajout d'un `printf` par exemple), p
L'utilisation du second cœur pour envoyer la télémétrie peut perturber le débug avec printf => Augment grandement le délai de réponse L'utilisation du second cœur pour envoyer la télémétrie peut perturber le débug avec printf => Augment grandement le délai de réponse
La communication crash rapidement : à cause de la danse du PAMI => Suppression de la dance du PAMI (c'était codé à l'arrache)
Les points des trajectoires sont des `double`, il faut les mettre en `float`.
Pas de trajectoire rotation sur soi-même ? Pas de trajectoire rotation sur soi-même ?
Annexes Annexes

17
main.c
View File

@ -239,11 +239,16 @@ void main(void)
Strategie_interrompre_trajet(); Strategie_interrompre_trajet();
get_données_reçues((uint8_t *) &msg_trajectoire, sizeof(msg_trajectoire), REG_PROPULSION_TRAJECTOIRE); 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", 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.type, msg_trajectoire.p1.x, msg_trajectoire.p1.y,
msg_trajectoire.trajectoire.p2.x, msg_trajectoire.trajectoire.p2.y, msg_trajectoire.p2.x, msg_trajectoire.p2.y,
msg_trajectoire.trajectoire.p3.x, msg_trajectoire.trajectoire.p3.y, msg_trajectoire.p3.x, msg_trajectoire.p3.y,
msg_trajectoire.trajectoire.p4.x, msg_trajectoire.trajectoire.p4.y); msg_trajectoire.p4.x, msg_trajectoire.p4.y);
trajectoire = msg_trajectoire.trajectoire; 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; mode = 4;
uint8_t etat_action = ACTION_EN_COURS; uint8_t etat_action = ACTION_EN_COURS;
mise_données_dans_échange((uint8_t*) &(etat_action), sizeof(etat_action), REG_PROPULSION_ETAT_TRAJET); mise_données_dans_échange((uint8_t*) &(etat_action), sizeof(etat_action), REG_PROPULSION_ETAT_TRAJET);
@ -493,7 +498,7 @@ void gestion_VL53L8CX(void){
for(int i=0; i<64; i++){ for(int i=0; i<64; i++){
//int distance_cm = Results.distance_mm[i] / 10; //int distance_cm = Results.distance_mm[i] / 10;
int distance_cm = Results.distance_mm[i]; int distance_cm = Results.distance_mm[i]/ 10;
if(distance_cm > 200){ if(distance_cm > 200){
distance_cm = 250; distance_cm = 250;
} }

View File

@ -36,7 +36,8 @@ struct msg_propulsion_vitesse_robot_t {
}; };
struct msg_trajectoire_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 { struct msg_propulsion_config_trajet_t {