From 898dd0a1534a1ca6b59c8b0999eb353f94f7d445 Mon Sep 17 00:00:00 2001 From: Samuel Date: Mon, 18 May 2026 11:19:18 +0200 Subject: [PATCH] =?UTF-8?q?Code=20pour=20la=20coupe=202026=20-=20ajout=20d?= =?UTF-8?q?e=20l'inversion=20de=20trajectoire=20(non=20utilis=C3=A9=20?= =?UTF-8?q?=C3=A0=20la=20coupe)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Readme.md | 1 + main.c | 17 +++++++++++++++-- messagerie_applicative.c | 4 ++++ messagerie_applicative.h | 1 + messages_propulsion.h | 1 + 5 files changed, 22 insertions(+), 2 deletions(-) diff --git a/Readme.md b/Readme.md index 73c96fd..7b57182 100644 --- a/Readme.md +++ b/Readme.md @@ -140,6 +140,7 @@ Les adresses en **gras** sont celles pour lesquelles des `#define` existent qui | 0x5F | RW | Flottant 32 bits | Acceleration trajectoire | | 0x60 | RW | Flottant 32 bits | Acceleration trajectoire | | 0x61 | RW | Flottant 32 bits | Acceleration trajectoire | +| **0x62** | RW | uint8_t | Commande inversion trajectoire | | **0x80** | R | flottant 32 bits | Position X en mm | | 0x81 | R | flottant 32 bits | Position X en mm | | 0x82 | R | flottant 32 bits | Position X en mm | diff --git a/main.c b/main.c index b896467..2d9b47e 100644 --- a/main.c +++ b/main.c @@ -77,7 +77,7 @@ void main(void) Trajet_init(get_identifiant()); //i2c_maitre_init(); - Servomoteur_Init(); + //Servomoteur_Init(); communication_init(); @@ -118,7 +118,8 @@ void main(void) enum etat_trajet_t etat_trajet=TRAJET_EN_COURS; struct trajectoire_t trajectoire; uint8_t mode=0; - Trajet_config(TRAJECT_CONFIG_STD); + //Trajet_config(TRAJECT_CONFIG_STD); + Trajet_config(600, 300); while(1){ @@ -153,6 +154,8 @@ void main(void) mise_a_jour_vitesse_robot = false; mise_a_jour_trajectoire = false; mise_a_jour_config_trajet = false; + mise_a_jour_cde_inv_traj = false; + // Copie des données dans la mémoire d'échange // Et actualisation des variables "mise_a_jour_..." @@ -214,6 +217,16 @@ void main(void) Trajet_config(msg_propulsion_config_trajet.vitesse_mm_s, msg_propulsion_config_trajet.acceleration_mm_ss); } + + if(mise_a_jour_cde_inv_traj){ + uint8_t cde_inv_traj; + get_données_reçues(&cde_inv_traj, sizeof(cde_inv_traj), REG_PROPULSION_CDE_INV_TRAJ); + if(cde_inv_traj == 1){ + Trajet_inverse(); + cde_inv_traj = 0; + mise_données_dans_échange(&cde_inv_traj, sizeof(cde_inv_traj), REG_PROPULSION_CDE_INV_TRAJ); + } + } } diff --git a/messagerie_applicative.c b/messagerie_applicative.c index 6c564a7..652bce5 100644 --- a/messagerie_applicative.c +++ b/messagerie_applicative.c @@ -12,6 +12,7 @@ bool mise_a_jour_vitesse_roues = false; bool mise_a_jour_vitesse_robot = false; bool mise_a_jour_trajectoire = false; bool mise_a_jour_config_trajet = false; +bool mise_a_jour_cde_inv_traj = false; void get_données_reçues(uint8_t * dst, unsigned int taille, unsigned int registre){ memcpy(dst, &(memoire_echange[registre]), taille); @@ -46,6 +47,9 @@ void écriture_données(unsigned int adresse, uint8_t donnée){ }else if(adresse <= 0x61){ // Trajet config mise_a_jour_config_trajet = true; + }else if(adresse <= 0x62){ + // Trajet config + mise_a_jour_cde_inv_traj = true; }else { // Hors mémoire return; diff --git a/messagerie_applicative.h b/messagerie_applicative.h index c972f0f..594b14d 100644 --- a/messagerie_applicative.h +++ b/messagerie_applicative.h @@ -14,3 +14,4 @@ extern bool mise_a_jour_vitesse_roues; extern bool mise_a_jour_vitesse_robot; extern bool mise_a_jour_trajectoire; extern bool mise_a_jour_config_trajet; +extern bool mise_a_jour_cde_inv_traj; diff --git a/messages_propulsion.h b/messages_propulsion.h index 8f6e92e..e0fa39a 100644 --- a/messages_propulsion.h +++ b/messages_propulsion.h @@ -12,6 +12,7 @@ #define REG_PROPULSION_VITESSE_ROBOT 0x1A #define REG_PROPULSION_TRAJECTOIRE 0x22 #define REG_PROPULSION_CONFIG_TRAJET 0x5A +#define REG_PROPULSION_CDE_INV_TRAJ 0x62 #define REG_PROPULSION_ABSCISSE 0x8C #define REG_PROPULSION_POSITION_CONSIGNE 0x90 #define REG_PROPULSION_VITESSE_ROUES_lecture 0x98