RPiPico-Holonome2023/Strategie.h

65 lines
1.6 KiB
C

#include "pico/stdlib.h"
#include "Trajectoire.h"
#ifndef STRATEGIE_H
#define STRATEGIE_H
#define COULEUR 15
#define TIRETTE 14
//#define CORR_ANGLE_DEPART_DEGREE (-1.145)
#define CORR_ANGLE_DEPART_DEGREE (0)
enum etat_action_t{
ACTION_EN_COURS,
ACTION_TERMINEE
};
enum longer_direction_t{
LONGER_VERS_A,
LONGER_VERS_C
};
enum couleur_t{
COULEUR_BLEU=0,
COULEUR_VERT,
COULEUR_INCONNUE,
};
extern enum etat_homologation_t{
STRATEGIE_INIT,
ATTENTE_TIRETTE,
APPROCHE_CERISE_1_A,
APPROCHE_CERISE_1_B,
ATTRAPE_CERISE_1,
APPROCHE_PANIER_1,
APPROCHE_PANIER_2,
CALAGE_PANIER_1,
RECULE_PANIER,
TOURNE_PANIER,
LANCE_DANS_PANIER,
APPROCHE_CERISE_2,
ATTRAPPE_CERISE_2,
APPROCHE_PANIER_3,
STRATEGIE_FIN,
}etat_homologation;
enum etat_action_t cerise_accostage(void);
enum etat_action_t avance_puis_longe_bordure(enum longer_direction_t longer_direction);
enum etat_action_t parcourt_trajet_simple(struct trajectoire_t trajectoire, uint32_t step_ms);
enum etat_action_t parcourt_trajet_simple_sans_evitement(struct trajectoire_t trajectoire, uint32_t step_ms);
enum etat_action_t depose_cerises(uint32_t step_ms);
void Homologation(uint32_t step_ms);
enum couleur_t lire_couleur(void);
uint attente_tirette(void);
enum etat_action_t lance_balles(uint32_t step_ms);
int test_panier(void);
void Strategie(enum couleur_t couleur, 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);
extern float distance_obstacle;
// STRATEGIE_H
#endif