v2019

Dependencies:   CRAC-Strat_2019 SerialHalfDuplex SDFileSystem DISCO-F469NI_portrait liaison_Bluetooth ident_crac

Dependents:   Codeprincipal_2019 CRAC-Strat_2019

Committer:
Sitkah
Date:
Tue May 01 13:25:42 2018 +0000
Revision:
35:742dc6b200b0
Parent:
34:6aa4b46b102e
Child:
36:6dd30780bd8e
bug turn

Who changed what in which revision?

UserRevisionLine numberNew contents of line
antbig 12:14729d584500 1 #ifndef CRAC_IDENTH
antbig 12:14729d584500 2 #define CRAC_IDENTH
antbig 12:14729d584500 3
antbig 12:14729d584500 4
antbig 12:14729d584500 5
antbig 0:ad97421fb1fb 6 #define GLOBAL_GAME_END 0x004 // Stop fin du match
antbig 0:ad97421fb1fb 7 #define GLOBAL_START 0x002 // Start
antbig 0:ad97421fb1fb 8 #define GLOBAL_END_INIT_POSITION 0x005 // Fin positionnement robot avant depart
antbig 5:dcd817534b57 9 #define GLOBAL_FUNNY_ACTION 0x007 // Funny action start (0: start, 1: stop)
ClementBreteau 23:ab87d308eaf9 10 #define GLOBAL_JACK 0x008
ClementBreteau 23:ab87d308eaf9 11 #define ACKNOWLEDGE_JACK 0X009
antbig 0:ad97421fb1fb 12
antbig 12:14729d584500 13 #define BALISE_STOP 0x003 // Trame stop
antbig 12:14729d584500 14
antbig 12:14729d584500 15 #define BALISE_DANGER 0xA // Trame danger
antbig 12:14729d584500 16
antbig 0:ad97421fb1fb 17 #define BALISE_END_DANGER 0xB // Trame fin de danger
antbig 0:ad97421fb1fb 18
antbig 12:14729d584500 19
antbig 0:ad97421fb1fb 20 #define ASSERVISSEMENT_STOP 0x001 // Stop moteur
antbig 5:dcd817534b57 21 #define ASSERVISSEMENT_SPEED_DANGER 0x006 // Vitesse de danger
antbig 0:ad97421fb1fb 22 #define ASSERVISSEMENT_XYT 0x020 // Asservissement (x,y,theta) (0 : au choix 1 : avant -1 : arrière)
antbig 5:dcd817534b57 23 #define ASSERVISSEMENT_COURBURE 0x021 // Asservissement rayon de courbure (+ gauche, - droite , sens : 1avt , -1arr; enchainement => 1 oui, 0 => non, 2=>derniére instruction de l'enchainement)
antbig 5:dcd817534b57 24 #define ASSERVISSEMENT_CONFIG 0x022 // Asservissement paramètre (définir les valeurs de vitesse max et d'eccélération max)
antbig 0:ad97421fb1fb 25 #define ASSERVISSEMENT_ROTATION 0x023 // Asservissement rotation
antbig 0:ad97421fb1fb 26 #define ASSERVISSEMENT_RECALAGE 0x024 // Moteur tout droit (recalage : 0 mouvement seul, 1 x, 2y valeur : coordonnée à laquelle est recalé x/y; enchainement => 1 oui, 0 => non)
Sitkah 30:a1e37af4bbde 27 #define ACTION_BIG_DEMARRAGE 0x025 // Action de départ du GR (Lancement de la trajectoire de départ du GR)
antbig 0:ad97421fb1fb 28 #define ODOMETRIE_BIG_POSITION 0x026 // Odométrie position robot (Position actuel du robot)
antbig 0:ad97421fb1fb 29 #define ODOMETRIE_BIG_VITESSE 0x027 // Odométrie vitesse (Indication sur l'état actuel)
antbig 0:ad97421fb1fb 30 #define ODOMETRIE_SMALL_POSITION 0x028 // Odométrie position robot (Position actuel du robot)
antbig 0:ad97421fb1fb 31 #define ODOMETRIE_SMALL_VITESSE 0x029 // Odométrie vitesse (Indication sur l'état actuel)
Sitkah 30:a1e37af4bbde 32
antbig 0:ad97421fb1fb 33
Sitkah 30:a1e37af4bbde 34
antbig 28:acd18776ed2d 35 #define ASSERVISSEMENT_CONFIG_DECEL 0x019 // Asservissement paramètre (définir les valeurs de vitesse max et de decélération max)
antbig 12:14729d584500 36
Sitkah 30:a1e37af4bbde 37
Sitkah 30:a1e37af4bbde 38 //////////////////////////////////////////////////////////RESETS///////////////////////////////////////////////////
antbig 0:ad97421fb1fb 39 #define RESET_BALISE 0x030 // Reset balise
antbig 0:ad97421fb1fb 40 #define RESET_MOTEUR 0x031 // Reset moteur
antbig 0:ad97421fb1fb 41 #define RESET_IHM 0x032 // Reset écran tactile
antbig 5:dcd817534b57 42 #define RESET_ACTIONNEURS 0x033 // Reset actionneurs
antbig 10:a788d9cf60f2 43 #define RESET_POMPES 0x034 // Reset pompes
Sitkah 30:a1e37af4bbde 44 #define RESET_HERKULEX 0x035 // Reset HERKULEX
ClementBreteau 15:c2fc239e85df 45 #define RESET_TELEMETRE 0x036 // Reset telemetre
antbig 12:14729d584500 46
antbig 12:14729d584500 47
antbig 12:14729d584500 48
antbig 0:ad97421fb1fb 49 #define RESET_STRAT 0x3A // Reset stratégie
antbig 0:ad97421fb1fb 50
Sitkah 30:a1e37af4bbde 51 //////////////////////////////////////////////////////////CHECK CARTES/////////////////////////////////////////////////
antbig 0:ad97421fb1fb 52 #define CHECK_BALISE 0x060 // Check balise
antbig 0:ad97421fb1fb 53 #define CHECK_MOTEUR 0x061 // Check moteur
antbig 0:ad97421fb1fb 54 #define CHECK_IHM 0x062 // Check écran tactile
ClementBreteau 23:ab87d308eaf9 55 #define CHECK_ACTIONNEURS_AVANT 0x063 // Check actionneurs
ClementBreteau 23:ab87d308eaf9 56 #define CHECK_ACTIONNEURS_ARRIERE 0x064 // Check pompes
Sitkah 30:a1e37af4bbde 57 #define CHECK_HERKULEX 0x065 // Check HERKULEX
ClementBreteau 15:c2fc239e85df 58 #define CHECK_OK_TELEMETRE 0x066 // Check telemetre
antbig 12:14729d584500 59
Sitkah 30:a1e37af4bbde 60 //////////////////////////////////////////////////////////ACK CARTES///////////////////////////////////////////////////
antbig 0:ad97421fb1fb 61 #define ALIVE_BALISE 0x070 // Alive balise
antbig 0:ad97421fb1fb 62 #define ALIVE_MOTEUR 0x071 // Alive moteur
antbig 0:ad97421fb1fb 63 #define ALIVE_IHM 0x072 // Alive écran tactile
ClementBreteau 23:ab87d308eaf9 64 #define ALIVE_ACTIONNEURS_AVANT 0x073 // Alive actionneurs
ClementBreteau 23:ab87d308eaf9 65 #define ALIVE_ACTIONNEURS_ARRIERE 0x074 // Alive pompes
Sitkah 30:a1e37af4bbde 66 #define ALIVE_HERKULEX 0x075 // Alive HERKULEX
ClementBreteau 15:c2fc239e85df 67 #define ALIVE_TELEMETRE 0x076 // Alive telemetre
antbig 12:14729d584500 68
antbig 12:14729d584500 69
Sitkah 30:a1e37af4bbde 70 /////////////////////////////////////////////////////ACTIONS COMPLEXES/////////////////////////////////////////////////
Sitkah 30:a1e37af4bbde 71 #define MONTER_IMMEUBLE 0x090 // Monte l'immeuble selon un code couleur
Sitkah 30:a1e37af4bbde 72 #define SERVO_HERKULEX_PROCESS 0x091 // HERKULEX processChange (Lancer le déplacement des HERKULEX)
Sitkah 30:a1e37af4bbde 73 #define SERVO_HERKULEX_DONE 0x092 // HERKULEX done (Indique q'un HERKULEX a terminé son déplacement)
Sitkah 30:a1e37af4bbde 74 #define SERVO_XL320 0x093 // XL320
Sitkah 30:a1e37af4bbde 75 #define ACK_ACTION 0x99 //autre action possible via les herkulex, ne peut pas passer en sendrawid
antbig 12:14729d584500 76
antbig 0:ad97421fb1fb 77
Sitkah 30:a1e37af4bbde 78
Sitkah 30:a1e37af4bbde 79 /////////////////////////////////////////////////////////ACKS////////////////////////////////////////////////////////////
antbig 0:ad97421fb1fb 80 #define ACKNOWLEDGE_BALISE 0x100 // Acknowledge balise
antbig 0:ad97421fb1fb 81 #define ACKNOWLEDGE_MOTEUR 0x101 // Acknowledge moteur
antbig 0:ad97421fb1fb 82 #define ACKNOWLEDGE_IHM 0x102 // Acknowledge ecran tactile
antbig 5:dcd817534b57 83 #define ACKNOWLEDGE_ACTIONNEURS 0x103 // Acknowledge actionneurs
antbig 12:14729d584500 84 #define ACKNOWLEDGE_POMPES 0x104 // Acknowledge pompes
ClementBreteau 14:c8fc06c4887f 85 #define ACKNOWLEDGE_TELEMETRE 0x105 // Acknowledge telemetre
Sitkah 30:a1e37af4bbde 86 #define ACKNOWLEDGE_HERKULEX 0x106 // Ack HERKUlEX
antbig 12:14729d584500 87 #define ACKNOWLEDGE_STRAT 0x10A // Acknowledge pompes
Sitkah 29:41e02746041d 88 #define ACKNOWLEDGE_CAMERA 0x108 //Acknowledge couleur caméra
antbig 0:ad97421fb1fb 89
ClementBreteau 15:c2fc239e85df 90
antbig 0:ad97421fb1fb 91 #define INSTRUCTION_END_BALISE 0x110 // Fin instruction balise (Indique que l'instruction est terminée)
antbig 0:ad97421fb1fb 92 #define INSTRUCTION_END_MOTEUR 0x111 // Fin instruction moteur (Indique que l'instruction est terminée)
antbig 0:ad97421fb1fb 93 #define INSTRUCTION_END_IHM 0x112 // Fin instruction ecran tactile (Indique que l'instruction est terminée)
antbig 5:dcd817534b57 94 #define INSTRUCTION_END_ACTIONNEURS 0x113 // Fin instruction actionneurs (Indique que l'instruction est terminée)
Sitkah 31:833fc481b002 95 #define ACK_FIN_ACTION 0x116
Sitkah 30:a1e37af4bbde 96
antbig 12:14729d584500 97
antbig 0:ad97421fb1fb 98
Sitkah 30:a1e37af4bbde 99 /////////////////////////////////////////////////////////ERREURS////////////////////////////////////////////////////////
antbig 0:ad97421fb1fb 100 #define ERROR_OVERFLOW_BALISE 0x040 // Overflow odométrie
antbig 0:ad97421fb1fb 101 #define ERROR_OVERFLOW_MOTEUR 0x041 // Overflow asservissement
antbig 0:ad97421fb1fb 102 #define ERROR_OVERFLOW_IHM 0x042 // Overflow balise
antbig 0:ad97421fb1fb 103 #define ERROR_OVERFLOW_STRAT 0x043 // Overflow stratégie
antbig 0:ad97421fb1fb 104 #define ERROR_BALISE 0x785 // Bug balise
antbig 0:ad97421fb1fb 105 #define ERROR_RTC 0x786 // Bug RTC
antbig 0:ad97421fb1fb 106 #define ERROR_MOTEUR 0x787 // Bug moteur
antbig 0:ad97421fb1fb 107 #define ERROR_TELEMETRIE 0x788 // Bug télémètre
antbig 0:ad97421fb1fb 108 #define ERROR_STRATEGIE 0x789 // Bug stratégie
antbig 0:ad97421fb1fb 109
Sitkah 30:a1e37af4bbde 110
Sitkah 30:a1e37af4bbde 111
Sitkah 30:a1e37af4bbde 112
Sitkah 30:a1e37af4bbde 113 /////////////////////////////////////////////////ACTIONS SIMPLES DU ROBOT/////////////////////////////////////////////
Sitkah 30:a1e37af4bbde 114 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Sitkah 30:a1e37af4bbde 115 #define BAISSER_ATTRAPE_BLOC 0x220
Sitkah 30:a1e37af4bbde 116 #define RELEVER_ATTRAPE_BLOC 0x221
Sitkah 30:a1e37af4bbde 117
Sitkah 30:a1e37af4bbde 118 #define BAISSER_ATTRAPE_BLOC_EXT_G 0x222
Sitkah 30:a1e37af4bbde 119 #define RELEVER_ATTRAPE_BLOC_EXT_G 0x223
Sitkah 30:a1e37af4bbde 120
Sitkah 30:a1e37af4bbde 121 #define BAISSER_ATTRAPE_BLOC_EXT_D 0x224
Sitkah 30:a1e37af4bbde 122 #define RELEVER_ATTRAPE_BLOC_EXT_D 0x225
Sitkah 30:a1e37af4bbde 123
Sitkah 30:a1e37af4bbde 124 #define BAISSER_ATTRAPE_BLOC_CENTRE_G 0x226
Sitkah 30:a1e37af4bbde 125 #define RELEVER_ATTRAPE_BLOC_CENTRE_G 0x227
Sitkah 30:a1e37af4bbde 126
Sitkah 30:a1e37af4bbde 127 #define BAISSER_ATTRAPE_BLOC_CENTRE_D 0x228
Sitkah 30:a1e37af4bbde 128 #define RELEVER_ATTRAPE_BLOC_CENTRE_D 0x229
Sitkah 30:a1e37af4bbde 129
Sitkah 30:a1e37af4bbde 130 #define BRAS_VENTOUSE_1 0x22A
Sitkah 30:a1e37af4bbde 131 #define BRAS_VENTOUSE_2 0x22B
Sitkah 30:a1e37af4bbde 132
Sitkah 30:a1e37af4bbde 133 #define BRAS_ABEILLE_UP 0x202
Sitkah 30:a1e37af4bbde 134 #define BRAS_ABEILLE_DOWN 0x203
Sitkah 30:a1e37af4bbde 135 #define INCLINAISON_CHATEAU 0x204
Sitkah 30:a1e37af4bbde 136 #define INCLINAISON_EPURATION 0x205
Sitkah 30:a1e37af4bbde 137 #define ALLUMER_PANNEAU_UP 0x206
Sitkah 30:a1e37af4bbde 138 #define ALLUMER_PANNEAU_DOWN 0x207
Sitkah 30:a1e37af4bbde 139 #define BLOCAGE_BALLE 0x208
Sitkah 30:a1e37af4bbde 140 #define LANCEMENT_MOTEUR_TIR_ON 0x209
Sitkah 30:a1e37af4bbde 141 #define LANCEMENT_MOTEUR_TIR_OFF 0x20A
Sitkah 30:a1e37af4bbde 142 #define AIGUILLEUR_CENTRE 0x20B
Sitkah 30:a1e37af4bbde 143 #define AIGUILLEUR_GAUCHE 0x20C
Sitkah 30:a1e37af4bbde 144 #define AIGUILLEUR_DROITE 0x20D
Sitkah 30:a1e37af4bbde 145 #define TRI_BALLE 0x20E
Sitkah 35:742dc6b200b0 146 #define NO_BLOC 0x20F
Sitkah 30:a1e37af4bbde 147
Sitkah 30:a1e37af4bbde 148 ///////////////////////////////////////////CAPTEURS///////////////////////////////////////////////////////////////////
Sitkah 30:a1e37af4bbde 149 #define DATA_TELEMETRE 0x210 // Demande sa valeur à un télémètre parmis les
Sitkah 30:a1e37af4bbde 150 #define RECEPTION_DATA 0x211 // envoi de la valeur d'un des télémètres
Sitkah 30:a1e37af4bbde 151 #define TELEMETRE_OBJET 0x212
Sitkah 30:a1e37af4bbde 152 #define OBJET_SUR_TABLE 0x213
Sitkah 30:a1e37af4bbde 153 #define RECEPTION_RECALAGE 0x215 //Valeur des télémètres
Sitkah 30:a1e37af4bbde 154 #define DATA_RECALAGE 0x216 //Demande de la valeur de tous les télémètres afin de procèder au récalage
Sitkah 30:a1e37af4bbde 155 #define LIRE_PANNEAU 0x217
Sitkah 34:6aa4b46b102e 156 #define VIBRO 0x218
Sitkah 30:a1e37af4bbde 157 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Sitkah 30:a1e37af4bbde 158
Sitkah 30:a1e37af4bbde 159 ///////////////////////////////////////////////////ENVOI DE PARAMETRES//////////////////////////////////////////////////
Sitkah 30:a1e37af4bbde 160 #define CHOICE_COLOR 0x602 // Couleur (0->VERT;1->ORANGE)
Sitkah 30:a1e37af4bbde 161 #define RECEPTION_COULEUR 0x603 //Code Couleur
Sitkah 30:a1e37af4bbde 162 #define ECRAN_ALL_CHECK 0x620 // Carte all check (Si provient de carte strat => toutes les cartes sont en ligne, Si provient IHM => forcer le lancement)
Sitkah 30:a1e37af4bbde 163
Sitkah 30:a1e37af4bbde 164 ///////////////////////////////////////////////////////////DEBUGS///////////////////////////////////////////////////////
antbig 0:ad97421fb1fb 165 #define DEBUG_STRATEGIE_AUTOMATE 0x760 // Etat automate stratégie (Permet de savoir l'etat de l'automate)
antbig 1:116040d14164 166 #define DEBUG_FAKE_JAKE 0x761 // Fake jack (Permet d'outre passerr le JACk du robot)
antbig 5:dcd817534b57 167 #define DEBUG_ASSERV 0x762 // Info debug carte moteur
antbig 0:ad97421fb1fb 168
antbig 10:a788d9cf60f2 169
ClementBreteau 15:c2fc239e85df 170
antbig 10:a788d9cf60f2 171 #define POMPE_PWM 0x9A // pwm des pompes (pwm entre 0 et 100)
Sitkah 29:41e02746041d 172
Sitkah 29:41e02746041d 173
Sitkah 30:a1e37af4bbde 174 #define ASSERVISSEMENT_INFO_CONSIGNE 0x1F0 // Info Consigne et Commande moteur
Sitkah 30:a1e37af4bbde 175 #define ASSERVISSEMENT_CONFIG_KPP_DROITE 0x1F1 // Config coef KPP_Droit
Sitkah 30:a1e37af4bbde 176 #define ASSERVISSEMENT_CONFIG_KPI_DROITE 0x1F2 // Config coef KPI_Droit
Sitkah 30:a1e37af4bbde 177 #define ASSERVISSEMENT_CONFIG_KPD_DROITE 0x1F3 // Config coef KPD_Droit
Sitkah 30:a1e37af4bbde 178 #define ASSERVISSEMENT_CONFIG_KPP_GAUCHE 0x1F4 // Config coef KPP_Gauche
Sitkah 30:a1e37af4bbde 179 #define ASSERVISSEMENT_CONFIG_KPI_GAUCHE 0x1F5 // Config coef KPI_Gauche
Sitkah 30:a1e37af4bbde 180 #define ASSERVISSEMENT_CONFIG_KPD_GAUCHE 0x1F6 // Config coef KPD_Gauche
Sitkah 30:a1e37af4bbde 181 #define ASSERVISSEMENT_ENABLE 0x1F7 // Activation asservissement (0 : désactivation, 1 : activation)
Sitkah 30:a1e37af4bbde 182
antbig 12:14729d584500 183 #endif