Programme carte strategie (disco)

Dependencies:   mbed SerialHalfDuplex SDFileSystem DISCO-F469NI_portrait liaison_Bluetooth ident_crac

Committer:
kyxstark
Date:
Thu May 23 15:53:48 2019 +0000
Revision:
60:c7632af62d21
Parent:
38:76f886a1c8e6
Carte strat plus lib , mais programme

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