diff --git a/main.c b/main.c index 76becfa..0463711 100644 --- a/main.c +++ b/main.c @@ -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){