Programme carte strategie (disco)

Dependencies:   mbed SerialHalfDuplex SDFileSystem DISCO-F469NI_portrait liaison_Bluetooth ident_crac

Committer:
Sitkah
Date:
Fri Apr 06 13:47:19 2018 +0000
Revision:
29:41e02746041d
Parent:
11:ed13a480ddca
Child:
34:6aa4b46b102e
version fusionn?e

Who changed what in which revision?

UserRevisionLine numberNew contents of line
antbig 0:ad97421fb1fb 1 #ifndef CRAC_INSTRUCTION
antbig 0:ad97421fb1fb 2 #define CRAC_INSTRUCTION
antbig 0:ad97421fb1fb 3
antbig 0:ad97421fb1fb 4
antbig 0:ad97421fb1fb 5 enum E_InstructionType
antbig 0:ad97421fb1fb 6 {
antbig 0:ad97421fb1fb 7 MV_COURBURE, // C -> Courbure
antbig 0:ad97421fb1fb 8 MV_LINE, // L -> Ligne droite
antbig 0:ad97421fb1fb 9 MV_TURN, // T -> Rotation sur place
antbig 0:ad97421fb1fb 10 MV_XYT, // X -> Aller à
antbig 0:ad97421fb1fb 11 MV_RECALAGE, // R -> Recalage bordure
antbig 0:ad97421fb1fb 12 ACTION, // A -> Action
antbig 0:ad97421fb1fb 13 UNKNOWN // Erreur, instruction inconnue
antbig 0:ad97421fb1fb 14 };
antbig 0:ad97421fb1fb 15 enum E_InstructionDirection
antbig 0:ad97421fb1fb 16 {
antbig 0:ad97421fb1fb 17 NODIRECTION, // N -> Parametre absent
antbig 0:ad97421fb1fb 18 BACKWARD,
antbig 0:ad97421fb1fb 19 FORWARD,
antbig 0:ad97421fb1fb 20 RELATIVE,
antbig 11:ed13a480ddca 21 ABSOLUTE,
antbig 11:ed13a480ddca 22 LEFT,
antbig 11:ed13a480ddca 23 RIGHT
antbig 0:ad97421fb1fb 24 };
antbig 0:ad97421fb1fb 25 enum E_InstructionPrecisionOuRecalage
antbig 0:ad97421fb1fb 26 {
antbig 0:ad97421fb1fb 27 NOPRECISION,// N -> Parametre absent
antbig 0:ad97421fb1fb 28 PRECISION, // P -> Precision, verifier la position à la fin du mouvement et refaire un XYT si erreur > 1cm
antbig 0:ad97421fb1fb 29 RECALAGE_X, // X -> Recalage en X, indique un recalage sur l'axe X
antbig 0:ad97421fb1fb 30 RECALAGE_Y // Y -> Recalage en Y, indique un recalage sur l'axe Y
antbig 0:ad97421fb1fb 31 };
antbig 0:ad97421fb1fb 32 enum E_InstructionNextActionType
antbig 0:ad97421fb1fb 33 {
antbig 0:ad97421fb1fb 34 NONEXTACTION, // N -> Parametre absent
antbig 0:ad97421fb1fb 35 JUMP,
antbig 0:ad97421fb1fb 36 WAIT,
antbig 0:ad97421fb1fb 37 ENCHAINEMENT
antbig 0:ad97421fb1fb 38 };
antbig 0:ad97421fb1fb 39 enum E_InstructionNextActionJumpType
antbig 0:ad97421fb1fb 40 {
antbig 0:ad97421fb1fb 41 NONEXTACTIONJUMPTYPE, // N -> Parametre absent
antbig 0:ad97421fb1fb 42 JUMP_TIME,
antbig 0:ad97421fb1fb 43 JUMP_POSITION
antbig 0:ad97421fb1fb 44 };
antbig 0:ad97421fb1fb 45 struct S_Instruction
antbig 0:ad97421fb1fb 46 {
antbig 0:ad97421fb1fb 47 short lineNumber;//Numéro de la ligne
antbig 0:ad97421fb1fb 48 enum E_InstructionType order; //Type de l'instruction
antbig 0:ad97421fb1fb 49 enum E_InstructionDirection direction; //BackWard ou Forward || Relative ou Absolu
antbig 0:ad97421fb1fb 50
antbig 0:ad97421fb1fb 51 unsigned short arg1;
antbig 0:ad97421fb1fb 52 unsigned short arg2;
antbig 0:ad97421fb1fb 53 signed short arg3;
antbig 0:ad97421fb1fb 54
antbig 0:ad97421fb1fb 55 enum E_InstructionPrecisionOuRecalage precision;
antbig 0:ad97421fb1fb 56 enum E_InstructionNextActionType nextActionType;
antbig 0:ad97421fb1fb 57 enum E_InstructionNextActionJumpType jumpAction;
antbig 0:ad97421fb1fb 58 unsigned short JumpTimeOrX;
antbig 0:ad97421fb1fb 59 unsigned short JumpY;
antbig 0:ad97421fb1fb 60 unsigned short nextLineOK;
antbig 0:ad97421fb1fb 61 unsigned short nextLineError;
antbig 0:ad97421fb1fb 62 };
antbig 0:ad97421fb1fb 63
antbig 0:ad97421fb1fb 64 /**
antbig 0:ad97421fb1fb 65 * Convertir un char en type d'instruction
antbig 0:ad97421fb1fb 66 **/
antbig 0:ad97421fb1fb 67 enum E_InstructionType charToInstructionType(char type);
antbig 0:ad97421fb1fb 68
antbig 0:ad97421fb1fb 69 /**
antbig 0:ad97421fb1fb 70 *
antbig 0:ad97421fb1fb 71 **/
antbig 0:ad97421fb1fb 72 enum E_InstructionDirection charToInstructionDirection(char type);
antbig 0:ad97421fb1fb 73
antbig 0:ad97421fb1fb 74 /**
antbig 0:ad97421fb1fb 75 * Convertir un char
antbig 0:ad97421fb1fb 76 **/
antbig 0:ad97421fb1fb 77 enum E_InstructionPrecisionOuRecalage charToInstructionPrecisionOuRecalage(char type);
antbig 0:ad97421fb1fb 78
antbig 0:ad97421fb1fb 79 /**
antbig 0:ad97421fb1fb 80 *
antbig 0:ad97421fb1fb 81 **/
antbig 0:ad97421fb1fb 82 enum E_InstructionNextActionType charToInstructionNextActionType(char type);
antbig 0:ad97421fb1fb 83
antbig 0:ad97421fb1fb 84 /**
antbig 0:ad97421fb1fb 85 *
antbig 0:ad97421fb1fb 86 **/
antbig 0:ad97421fb1fb 87 enum E_InstructionNextActionJumpType charToInstructionNextActionJumpType(char type);
antbig 0:ad97421fb1fb 88
antbig 4:88431b537477 89 /****************************************************************************************/
antbig 4:88431b537477 90 /* FUNCTION NAME: stringToInstruction */
antbig 4:88431b537477 91 /* DESCRIPTION : Conversion d'une ligne du fichier de strat en instruction */
antbig 4:88431b537477 92 /****************************************************************************************/
antbig 0:ad97421fb1fb 93 struct S_Instruction stringToInstruction(char line[]);
antbig 0:ad97421fb1fb 94
antbig 4:88431b537477 95 /****************************************************************************************/
antbig 4:88431b537477 96 /* FUNCTION NAME: loadAllInstruction */
antbig 4:88431b537477 97 /* DESCRIPTION : Charger toutes les instructions du fichier de stratégie */
antbig 4:88431b537477 98 /* Il faut utiliser strcpy(cheminFileStart,"/local/strat.txt"); */
antbig 4:88431b537477 99 /* pour indiquer le fichier à utiliser */
antbig 4:88431b537477 100 /****************************************************************************************/
Sitkah 29:41e02746041d 101 void loadAllInstruction( signed char Strategie);
antbig 0:ad97421fb1fb 102
antbig 4:88431b537477 103 /****************************************************************************************/
antbig 4:88431b537477 104 /* FUNCTION NAME: FileExists */
antbig 4:88431b537477 105 /* DESCRIPTION : Permet de vérifier si un fichier existe */
antbig 4:88431b537477 106 /****************************************************************************************/
antbig 4:88431b537477 107 int FileExists(const char *fname);
antbig 4:88431b537477 108
antbig 0:ad97421fb1fb 109
antbig 0:ad97421fb1fb 110 #endif