Programme carte strategie (disco)

Dependencies:   mbed SerialHalfDuplex SDFileSystem DISCO-F469NI_portrait liaison_Bluetooth ident_crac

Strategie/Strategie.h

Committer:
Sitkah
Date:
2018-05-02
Revision:
36:6dd30780bd8e
Parent:
30:a1e37af4bbde
Child:
37:fca332b64b42

File content as of revision 36:6dd30780bd8e:

#ifndef CRAC_STRATEGIE
#define CRAC_STRATEGIE

// codeur droit A maron bleu, B maron

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_END,
    ETAT_END_LOOP,
    
} E_stratGameEtat;



/****************************************************************************************/
/* 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