Si memoire_echange[0x5D] vaut 0, tout va bien. Si memoire_echange[0x5D] vaut 1, '0' ou '1', plus rien ne marche
This commit is contained in:
parent
898dd0a153
commit
40eb56d929
10
.vscode/tasks.json
vendored
10
.vscode/tasks.json
vendored
@ -19,6 +19,16 @@
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"command": "mkdir -p build/debug; cd build/debug; cmake -DCMAKE_BUILD_TYPE=Debug ../..; make Flash",
|
||||
"label": "Flash Debug",
|
||||
"problemMatcher": [],
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": false
|
||||
}
|
||||
}
|
||||
],
|
||||
"version": "2.0.0"
|
||||
|
||||
@ -68,3 +68,5 @@ add_custom_target(Flash
|
||||
# Suppression de la conversion automatique LF -> CRLF
|
||||
add_definitions(-DPICO_STDIO_ENABLE_CRLF_SUPPORT=0)
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
// Changer le define en fonction qu'on soit sur les PAMIs ou sur le robot principal
|
||||
|
||||
#define ROBOT_PROPULSION_2026
|
||||
//#define ROBOT_TYPE_PAMI
|
||||
//#define ROBOT_PROPULSION_2026
|
||||
#define ROBOT_TYPE_PAMI
|
||||
|
||||
#ifndef ROBOT_PROPULSION_2026
|
||||
#ifndef ROBOT_TYPE_PAMI
|
||||
|
||||
33
main.c
33
main.c
@ -48,6 +48,8 @@ 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
|
||||
@ -66,6 +68,8 @@ 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();
|
||||
@ -95,9 +99,10 @@ void main(void)
|
||||
gpio_set_dir(LED1PIN, GPIO_OUT );
|
||||
gpio_put(LED1PIN, 1);
|
||||
|
||||
gpio_init(PICO_DEFAULT_LED_PIN);
|
||||
gpio_set_dir(PICO_DEFAULT_LED_PIN, GPIO_OUT );
|
||||
gpio_put(PICO_DEFAULT_LED_PIN, 1);
|
||||
// Code incompatible avec le Pico W
|
||||
// gpio_init(PICO_DEFAULT_LED_PIN);
|
||||
// gpio_set_dir(PICO_DEFAULT_LED_PIN, GPIO_OUT );
|
||||
// gpio_put(PICO_DEFAULT_LED_PIN, 1);
|
||||
|
||||
|
||||
|
||||
@ -118,8 +123,13 @@ 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);
|
||||
#ifdef ROBOT_TYPE_PAMI
|
||||
Trajet_config(100, 200);
|
||||
#endif
|
||||
#ifdef ROBOT_PROPULSION_2026
|
||||
Trajet_config(600, 300);
|
||||
#endif
|
||||
|
||||
|
||||
while(1){
|
||||
|
||||
@ -211,13 +221,12 @@ void main(void)
|
||||
}
|
||||
|
||||
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);
|
||||
printf("Trajet config: %.0f %.0f\n",msg_propulsion_config_trajet.vitesse_mm_s, msg_propulsion_config_trajet.acceleration_mm_ss);
|
||||
|
||||
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);
|
||||
@ -226,7 +235,7 @@ void main(void)
|
||||
cde_inv_traj = 0;
|
||||
mise_données_dans_échange(&cde_inv_traj, sizeof(cde_inv_traj), REG_PROPULSION_CDE_INV_TRAJ);
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
}
|
||||
|
||||
@ -237,10 +246,10 @@ void main(void)
|
||||
if(id_carte == 'D'){
|
||||
if(message.donnees[4] > 0 && message.donnees[4] < 30){
|
||||
//printf("LED ON\n");
|
||||
gpio_put(PICO_DEFAULT_LED_PIN, 1);
|
||||
//gpio_put(PICO_DEFAULT_LED_PIN, 1);
|
||||
}else{
|
||||
//printf("LED OFF\n");
|
||||
gpio_put(PICO_DEFAULT_LED_PIN, 0);
|
||||
//gpio_put(PICO_DEFAULT_LED_PIN, 0);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -270,8 +279,6 @@ void main(void)
|
||||
//printf(">nb_message:%u\n",nb_message);
|
||||
}
|
||||
|
||||
// Fin du match
|
||||
|
||||
if(temps_ms != Temps_get_temps_ms()){
|
||||
if(Temps_get_temps_ms() - temps_ms > 20){
|
||||
/// PANIC
|
||||
|
||||
@ -22,7 +22,7 @@ struct message_applicatif_t{
|
||||
uint8_t adresse_registre; // Adresse du registre lu ou écrit
|
||||
uint8_t taille_donnees;
|
||||
union{
|
||||
uint8_t donnees[100];
|
||||
uint8_t donnees[0xFF];
|
||||
#ifdef MESSAGE_PROPULSION_H
|
||||
struct msg_propulsion_position_t msg_propulsion_position;
|
||||
#endif
|
||||
|
||||
@ -1,7 +1,9 @@
|
||||
#include <string.h>
|
||||
#include "messagerie_applicative.h"
|
||||
|
||||
uint8_t memoire_echange[200];
|
||||
#define TAILLE_MEMOIRE_ECHANGE 0xFF
|
||||
|
||||
uint8_t memoire_echange[TAILLE_MEMOIRE_ECHANGE];
|
||||
|
||||
|
||||
|
||||
@ -44,18 +46,26 @@ void écriture_données(unsigned int adresse, uint8_t donnée){
|
||||
}else if(adresse <= 0x59){ //
|
||||
// Trajectoire
|
||||
mise_a_jour_trajectoire = true;
|
||||
|
||||
}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;
|
||||
}
|
||||
// On contrôle qu'on est bien dans la mémoire
|
||||
if(adresse < TAILLE_MEMOIRE_ECHANGE && adresse >= 0){
|
||||
memoire_echange[adresse] = donnée;
|
||||
}
|
||||
|
||||
memoire_echange[adresse] = donnée;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user