Ne plante pas

This commit is contained in:
Samuel 2026-06-08 23:02:19 +02:00
parent 32926ced63
commit 99a434bd55

36
main.c
View File

@ -64,6 +64,10 @@ extern float abscisse;
extern struct point_xyo_t point;
VL53L8CX_Configuration Dev;
uint64_t get_temps_us(){
return to_us_since_boot(get_absolute_time());
}
void main(void)
{
VL53L8CX_ResultsData Results;
@ -135,7 +139,7 @@ void main(void)
VL53L8_lecture( &Dev, &Results); // une première lecture
//if(get_identifiant() != 0){
//multicore_launch_core1(gestion_VL53L8CX);
multicore_launch_core1(gestion_VL53L8CX);
//}else{
//multicore_launch_core1(gestion_affichage);
//}
@ -154,13 +158,17 @@ void main(void)
uint8_t status, isReady;
while(1){
uint64_t temps_us_debut_boucle, temps_us_status, temps_us_lecture_VL, temps_us_com;
status = vl53l8cx_check_data_ready(&Dev, &isReady);
while(1){
temps_us_debut_boucle = get_temps_us();
/*status = vl53l8cx_check_data_ready(&Dev, &isReady);
if(status){
//printf(">status:%d\n", status);
}
if(isReady){
}*/
temps_us_status = get_temps_us();
/*if(isReady){
VL53L8_lecture( &Dev, &Results);
VL53L8_min_distance(Results, &distance_obstacle);
Trajet_set_obstacle_mm(distance_obstacle);
@ -172,7 +180,8 @@ void main(void)
}
memoire_vl53L8[i] = distance_cm;
}
}
}*/
temps_us_lecture_VL = get_temps_us();
@ -225,7 +234,7 @@ void main(void)
}
if(mise_a_jour_mode){
get_données_reçues(&mode, sizeof(mode), REG_PROPULSION_MODE);
//rintf("mode:%d\n", mode);
printf("mode:%d\n", mode);
}
if(mise_a_jour_pwm){
struct msg_propulsion_pwm_t msg_propulsion_pwm;
@ -335,8 +344,14 @@ void main(void)
}
temps_us_com = get_temps_us();
printf(">temps_status:%d\n", (uint32_t) ((temps_us_status - temps_us_debut_boucle)/1000) );
printf(">temps_lecture_VL:%d\n", (uint32_t) ((temps_us_lecture_VL - temps_us_status)/1000) );
printf(">temps_com:%d\n", (uint32_t) ((temps_us_com - temps_us_lecture_VL)/1000) );
if(temps_ms != Temps_get_temps_ms()){
if(Temps_get_temps_ms() - temps_ms > 20){
/// PANIC
struct msg_propulsion_position_t msg_propulsion_position;
@ -344,10 +359,11 @@ void main(void)
msg_propulsion_position.position_y_mm = 0;
msg_propulsion_position.orientation_rad = 0;
mise_données_dans_échange((uint8_t*) &msg_propulsion_position, sizeof(msg_propulsion_position), REG_PROPULSION_POSITION);
printf("panic\n");
Moteur_Stop();
temps_ms = Temps_get_temps_ms();
continue;
}
temps_ms = Temps_get_temps_ms();
if(temps_ms % step_ms == 0){
@ -486,9 +502,9 @@ void gestion_PAMI(uint32_t step_ms, int * asser_pos){
void gestion_VL53L8CX(void){
VL53L8CX_ResultsData Results;
float distance_obstacle;
VL53L8_init(&Dev);
/*VL53L8_init(&Dev);
sleep_ms(100);
VL53L8_lecture( &Dev, &Results); // une première lecture
VL53L8_lecture( &Dev, &Results); // une première lecture */
uint8_t status, isReady;
VL53L8CX_isReady = 1;
while(1){