Ajout du test de la rotation dans le référentiel du robot

This commit is contained in:
Samuel 2023-03-03 20:25:12 +01:00
parent d09ee29825
commit 1abccc981b

25
Test.c
View File

@ -13,6 +13,7 @@
#include "Asser_Moteurs.h" #include "Asser_Moteurs.h"
#include "Asser_Position.h" #include "Asser_Position.h"
#include "Commande_vitesse.h" #include "Commande_vitesse.h"
#include "Geometrie_robot.h"
#include "i2c_maitre.h" #include "i2c_maitre.h"
#include "Localisation.h" #include "Localisation.h"
#include "Moteurs.h" #include "Moteurs.h"
@ -36,6 +37,7 @@ int test_asser_moteur(void);
int test_localisation(void); int test_localisation(void);
int test_avance(void); int test_avance(void);
int test_cde_vitesse_rotation(void); int test_cde_vitesse_rotation(void);
int test_cde_rotation_ref_robot(void);
int test_cde_vitesse_rectangle(void); int test_cde_vitesse_rectangle(void);
int test_cde_vitesse_cercle(void); int test_cde_vitesse_cercle(void);
int test_asser_position_avance(void); int test_asser_position_avance(void);
@ -67,6 +69,7 @@ int mode_test(){
printf("K - Trajets aller retour avec Gyro\n"); printf("K - Trajets aller retour avec Gyro\n");
printf("L - pour la localisation\n"); printf("L - pour la localisation\n");
printf("M - pour les moteurs\n"); printf("M - pour les moteurs\n");
printf("N - Rotation dans le référentiel du robot\n");
printf("T - Trajectoire\n"); printf("T - Trajectoire\n");
printf("U - Scan du bus i2c\n"); printf("U - Scan du bus i2c\n");
printf("V - APDS_9960\n"); printf("V - APDS_9960\n");
@ -141,6 +144,11 @@ int mode_test(){
while(test_moteurs()); while(test_moteurs());
break; break;
case 'N':
case 'n':
while(test_cde_rotation_ref_robot());
break;
case 'T': case 'T':
case 't': case 't':
while(test_trajectoire()); while(test_trajectoire());
@ -722,6 +730,23 @@ int test_cde_vitesse_rotation(){
return 0; 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 test_cde_vitesse_rectangle(){
int lettre, _step_ms = 1, temps_ms=0; int lettre, _step_ms = 1, temps_ms=0;