Ajout test avance (en ligne droite) + correction bug vitesse négative
This commit is contained in:
		
							parent
							
								
									d6341d0e6e
								
							
						
					
					
						commit
						9ee3d96738
					
				| @ -66,6 +66,8 @@ void Moteur_SetVitesse(enum t_moteur moteur, int16_t vitesse ){ | ||||
|     // Le PWM accepte 16 bits de résolution, on se remet sur 16 bits (et non sur 15 + signe)
 | ||||
|     if (vitesse < 0){ | ||||
|         u_vitesse = -vitesse; | ||||
|     }else{ | ||||
|         u_vitesse = vitesse; | ||||
|     } | ||||
|     u_vitesse = u_vitesse * 2; | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										40
									
								
								test.c
									
									
									
									
									
								
							
							
						
						
									
										40
									
								
								test.c
									
									
									
									
									
								
							| @ -25,6 +25,7 @@ int test_moteurs(); | ||||
| int test_QIE(); | ||||
| int test_vitesse_moteur(enum t_moteur moteur); | ||||
| int test_asser_moteur(); | ||||
| int test_avance(void); | ||||
| 
 | ||||
| int main() { | ||||
|     bi_decl(bi_program_description("This is a test binary.")); | ||||
| @ -122,6 +123,8 @@ int main() { | ||||
| int mode_test(){ | ||||
|     static int iteration = 3; | ||||
|     printf("Appuyez sur une touche pour entrer en mode test :\n"); | ||||
|     printf("A - pour asser_moteurs\n"); | ||||
|     printf("B - pour avance (asser_moteur)\n"); | ||||
|     printf("C - pour les codeurs\n"); | ||||
|     printf("M - pour les moteurs\n"); | ||||
|     stdio_flush(); | ||||
| @ -133,6 +136,11 @@ int mode_test(){ | ||||
|     case 'A': | ||||
|         while(test_asser_moteur()); | ||||
|         break; | ||||
|     case 'b': | ||||
|     case 'B': | ||||
|         while(test_avance()); | ||||
|         break; | ||||
|          | ||||
|     case 'C': | ||||
|     case 'c': | ||||
|         while(test_QIE()); | ||||
| @ -158,6 +166,26 @@ int mode_test(){ | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| int test_avance(void){ | ||||
|     int lettre; | ||||
|     int _step_ms = 1; | ||||
|     AsserMoteur_setConsigne_mm_s(MOTEUR_A, 500); | ||||
|     AsserMoteur_setConsigne_mm_s(MOTEUR_B, -500); | ||||
|     AsserMoteur_setConsigne_mm_s(MOTEUR_C, 0); | ||||
|      | ||||
|     do{ | ||||
|         QEI_update(); | ||||
|         AsserMoteur_Gestion(_step_ms); | ||||
|         sleep_ms(_step_ms); | ||||
|         lettre = getchar_timeout_us(0); | ||||
| 
 | ||||
|     }while(lettre == PICO_ERROR_TIMEOUT); | ||||
|     Moteur_SetVitesse(MOTEUR_A, 0); | ||||
|     Moteur_SetVitesse(MOTEUR_B, 0); | ||||
|     Moteur_SetVitesse(MOTEUR_C, 0); | ||||
|     return 0; | ||||
| } | ||||
| 
 | ||||
| void test_asser_moteur_printf(){ | ||||
|     int _step_ms = 1; | ||||
|     while(1){ | ||||
| @ -184,6 +212,9 @@ int test_asser_moteur(){ | ||||
|         //    AsserMoteur_getVitesse_mm_s(MOTEUR_B, _step_ms), AsserMoteur_getVitesse_mm_s(MOTEUR_C, _step_ms));
 | ||||
|         lettre = getchar_timeout_us(0); | ||||
|     }while(lettre == PICO_ERROR_TIMEOUT); | ||||
|     Moteur_SetVitesse(MOTEUR_A, 0); | ||||
|     Moteur_SetVitesse(MOTEUR_B, 0); | ||||
|     Moteur_SetVitesse(MOTEUR_C, 0); | ||||
|     multicore_reset_core1(); | ||||
|     return 0; | ||||
| } | ||||
| @ -271,7 +302,12 @@ int test_vitesse_moteur(enum t_moteur moteur){ | ||||
|         printf("Vitesse choisie : 100%%\n"); | ||||
|         Moteur_SetVitesse(moteur, (int16_t) 32766.0); | ||||
|         break; | ||||
|          | ||||
| 
 | ||||
|     case 'b': | ||||
|     case 'B': | ||||
|         printf("Vitesse choisie : -50%%\n"); | ||||
|         Moteur_SetVitesse(moteur, (int16_t) -32766.0/2); | ||||
|         break; | ||||
| 
 | ||||
|     case 'q': | ||||
|     case 'Q': | ||||
| @ -282,4 +318,4 @@ int test_vitesse_moteur(enum t_moteur moteur){ | ||||
|         break; | ||||
|     } | ||||
|     return 1; | ||||
| } | ||||
| } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user