Ajout score dans la stratégie + modification cerises latérales
This commit is contained in:
		
							parent
							
								
									c7fb4b5ef8
								
							
						
					
					
						commit
						470b5cbc4a
					
				| @ -25,6 +25,7 @@ Localisation.c | |||||||
| Moteurs.c | Moteurs.c | ||||||
| Monitoring.c | Monitoring.c | ||||||
| Robot_config.c | Robot_config.c | ||||||
|  | Score.c | ||||||
| Servomoteur.c | Servomoteur.c | ||||||
| Strategie.c | Strategie.c | ||||||
| Strategie_prise_cerises.c | Strategie_prise_cerises.c | ||||||
|  | |||||||
| @ -82,7 +82,7 @@ int main() { | |||||||
|     AsserMoteur_Init(); |     AsserMoteur_Init(); | ||||||
|     Localisation_init(); |     Localisation_init(); | ||||||
| 
 | 
 | ||||||
|     //while(mode_test());
 |     while(mode_test()); | ||||||
|     i2c_maitre_init(); |     i2c_maitre_init(); | ||||||
|     Trajet_init(); |     Trajet_init(); | ||||||
|     Balise_VL53L1X_init(); |     Balise_VL53L1X_init(); | ||||||
| @ -154,7 +154,7 @@ int main() { | |||||||
|                         printf("MATCH_ARRET_EN_COURS\n"); |                         printf("MATCH_ARRET_EN_COURS\n"); | ||||||
|                         statu_match = MATCH_ARRET_EN_COURS; |                         statu_match = MATCH_ARRET_EN_COURS; | ||||||
|                     } |                     } | ||||||
|                     Strategie(couleur, _step_ms); |                     Strategie(couleur, _step_ms, timer_match_ms); | ||||||
|                     break; |                     break; | ||||||
|                  |                  | ||||||
|                 case MATCH_ARRET_EN_COURS: |                 case MATCH_ARRET_EN_COURS: | ||||||
|  | |||||||
							
								
								
									
										40
									
								
								Score.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								Score.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,40 @@ | |||||||
|  | #include "pico/stdlib.h" | ||||||
|  | #include "i2c_annexe.h" | ||||||
|  | #include "Score.h" | ||||||
|  | 
 | ||||||
|  | #define SCORE_INITIAL 5 | ||||||
|  | 
 | ||||||
|  | uint32_t Score_nb_cerises=0; | ||||||
|  | uint32_t Score_nb_points=0; | ||||||
|  | uint32_t Score_funny_action=0; | ||||||
|  | uint32_t Score_pieds_dans_plat=0; | ||||||
|  | 
 | ||||||
|  | void Score_recalcule(){ | ||||||
|  |     Score_nb_points = SCORE_INITIAL; | ||||||
|  |     if(Score_nb_cerises > 0){ | ||||||
|  |         Score_nb_points += Score_nb_cerises + 5; | ||||||
|  |     } | ||||||
|  |     Score_nb_points += Score_funny_action; | ||||||
|  |     Score_nb_points += Score_pieds_dans_plat; | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void Score_actualise(){ | ||||||
|  |     Score_recalcule(); | ||||||
|  |     i2c_annexe_envoie_score(Score_nb_points); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void Score_set_funny_action(){ | ||||||
|  |     Score_funny_action = 5; | ||||||
|  |     Score_actualise(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void Score_set_pieds_dans_plat(){ | ||||||
|  |     Score_pieds_dans_plat = 15; | ||||||
|  |     Score_actualise(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void Score_ajout_cerise(uint32_t nb_cerises){ | ||||||
|  |     Score_nb_cerises += nb_cerises; | ||||||
|  |     Score_actualise(); | ||||||
|  | } | ||||||
							
								
								
									
										5
									
								
								Score.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								Score.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | |||||||
|  | #include "pico/stdlib.h" | ||||||
|  | 
 | ||||||
|  | void Score_set_funny_action(); | ||||||
|  | void Score_set_pieds_dans_plat(); | ||||||
|  | void Score_ajout_cerise(uint32_t nb_cerises); | ||||||
							
								
								
									
										49
									
								
								Strategie.c
									
									
									
									
									
								
							
							
						
						
									
										49
									
								
								Strategie.c
									
									
									
									
									
								
							| @ -6,6 +6,7 @@ | |||||||
| #include "Geometrie_robot.h" | #include "Geometrie_robot.h" | ||||||
| #include "Localisation.h" | #include "Localisation.h" | ||||||
| #include "Moteurs.h" | #include "Moteurs.h" | ||||||
|  | #include "Score.h" | ||||||
| #include "Strategie_prise_cerises.h" | #include "Strategie_prise_cerises.h" | ||||||
| #include "Strategie.h" | #include "Strategie.h" | ||||||
| #include "Trajet.h" | #include "Trajet.h" | ||||||
| @ -25,14 +26,13 @@ struct objectif_t{ | |||||||
| } objectifs[NB_OBJECTIFS]; | } objectifs[NB_OBJECTIFS]; | ||||||
| struct objectif_t * objectif_courant; | struct objectif_t * objectif_courant; | ||||||
| 
 | 
 | ||||||
| uint32_t Score_nb_cerises = 0; |  | ||||||
| uint32_t Score_cerises_dans_robot=0; | uint32_t Score_cerises_dans_robot=0; | ||||||
| 
 | 
 | ||||||
| void Score_set_cerise_dans_robot(uint32_t nb_cerises){ | void Strategie_set_cerise_dans_robot(uint32_t nb_cerises){ | ||||||
|     Score_cerises_dans_robot = nb_cerises; |     Score_cerises_dans_robot = nb_cerises; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| uint32_t Score_get_cerise_dans_robot(void){ | uint32_t Strategie_get_cerise_dans_robot(void){ | ||||||
|     return Score_cerises_dans_robot; |     return Score_cerises_dans_robot; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -48,11 +48,13 @@ enum etat_action_t calage_angle(enum longer_direction_t longer_direction, float | |||||||
| 
 | 
 | ||||||
| int Robot_est_dans_quart_haut_gauche(); | int Robot_est_dans_quart_haut_gauche(); | ||||||
| int Robot_est_dans_quart_haut_droit(); | int Robot_est_dans_quart_haut_droit(); | ||||||
|  | int Robot_est_dans_zone_cerise_haut(enum couleur_t couleur); | ||||||
|  | int Robot_est_dans_zone_cerise_gauche(); | ||||||
| 
 | 
 | ||||||
| enum etat_homologation_t etat_homologation=STRATEGIE_INIT; | enum etat_homologation_t etat_homologation=STRATEGIE_INIT; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| void Strategie(enum couleur_t couleur, uint32_t step_ms){ | void Strategie(enum couleur_t couleur, uint32_t step_ms, uint32_t temps_ms){ | ||||||
|      |      | ||||||
|     float angle_fin; |     float angle_fin; | ||||||
|     float recal_pos_x, recal_pos_y; |     float recal_pos_x, recal_pos_y; | ||||||
| @ -136,7 +138,7 @@ void Strategie(enum couleur_t couleur, uint32_t step_ms){ | |||||||
| 
 | 
 | ||||||
|             etat_action = cerise_attraper_bordure(longer_direction, step_ms, recal_pos_x, recal_pos_y); |             etat_action = cerise_attraper_bordure(longer_direction, step_ms, recal_pos_x, recal_pos_y); | ||||||
|             if(etat_action == ACTION_TERMINEE){ |             if(etat_action == ACTION_TERMINEE){ | ||||||
|                 Score_set_cerise_dans_robot(6); |                 Strategie_set_cerise_dans_robot(6); | ||||||
|                 etat_strategie = ALLER_PANIER; |                 etat_strategie = ALLER_PANIER; | ||||||
|             } |             } | ||||||
|             break; |             break; | ||||||
| @ -157,7 +159,7 @@ void Strategie(enum couleur_t couleur, uint32_t step_ms){ | |||||||
| 
 | 
 | ||||||
|             if(parcourt_trajet_simple_sans_evitement(trajectoire, step_ms) == TRAJET_TERMINE){ |             if(parcourt_trajet_simple_sans_evitement(trajectoire, step_ms) == TRAJET_TERMINE){ | ||||||
|                 etat_strategie = ATTRAPER_CERISE_HAUT; |                 etat_strategie = ATTRAPER_CERISE_HAUT; | ||||||
|                 Score_set_cerise_dans_robot(6); |                 Strategie_set_cerise_dans_robot(6); | ||||||
|             } |             } | ||||||
|             break; |             break; | ||||||
| 
 | 
 | ||||||
| @ -214,7 +216,9 @@ void Strategie(enum couleur_t couleur, uint32_t step_ms){ | |||||||
|             break; |             break; | ||||||
| 
 | 
 | ||||||
|         case LANCER_PANIER: |         case LANCER_PANIER: | ||||||
|             if(lance_balles_dans_panier(couleur, step_ms, Score_get_cerise_dans_robot())== ACTION_TERMINEE){ |             if(lance_balles_dans_panier(couleur, step_ms, Strategie_get_cerise_dans_robot())== ACTION_TERMINEE){ | ||||||
|  |                 Score_ajout_cerise(Strategie_get_cerise_dans_robot()); | ||||||
|  |                 Strategie_set_cerise_dans_robot(0); | ||||||
|                 objectif_courant->etat = FAIT; |                 objectif_courant->etat = FAIT; | ||||||
|                 etat_strategie = DECISION_STRATEGIE; |                 etat_strategie = DECISION_STRATEGIE; | ||||||
|             } |             } | ||||||
| @ -265,13 +269,16 @@ enum etat_action_t  Strategie_aller_panier(enum couleur_t couleur, uint32_t step | |||||||
| 
 | 
 | ||||||
|     // Definition des trajectoires
 |     // Definition des trajectoires
 | ||||||
|     if(couleur == COULEUR_BLEU){ |     if(couleur == COULEUR_BLEU){ | ||||||
|         // Si le robot est déjà dans le quart haut gauche, 
 |         // Si le robot est déjà dans la zone cerise haut
 | ||||||
|         // On va en ligne droite
 |         // On va en ligne droite
 | ||||||
|         if(Robot_est_dans_quart_haut_gauche()){ |         if(Robot_est_dans_zone_cerise_haut(couleur)){ | ||||||
|             Trajectoire_droite(&trajectoire,Localisation_get().x_mm, Localisation_get().y_mm,  |             Trajectoire_droite(&trajectoire,Localisation_get().x_mm, Localisation_get().y_mm,  | ||||||
|                 465,2830, |                 465,2830, | ||||||
|                 Localisation_get().angle_radian,  |                 Localisation_get().angle_radian,  | ||||||
|                 Geometrie_get_angle_optimal(Localisation_get().angle_radian, +120. * DEGRE_EN_RADIAN)); |                 Geometrie_get_angle_optimal(Localisation_get().angle_radian, +120. * DEGRE_EN_RADIAN)); | ||||||
|  |         }else if (Robot_est_dans_zone_cerise_gauche()){ | ||||||
|  | 
 | ||||||
|  |             /// !!! TODO !!!
 | ||||||
|         }else{ |         }else{ | ||||||
|         // Sinon, on a une courbe de bézier
 |         // Sinon, on a une courbe de bézier
 | ||||||
|             Trajectoire_bezier(&trajectoire,Localisation_get().x_mm, Localisation_get().y_mm,  |             Trajectoire_bezier(&trajectoire,Localisation_get().x_mm, Localisation_get().y_mm,  | ||||||
| @ -307,6 +314,8 @@ enum etat_action_t  Strategie_aller_panier(enum couleur_t couleur, uint32_t step | |||||||
| 
 | 
 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | /// Fonction de localisation aproximatives pour la stratégie.
 | ||||||
|  | 
 | ||||||
| /// @brief Renvoi 1 si le robot est dans le quart supérieur gauche du terrain
 | /// @brief Renvoi 1 si le robot est dans le quart supérieur gauche du terrain
 | ||||||
| /// @return 1 si oui, 0 si non.
 | /// @return 1 si oui, 0 si non.
 | ||||||
| int Robot_est_dans_quart_haut_gauche(){ | int Robot_est_dans_quart_haut_gauche(){ | ||||||
| @ -325,6 +334,28 @@ int Robot_est_dans_quart_haut_droit(){ | |||||||
|     return 0; |     return 0; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | int Robot_est_dans_zone_cerise_gauche(){ | ||||||
|  |     if(Localisation_get().x_mm  < 630 &&  | ||||||
|  |     Localisation_get().y_mm >1000 && Localisation_get().y_mm < 2000){ | ||||||
|  |         return 1; | ||||||
|  |     } | ||||||
|  |     return 0; | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | int Robot_est_dans_zone_cerise_haut(enum couleur_t couleur){ | ||||||
|  |     if(couleur == COULEUR_BLEU){ | ||||||
|  |         if(Localisation_get().y_mm  > 2500 && Localisation_get().x_mm < 1000){ | ||||||
|  |             return 1; | ||||||
|  |         } | ||||||
|  |     }else{ | ||||||
|  |         if(Localisation_get().y_mm  > 2500 && Localisation_get().x_mm > 1000){ | ||||||
|  |             return 1; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |     return 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| enum etat_action_t lance_balles_dans_panier(enum couleur_t couleur, uint32_t step_ms, uint32_t nb_cerises){ | enum etat_action_t lance_balles_dans_panier(enum couleur_t couleur, uint32_t step_ms, uint32_t nb_cerises){ | ||||||
|     static enum { |     static enum { | ||||||
|         CALAGE_PANIER_1, |         CALAGE_PANIER_1, | ||||||
|  | |||||||
| @ -54,7 +54,7 @@ enum couleur_t lire_couleur(void); | |||||||
| uint attente_tirette(void); | uint attente_tirette(void); | ||||||
| enum etat_action_t lance_balles(uint32_t step_ms, uint32_t nb_cerises); | enum etat_action_t lance_balles(uint32_t step_ms, uint32_t nb_cerises); | ||||||
| int test_panier(void); | int test_panier(void); | ||||||
| void Strategie(enum couleur_t couleur, uint32_t step_ms); | void Strategie(enum couleur_t couleur, uint32_t step_ms, uint32_t temps_ms); | ||||||
| 
 | 
 | ||||||
| int temporisation_terminee(uint32_t * tempo_ms, uint32_t step_ms); | int temporisation_terminee(uint32_t * tempo_ms, uint32_t step_ms); | ||||||
| enum etat_action_t  Strategie_aller_panier(enum couleur_t couleur, uint32_t step_ms); | enum etat_action_t  Strategie_aller_panier(enum couleur_t couleur, uint32_t step_ms); | ||||||
|  | |||||||
| @ -7,6 +7,7 @@ | |||||||
| #include "Localisation.h" | #include "Localisation.h" | ||||||
| #include "math.h" | #include "math.h" | ||||||
| #include "i2c_annexe.h" | #include "i2c_annexe.h" | ||||||
|  | #include "Trajet.h" | ||||||
| 
 | 
 | ||||||
| // Rotation en rad/s pour accoster les cerises
 | // Rotation en rad/s pour accoster les cerises
 | ||||||
| #define ROTATION_CERISE 0.5f | #define ROTATION_CERISE 0.5f | ||||||
| @ -18,9 +19,12 @@ | |||||||
| // Translation en mm/s pour aspirer les cerises
 | // Translation en mm/s pour aspirer les cerises
 | ||||||
| #define TRANSLATION_CERISE 70 | #define TRANSLATION_CERISE 70 | ||||||
| 
 | 
 | ||||||
|  | // Seuil angulaire pour la détection de la fin de la barrette de cerises
 | ||||||
|  | #define SEUIL_ANGLE_CERISE (2. * DEGRE_EN_RADIAN) | ||||||
|  | 
 | ||||||
| void commande_rotation_contacteur_longer_A(); | void commande_rotation_contacteur_longer_A(); | ||||||
| void commande_rotation_contacteur_longer_C(); | void commande_rotation_contacteur_longer_C(); | ||||||
| enum etat_action_t cerises_attraper_demi_cerises_laterale(uint32_t step_ms, enum longer_direction_t longer_direction); | enum etat_action_t cerises_attraper_demi_cerises_laterale(uint32_t step_ms, enum longer_direction_t longer_direction, float pos_recal_x_mm); | ||||||
| enum etat_action_t demarre_turbine(uint32_t step_ms); | enum etat_action_t demarre_turbine(uint32_t step_ms); | ||||||
| 
 | 
 | ||||||
| enum longer_direction_t inverser_longe_direction(enum longer_direction_t direction); | enum longer_direction_t inverser_longe_direction(enum longer_direction_t direction); | ||||||
| @ -39,10 +43,11 @@ enum etat_action_t cerises_attraper_cerises_gauches(uint32_t step_ms){ | |||||||
|     }etat_attrappe_cerises_gauche = ATTRAPE_CERISE_DEMI_BAS; |     }etat_attrappe_cerises_gauche = ATTRAPE_CERISE_DEMI_BAS; | ||||||
|     struct trajectoire_t trajectoire; |     struct trajectoire_t trajectoire; | ||||||
|     float angle_fin; |     float angle_fin; | ||||||
|  |     float pos_recal_x_mm = PETIT_RAYON_ROBOT_MM + 30; | ||||||
| 
 | 
 | ||||||
|     switch (etat_attrappe_cerises_gauche){ |     switch (etat_attrappe_cerises_gauche){ | ||||||
|         case ATTRAPE_CERISE_DEMI_BAS: |         case ATTRAPE_CERISE_DEMI_BAS: | ||||||
|             if(cerises_attraper_demi_cerises_laterale(step_ms, LONGER_VERS_A) == ACTION_TERMINEE){ |             if(cerises_attraper_demi_cerises_laterale(step_ms, LONGER_VERS_A, pos_recal_x_mm) == ACTION_TERMINEE){ | ||||||
|                 etat_attrappe_cerises_gauche = REVENIR_CENTRE; |                 etat_attrappe_cerises_gauche = REVENIR_CENTRE; | ||||||
|             } |             } | ||||||
|             break; |             break; | ||||||
| @ -59,7 +64,7 @@ enum etat_action_t cerises_attraper_cerises_gauches(uint32_t step_ms){ | |||||||
|             break; |             break; | ||||||
|          |          | ||||||
|         case ATTRAPE_CERISE_DEMI_HAUT: |         case ATTRAPE_CERISE_DEMI_HAUT: | ||||||
|             if(cerises_attraper_demi_cerises_laterale(step_ms, LONGER_VERS_C) == ACTION_TERMINEE){ |             if(cerises_attraper_demi_cerises_laterale(step_ms, LONGER_VERS_C, pos_recal_x_mm) == ACTION_TERMINEE){ | ||||||
|                 etat_attrappe_cerises_gauche = ATTRAPE_CERISE_DEMI_BAS; |                 etat_attrappe_cerises_gauche = ATTRAPE_CERISE_DEMI_BAS; | ||||||
|                 return ACTION_TERMINEE; |                 return ACTION_TERMINEE; | ||||||
|             } |             } | ||||||
| @ -70,7 +75,7 @@ enum etat_action_t cerises_attraper_cerises_gauches(uint32_t step_ms){ | |||||||
|      |      | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| enum etat_action_t cerises_attraper_demi_cerises_laterale(uint32_t step_ms, enum longer_direction_t longer_direction){ | enum etat_action_t cerises_attraper_demi_cerises_laterale(uint32_t step_ms, enum longer_direction_t longer_direction, float pos_recal_x_mm){ | ||||||
|     // 1 accoster
 |     // 1 accoster
 | ||||||
|     // Demarrer la turbine
 |     // Demarrer la turbine
 | ||||||
|     // 2 Longer en aspirant
 |     // 2 Longer en aspirant
 | ||||||
| @ -79,12 +84,19 @@ enum etat_action_t cerises_attraper_demi_cerises_laterale(uint32_t step_ms, enum | |||||||
|         ACCOSTAGE, |         ACCOSTAGE, | ||||||
|         DEMARRE_TURBINE, |         DEMARRE_TURBINE, | ||||||
|         LONGE, |         LONGE, | ||||||
|  |         TOURNE, | ||||||
|         AVANCE, |         AVANCE, | ||||||
|     }etat_attrappe_demi_cerise=ACCOSTAGE; |     }etat_attrappe_demi_cerise=ACCOSTAGE; | ||||||
|  |     const float continu_avance_mm = 60; | ||||||
|  |     static float orientation_ref; | ||||||
|  |     static float pos_y_ref; | ||||||
|  |     struct trajectoire_t trajectoire; | ||||||
| 
 | 
 | ||||||
|     switch(etat_attrappe_demi_cerise){ |     switch(etat_attrappe_demi_cerise){ | ||||||
|         case ACCOSTAGE: |         case ACCOSTAGE: | ||||||
|             if(cerise_accostage() == ACTION_TERMINEE){ |             if(cerise_accostage() == ACTION_TERMINEE){ | ||||||
|  |                 Localisation_set_x(pos_recal_x_mm); | ||||||
|  |                 orientation_ref = Localisation_get().angle_radian; | ||||||
|                 etat_attrappe_demi_cerise = DEMARRE_TURBINE; |                 etat_attrappe_demi_cerise = DEMARRE_TURBINE; | ||||||
|             } |             } | ||||||
|             break; |             break; | ||||||
| @ -101,7 +113,18 @@ enum etat_action_t cerises_attraper_demi_cerises_laterale(uint32_t step_ms, enum | |||||||
|             // Le robot n'a les deux contacteurs sur le support que tant qu'il est à moins de 240mm (MAX_LONGE_MM) de la bordure
 |             // Le robot n'a les deux contacteurs sur le support que tant qu'il est à moins de 240mm (MAX_LONGE_MM) de la bordure
 | ||||||
|             // ou 120 (MAX_LONGE_MM/2) du milieu de la bordure
 |             // ou 120 (MAX_LONGE_MM/2) du milieu de la bordure
 | ||||||
|             // En fonction du demi-terrain sur lequel se trouve le robot, on surveille la position en Y pour respecter cette condition
 |             // En fonction du demi-terrain sur lequel se trouve le robot, on surveille la position en Y pour respecter cette condition
 | ||||||
|             if( (Localisation_get().y_mm > 1500 + MAX_LONGE_MM/2 ) || (Localisation_get().y_mm < 1500 - MAX_LONGE_MM/2 )){ |             /*if( (Localisation_get().y_mm > 1500 + MAX_LONGE_MM/2 ) || (Localisation_get().y_mm < 1500 - MAX_LONGE_MM/2 )){
 | ||||||
|  |                 etat_attrappe_demi_cerise = AVANCE; | ||||||
|  |             }*/ | ||||||
|  |             if(fabs(orientation_ref - Localisation_get().angle_radian) > SEUIL_ANGLE_CERISE){ | ||||||
|  |                 etat_attrappe_demi_cerise = TOURNE; | ||||||
|  |                 pos_y_ref = Localisation_get().y_mm; | ||||||
|  |             } | ||||||
|  |             break; | ||||||
|  |          | ||||||
|  |         case TOURNE: | ||||||
|  |             Trajectoire_rotation(&trajectoire, Localisation_get().x_mm, Localisation_get().y_mm, Localisation_get().angle_radian, orientation_ref); | ||||||
|  |             if(parcourt_trajet_simple_sans_evitement(trajectoire, step_ms) == ACTION_TERMINEE){ | ||||||
|                 etat_attrappe_demi_cerise = AVANCE; |                 etat_attrappe_demi_cerise = AVANCE; | ||||||
|             } |             } | ||||||
|             break; |             break; | ||||||
| @ -113,7 +136,7 @@ enum etat_action_t cerises_attraper_demi_cerises_laterale(uint32_t step_ms, enum | |||||||
|                 commande_translation_longer_vers_C(); |                 commande_translation_longer_vers_C(); | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             if( (Localisation_get().y_mm > 1500 + MAX_ASPIRE_CERISE_MM/2 ) || (Localisation_get().y_mm < 1500 - MAX_ASPIRE_CERISE_MM/2 )){ |             if( (Localisation_get().y_mm > pos_y_ref + continu_avance_mm ) || (Localisation_get().y_mm < pos_y_ref - continu_avance_mm )){ | ||||||
|                 etat_attrappe_demi_cerise = ACCOSTAGE; |                 etat_attrappe_demi_cerise = ACCOSTAGE; | ||||||
|                 i2c_annexe_desactive_turbine(); |                 i2c_annexe_desactive_turbine(); | ||||||
|                 commande_vitesse_stop(); |                 commande_vitesse_stop(); | ||||||
|  | |||||||
| @ -139,7 +139,7 @@ int test_cerise_laterales(){ | |||||||
|     Trajet_init(); |     Trajet_init(); | ||||||
|     Balise_VL53L1X_init(); |     Balise_VL53L1X_init(); | ||||||
|     //printf("Init gyroscope\n");
 |     //printf("Init gyroscope\n");
 | ||||||
|     set_position_avec_gyroscope(0); |     set_position_avec_gyroscope(1); | ||||||
|     if(get_position_avec_gyroscope()){ |     if(get_position_avec_gyroscope()){ | ||||||
|         Gyro_Init(); |         Gyro_Init(); | ||||||
|     } |     } | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user