diff --git a/Test.c b/Test.c index 668a207..52dc5f4 100644 --- a/Test.c +++ b/Test.c @@ -13,6 +13,7 @@ #include "Asser_Moteurs.h" #include "Asser_Position.h" #include "Commande_vitesse.h" +#include "Geometrie_robot.h" #include "i2c_maitre.h" #include "Localisation.h" #include "Moteurs.h" @@ -36,6 +37,7 @@ int test_asser_moteur(void); int test_localisation(void); int test_avance(void); int test_cde_vitesse_rotation(void); +int test_cde_rotation_ref_robot(void); int test_cde_vitesse_rectangle(void); int test_cde_vitesse_cercle(void); int test_asser_position_avance(void); @@ -67,6 +69,7 @@ int mode_test(){ printf("K - Trajets aller retour avec Gyro\n"); printf("L - pour la localisation\n"); printf("M - pour les moteurs\n"); + printf("N - Rotation dans le référentiel du robot\n"); printf("T - Trajectoire\n"); printf("U - Scan du bus i2c\n"); printf("V - APDS_9960\n"); @@ -141,6 +144,11 @@ int mode_test(){ while(test_moteurs()); break; + case 'N': + case 'n': + while(test_cde_rotation_ref_robot()); + break; + case 'T': case 't': while(test_trajectoire()); @@ -722,6 +730,23 @@ int test_cde_vitesse_rotation(){ return 0; } + +int test_cde_rotation_ref_robot(){ + int lettre, _step_ms = 1; + double vitesse =90.0/2 * 3.14159 /180.0; + printf("Rotation du robot sur lui-même en 8 secondes\nVitesse : %f rad/s\n", vitesse); + + commande_rotation(vitesse, RAYON_ROBOT, 0); + do{ + QEI_update(); + AsserMoteur_Gestion(_step_ms); + sleep_ms(_step_ms); + lettre = getchar_timeout_us(0); + }while(lettre == PICO_ERROR_TIMEOUT); + + return 0; +} + int test_cde_vitesse_rectangle(){ int lettre, _step_ms = 1, temps_ms=0;