Programme carte strategie (disco)

Dependencies:   mbed SerialHalfDuplex SDFileSystem DISCO-F469NI_portrait liaison_Bluetooth ident_crac

Strategie/Strategie.h

Committer:
kyxstark
Date:
2019-05-23
Revision:
60:c7632af62d21
Parent:
38:76f886a1c8e6

File content as of revision 60:c7632af62d21:

#ifndef CRAC_STRATEGIE
#define CRAC_STRATEGIE

// codeur droit A maron bleu, B maron
typedef enum
{
    RECALAGE_1,
    RECULER_1,
    TOURNER,
    RECALAGE_2,
    RECULER_2,
    GOTOPOS,
    FIN_POS,
}E_Stratposdebut;
    
typedef enum
{
    ETAT_CHECK_CARTE_SCREEN, //Envoie check carte screen
    ETAT_CHECK_CARTE_SCREEN_WAIT_ACK, //Time out de 1s si erreur clignotement des led et fin prog
    ETAT_CHECK_CARTES, //Envoie check toutes les carte
    ETAT_CHECK_CARTES_WAIT_ACK, //Time out de 1s
    ETAT_WAIT_FORCE,//Attente du forçage du lancement
    ETAT_CONFIG, //attente reception du choix du mode( debug ou game)
    
    ETAT_GAME_INIT,//Mise en mémoire du fichier de stratégie
    ETAT_GAME_WAIT_FOR_JACK,//Attente du retrait du jack
    ETAT_GAME_START,//Lancement du timer 90s
    ETAT_GAME_LOAD_NEXT_INSTRUCTION,
    ETAT_GAME_PROCESS_INSTRUCTION,
    ETAT_GAME_WAIT_ACK,
    ETAT_GAME_JUMP_TIME,
    ETAT_GAME_JUMP_CONFIG,
    ETAT_GAME_JUMP_POSITION,
    ETAT_GAME_WAIT_END_INSTRUCTION,
    
    ETAT_WARNING_TIMEOUT,//Attente de la trame fin de danger ou du timeout de 2s
    ETAT_WARING_END_BALISE_WAIT,//Attente d'une seconde apres la fin d'un End Balise pour etre sur que c'est bon
    ETAT_WARNING_END_LAST_INSTRUCTION,//trouver le meilleur moyen de reprendre l'instruction en cours
    ETAT_WARNING_SWITCH_STRATEGIE,//Si à la fin du timeout il y a toujours un robot, passer à l'instruction d'erreur
    
    ETAT_EVITEMENT,
    
    ETAT_END,
    ETAT_END_LOOP,
    
} E_stratGameEtat;


typedef enum
{
    ETAT_INIT_EVITEMENT,
    ETAT_ESTIMATION_POSITION,
        ETAT_ESTIMATION_POSITION_ROTATION_ACK,
        ETAT_ESTIMATION_POSITION_ROTATION_ACK_END,
    ETAT_CALCUL_CHEMIN,
    ETAT_FIN_EVITEMENT
} E_Evitement;



/****************************************************************************************/
/* FUNCTION NAME: canProcessRx                                                          */
/* DESCRIPTION  : Fonction de traitement des messages CAN                               */
/****************************************************************************************/
void canProcessRx(void);
void automate_process(void);
void automate_etat_ihm(void);
void init_lcd(void);

void affichage_debug(int var);

short recalageAngulaireCapteur(void);
short recalageDistanceX(void);
short recalageDistanceY(void);

#endif