pour trouver l'automate de reception can
Fork of CRAC-Strat_copy by
Robots/Strategie_small.cpp@11:ed13a480ddca, 2016-05-02 (annotated)
- Committer:
- antbig
- Date:
- Mon May 02 19:40:59 2016 +0000
- Revision:
- 11:ed13a480ddca
- Parent:
- 10:a788d9cf60f2
- Child:
- 12:14729d584500
Ajout de toutes les actions et de leurs sym?trique
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
antbig | 3:19f2285a4757 | 1 | #include "StrategieManager.h" |
antbig | 3:19f2285a4757 | 2 | #ifdef ROBOT_SMALL |
antbig | 3:19f2285a4757 | 3 | #include "Config_small.h" |
antbig | 3:19f2285a4757 | 4 | |
antbig | 3:19f2285a4757 | 5 | /****************************************************************************************/ |
antbig | 3:19f2285a4757 | 6 | /* FUNCTION NAME: doFunnyAction */ |
antbig | 3:19f2285a4757 | 7 | /* DESCRIPTION : Permet de faire la funny action en fin de partie */ |
antbig | 3:19f2285a4757 | 8 | /****************************************************************************************/ |
antbig | 3:19f2285a4757 | 9 | void doFunnyAction(void) { |
antbig | 3:19f2285a4757 | 10 | |
antbig | 3:19f2285a4757 | 11 | |
antbig | 3:19f2285a4757 | 12 | } |
antbig | 10:a788d9cf60f2 | 13 | //L'angle est entre 0 et 1023 |
antbig | 10:a788d9cf60f2 | 14 | void XL320_setGoal(unsigned char id, unsigned short angle); |
antbig | 10:a788d9cf60f2 | 15 | |
antbig | 10:a788d9cf60f2 | 16 | void XL320_setGoal(unsigned char id, unsigned short angle) |
antbig | 10:a788d9cf60f2 | 17 | { |
antbig | 10:a788d9cf60f2 | 18 | CANMessage msgTx=CANMessage(); |
antbig | 10:a788d9cf60f2 | 19 | msgTx.id=SERVO_XL320; |
antbig | 10:a788d9cf60f2 | 20 | msgTx.len=3; |
antbig | 10:a788d9cf60f2 | 21 | msgTx.format=CANStandard; |
antbig | 10:a788d9cf60f2 | 22 | msgTx.type=CANData; |
antbig | 10:a788d9cf60f2 | 23 | msgTx.data[0]=(unsigned char)id; |
antbig | 10:a788d9cf60f2 | 24 | // from sur 2 octets |
antbig | 10:a788d9cf60f2 | 25 | msgTx.data[1]=(unsigned char)angle; |
antbig | 10:a788d9cf60f2 | 26 | msgTx.data[2]=(unsigned char)(angle>>8); |
antbig | 10:a788d9cf60f2 | 27 | |
antbig | 10:a788d9cf60f2 | 28 | can1.write(msgTx); |
antbig | 10:a788d9cf60f2 | 29 | } |
antbig | 3:19f2285a4757 | 30 | |
antbig | 3:19f2285a4757 | 31 | /****************************************************************************************/ |
antbig | 3:19f2285a4757 | 32 | /* FUNCTION NAME: doAction */ |
antbig | 3:19f2285a4757 | 33 | /* DESCRIPTION : Effectuer une action specifique */ |
antbig | 3:19f2285a4757 | 34 | /****************************************************************************************/ |
antbig | 3:19f2285a4757 | 35 | unsigned char doAction(unsigned char id, unsigned short speed, short angle) { |
antbig | 3:19f2285a4757 | 36 | switch(id) { |
antbig | 10:a788d9cf60f2 | 37 | case 101://Descendre le bras pour pecher les poissons |
antbig | 11:ed13a480ddca | 38 | if(InversStrat == 1) {//Si c'est inversé, On utilise le bras coté droit |
antbig | 11:ed13a480ddca | 39 | AX12_setGoal( |
antbig | 11:ed13a480ddca | 40 | AX12_ID_BRAS_BASE_DROIT, |
antbig | 11:ed13a480ddca | 41 | AX12_ANGLE_BRAS_BASE_DROIT_OUVERT, |
antbig | 11:ed13a480ddca | 42 | AX12_SPEED_BRAS_BASE |
antbig | 11:ed13a480ddca | 43 | ); |
antbig | 3:19f2285a4757 | 44 | AX12_processChange(); |
antbig | 11:ed13a480ddca | 45 | waitingAckID = AX12_ID_BRAS_BASE_DROIT; |
antbig | 11:ed13a480ddca | 46 | waitingAckFrom = SERVO_AX12_DONE; |
antbig | 3:19f2285a4757 | 47 | } else { |
antbig | 11:ed13a480ddca | 48 | AX12_setGoal( |
antbig | 11:ed13a480ddca | 49 | AX12_ID_BRAS_BASE_GAUCHE, |
antbig | 11:ed13a480ddca | 50 | AX12_ANGLE_BRAS_BASE_GAUCHE_OUVERT, |
antbig | 11:ed13a480ddca | 51 | AX12_SPEED_BRAS_BASE |
antbig | 11:ed13a480ddca | 52 | ); |
antbig | 5:dcd817534b57 | 53 | AX12_processChange(); |
antbig | 11:ed13a480ddca | 54 | waitingAckID = AX12_ID_BRAS_BASE_GAUCHE; |
antbig | 11:ed13a480ddca | 55 | waitingAckFrom = SERVO_AX12_DONE; |
antbig | 3:19f2285a4757 | 56 | } |
antbig | 3:19f2285a4757 | 57 | break; |
antbig | 10:a788d9cf60f2 | 58 | case 102://Remonter le bras avec les poissons dessus |
antbig | 11:ed13a480ddca | 59 | if(InversStrat == 1) {//Si c'est inversé, On utilise le bras coté droit |
antbig | 11:ed13a480ddca | 60 | AX12_setGoal( |
antbig | 11:ed13a480ddca | 61 | AX12_ID_BRAS_BASE_DROIT, |
antbig | 11:ed13a480ddca | 62 | AX12_ANGLE_BRAS_BASE_DROIT_MOITER, |
antbig | 11:ed13a480ddca | 63 | AX12_SPEED_BRAS_BASE |
antbig | 11:ed13a480ddca | 64 | ); |
antbig | 3:19f2285a4757 | 65 | AX12_processChange(); |
antbig | 11:ed13a480ddca | 66 | waitingAckID = AX12_ID_BRAS_BASE_DROIT; |
antbig | 11:ed13a480ddca | 67 | waitingAckFrom = SERVO_AX12_DONE; |
antbig | 3:19f2285a4757 | 68 | } else { |
antbig | 11:ed13a480ddca | 69 | AX12_setGoal( |
antbig | 11:ed13a480ddca | 70 | AX12_ID_BRAS_BASE_GAUCHE, |
antbig | 11:ed13a480ddca | 71 | AX12_ANGLE_BRAS_BASE_GAUCHE_MOITER, |
antbig | 11:ed13a480ddca | 72 | AX12_SPEED_BRAS_BASE |
antbig | 11:ed13a480ddca | 73 | ); |
antbig | 5:dcd817534b57 | 74 | AX12_processChange(); |
antbig | 11:ed13a480ddca | 75 | waitingAckID = AX12_ID_BRAS_BASE_GAUCHE; |
antbig | 11:ed13a480ddca | 76 | waitingAckFrom = SERVO_AX12_DONE; |
antbig | 3:19f2285a4757 | 77 | } |
antbig | 3:19f2285a4757 | 78 | break; |
antbig | 10:a788d9cf60f2 | 79 | case 103://Decendre à 30° |
antbig | 11:ed13a480ddca | 80 | if(InversStrat == 1) {//Si c'est inversé, On utilise le bras coté droit |
antbig | 11:ed13a480ddca | 81 | AX12_setGoal( |
antbig | 11:ed13a480ddca | 82 | AX12_ID_BRAS_BASE_DROIT, |
antbig | 11:ed13a480ddca | 83 | AX12_ANGLE_BRAS_BASE_DROIT_RELACHER, |
antbig | 11:ed13a480ddca | 84 | AX12_SPEED_BRAS_BASE |
antbig | 11:ed13a480ddca | 85 | ); |
antbig | 3:19f2285a4757 | 86 | AX12_processChange(); |
antbig | 11:ed13a480ddca | 87 | waitingAckID = AX12_ID_BRAS_BASE_DROIT; |
antbig | 11:ed13a480ddca | 88 | waitingAckFrom = SERVO_AX12_DONE; |
antbig | 3:19f2285a4757 | 89 | } else { |
antbig | 11:ed13a480ddca | 90 | AX12_setGoal( |
antbig | 11:ed13a480ddca | 91 | AX12_ID_BRAS_BASE_GAUCHE, |
antbig | 11:ed13a480ddca | 92 | AX12_ANGLE_BRAS_BASE_GAUCHE_RELACHER, |
antbig | 11:ed13a480ddca | 93 | AX12_SPEED_BRAS_BASE |
antbig | 11:ed13a480ddca | 94 | ); |
antbig | 5:dcd817534b57 | 95 | AX12_processChange(); |
antbig | 11:ed13a480ddca | 96 | waitingAckID = AX12_ID_BRAS_BASE_GAUCHE; |
antbig | 11:ed13a480ddca | 97 | waitingAckFrom = SERVO_AX12_DONE; |
antbig | 3:19f2285a4757 | 98 | } |
antbig | 3:19f2285a4757 | 99 | break; |
antbig | 10:a788d9cf60f2 | 100 | case 104://ouvrir séparateur |
antbig | 11:ed13a480ddca | 101 | if(InversStrat == 1) {//Si c'est inversé, On utilise le bras coté droit |
antbig | 11:ed13a480ddca | 102 | AX12_setGoal( |
antbig | 11:ed13a480ddca | 103 | AX12_ID_BRAS_RELACHEUR_DROIT, |
antbig | 11:ed13a480ddca | 104 | AX12_ANGLE_BRAS_RELACHEUR_DROIT_OUVERT, |
antbig | 11:ed13a480ddca | 105 | AX12_SPEED_BRAS_RELACHEUR |
antbig | 11:ed13a480ddca | 106 | ); |
antbig | 3:19f2285a4757 | 107 | AX12_processChange(); |
antbig | 11:ed13a480ddca | 108 | waitingAckID = AX12_ID_BRAS_RELACHEUR_DROIT; |
antbig | 11:ed13a480ddca | 109 | waitingAckFrom = SERVO_AX12_DONE; |
antbig | 3:19f2285a4757 | 110 | } else { |
antbig | 11:ed13a480ddca | 111 | AX12_setGoal( |
antbig | 11:ed13a480ddca | 112 | AX12_ID_BRAS_RELACHEUR_GAUCHE, |
antbig | 11:ed13a480ddca | 113 | AX12_ANGLE_BRAS_RELACHEUR_GAUCHE_OUVERT, |
antbig | 11:ed13a480ddca | 114 | AX12_SPEED_BRAS_RELACHEUR |
antbig | 11:ed13a480ddca | 115 | ); |
antbig | 5:dcd817534b57 | 116 | AX12_processChange(); |
antbig | 11:ed13a480ddca | 117 | waitingAckID = AX12_ID_BRAS_RELACHEUR_GAUCHE; |
antbig | 11:ed13a480ddca | 118 | waitingAckFrom = SERVO_AX12_DONE; |
antbig | 3:19f2285a4757 | 119 | } |
antbig | 3:19f2285a4757 | 120 | break; |
antbig | 10:a788d9cf60f2 | 121 | case 105://Rentrer le bras dans le robot, fermer le séparateur |
antbig | 11:ed13a480ddca | 122 | if(InversStrat == 1) {//Si c'est inversé, On utilise le bras coté droit |
antbig | 11:ed13a480ddca | 123 | AX12_setGoal( |
antbig | 11:ed13a480ddca | 124 | AX12_ID_BRAS_BASE_DROIT, |
antbig | 11:ed13a480ddca | 125 | AX12_ANGLE_BRAS_BASE_DROIT_REPLIER, |
antbig | 11:ed13a480ddca | 126 | AX12_SPEED_BRAS_BASE |
antbig | 11:ed13a480ddca | 127 | ); |
antbig | 11:ed13a480ddca | 128 | AX12_setGoal( |
antbig | 11:ed13a480ddca | 129 | AX12_ID_BRAS_RELACHEUR_DROIT, |
antbig | 11:ed13a480ddca | 130 | AX12_ANGLE_BRAS_RELACHEUR_DROIT_REPLIER, |
antbig | 11:ed13a480ddca | 131 | AX12_SPEED_BRAS_RELACHEUR |
antbig | 11:ed13a480ddca | 132 | ); |
antbig | 11:ed13a480ddca | 133 | AX12_processChange(); |
antbig | 11:ed13a480ddca | 134 | waitingAckID = AX12_ID_BRAS_BASE_DROIT; |
antbig | 11:ed13a480ddca | 135 | waitingAckFrom = SERVO_AX12_DONE; |
antbig | 11:ed13a480ddca | 136 | } else { |
antbig | 11:ed13a480ddca | 137 | AX12_setGoal( |
antbig | 11:ed13a480ddca | 138 | AX12_ID_BRAS_BASE_GAUCHE, |
antbig | 11:ed13a480ddca | 139 | AX12_ANGLE_BRAS_BASE_GAUCHE_REPLIER, |
antbig | 11:ed13a480ddca | 140 | AX12_SPEED_BRAS_RELACHEUR |
antbig | 11:ed13a480ddca | 141 | ); |
antbig | 11:ed13a480ddca | 142 | AX12_setGoal( |
antbig | 11:ed13a480ddca | 143 | AX12_ID_BRAS_RELACHEUR_GAUCHE, |
antbig | 11:ed13a480ddca | 144 | AX12_ANGLE_BRAS_RELACHEUR_GAUCHE_REPLIER, |
antbig | 11:ed13a480ddca | 145 | AX12_SPEED_BRAS_RELACHEUR |
antbig | 11:ed13a480ddca | 146 | ); |
antbig | 11:ed13a480ddca | 147 | AX12_processChange(); |
antbig | 11:ed13a480ddca | 148 | waitingAckID = AX12_ID_BRAS_BASE_GAUCHE; |
antbig | 11:ed13a480ddca | 149 | waitingAckFrom = SERVO_AX12_DONE; |
antbig | 11:ed13a480ddca | 150 | } |
antbig | 10:a788d9cf60f2 | 151 | break; |
antbig | 11:ed13a480ddca | 152 | case 106://descendre l'attrape coquillages au niveau des rochets gauche si non inversé, droit si inversé |
antbig | 11:ed13a480ddca | 153 | if(InversStrat == 1) {//Si c'est inversé, On utilise le bras coté droit |
antbig | 11:ed13a480ddca | 154 | AX12_setGoal( |
antbig | 11:ed13a480ddca | 155 | AX12_ID_PALET_DROIT, |
antbig | 11:ed13a480ddca | 156 | AX12_ANGLE_PALET_DROIT_ROCHET, |
antbig | 11:ed13a480ddca | 157 | AX12_SPEED_PALET |
antbig | 11:ed13a480ddca | 158 | ); |
antbig | 11:ed13a480ddca | 159 | AX12_processChange(); |
antbig | 11:ed13a480ddca | 160 | waitingAckID = AX12_ID_PALET_DROIT; |
antbig | 11:ed13a480ddca | 161 | waitingAckFrom = SERVO_AX12_DONE; |
antbig | 11:ed13a480ddca | 162 | } else { |
antbig | 11:ed13a480ddca | 163 | AX12_setGoal( |
antbig | 11:ed13a480ddca | 164 | AX12_ID_PALET_GAUCHE, |
antbig | 11:ed13a480ddca | 165 | AX12_ANGLE_PALET_GAUCHE_ROCHET, |
antbig | 11:ed13a480ddca | 166 | AX12_SPEED_PALET |
antbig | 11:ed13a480ddca | 167 | ); |
antbig | 11:ed13a480ddca | 168 | AX12_processChange(); |
antbig | 11:ed13a480ddca | 169 | waitingAckID = AX12_ID_PALET_GAUCHE; |
antbig | 11:ed13a480ddca | 170 | waitingAckFrom = SERVO_AX12_DONE; |
antbig | 11:ed13a480ddca | 171 | } |
antbig | 11:ed13a480ddca | 172 | break; |
antbig | 11:ed13a480ddca | 173 | case 107://descendre l'attrape coquillages au niveau de la table gauche si non inversé, droit si inversé |
antbig | 11:ed13a480ddca | 174 | if(InversStrat == 1) {//Si c'est inversé, On utilise le bras coté droit |
antbig | 11:ed13a480ddca | 175 | AX12_setGoal( |
antbig | 11:ed13a480ddca | 176 | AX12_ID_PALET_DROIT, |
antbig | 11:ed13a480ddca | 177 | AX12_ANGLE_PALET_DROIT_OUVERT, |
antbig | 11:ed13a480ddca | 178 | AX12_SPEED_PALET |
antbig | 11:ed13a480ddca | 179 | ); |
antbig | 11:ed13a480ddca | 180 | AX12_processChange(); |
antbig | 11:ed13a480ddca | 181 | waitingAckID = AX12_ID_PALET_DROIT; |
antbig | 11:ed13a480ddca | 182 | waitingAckFrom = SERVO_AX12_DONE; |
antbig | 11:ed13a480ddca | 183 | } else { |
antbig | 11:ed13a480ddca | 184 | AX12_setGoal( |
antbig | 11:ed13a480ddca | 185 | AX12_ID_PALET_GAUCHE, |
antbig | 11:ed13a480ddca | 186 | AX12_ANGLE_PALET_GAUCHE_OUVERT, |
antbig | 11:ed13a480ddca | 187 | AX12_SPEED_PALET |
antbig | 11:ed13a480ddca | 188 | ); |
antbig | 11:ed13a480ddca | 189 | AX12_processChange(); |
antbig | 11:ed13a480ddca | 190 | waitingAckID = AX12_ID_PALET_GAUCHE; |
antbig | 11:ed13a480ddca | 191 | waitingAckFrom = SERVO_AX12_DONE; |
antbig | 11:ed13a480ddca | 192 | } |
antbig | 11:ed13a480ddca | 193 | break; |
antbig | 11:ed13a480ddca | 194 | case 108://Remonter l'attrape coquillages gauche si non inversé, droit si inversé |
antbig | 11:ed13a480ddca | 195 | if(InversStrat == 1) {//Si c'est inversé, On utilise le bras coté droit |
antbig | 11:ed13a480ddca | 196 | AX12_setGoal( |
antbig | 11:ed13a480ddca | 197 | AX12_ID_PALET_DROIT, |
antbig | 11:ed13a480ddca | 198 | AX12_ANGLE_PALET_DROIT_FERMER, |
antbig | 11:ed13a480ddca | 199 | AX12_SPEED_PALET |
antbig | 11:ed13a480ddca | 200 | ); |
antbig | 11:ed13a480ddca | 201 | AX12_processChange(); |
antbig | 11:ed13a480ddca | 202 | waitingAckID = AX12_ID_PALET_DROIT; |
antbig | 11:ed13a480ddca | 203 | waitingAckFrom = SERVO_AX12_DONE; |
antbig | 11:ed13a480ddca | 204 | } else { |
antbig | 11:ed13a480ddca | 205 | AX12_setGoal( |
antbig | 11:ed13a480ddca | 206 | AX12_ID_PALET_GAUCHE, |
antbig | 11:ed13a480ddca | 207 | AX12_ANGLE_PALET_GAUCHE_FERMER, |
antbig | 11:ed13a480ddca | 208 | AX12_SPEED_PALET |
antbig | 11:ed13a480ddca | 209 | ); |
antbig | 11:ed13a480ddca | 210 | AX12_processChange(); |
antbig | 11:ed13a480ddca | 211 | waitingAckID = AX12_ID_PALET_GAUCHE; |
antbig | 11:ed13a480ddca | 212 | waitingAckFrom = SERVO_AX12_DONE; |
antbig | 11:ed13a480ddca | 213 | } |
antbig | 5:dcd817534b57 | 214 | break; |
antbig | 10:a788d9cf60f2 | 215 | |
antbig | 11:ed13a480ddca | 216 | |
antbig | 10:a788d9cf60f2 | 217 | case 200://ouvir la pince gauche |
antbig | 11:ed13a480ddca | 218 | if(InversStrat == 1) { |
antbig | 11:ed13a480ddca | 219 | XL320_setGoal(XL320_ID_PINCE_DROITE, XL320_ANGLE_PINCE_DROITE_FERMER); |
antbig | 11:ed13a480ddca | 220 | } else { |
antbig | 11:ed13a480ddca | 221 | XL320_setGoal(XL320_ID_PINCE_GAUCHE, XL320_ANGLE_PINCE_GAUCHE_FERMER); |
antbig | 11:ed13a480ddca | 222 | } |
antbig | 10:a788d9cf60f2 | 223 | break; |
antbig | 10:a788d9cf60f2 | 224 | case 205://Sécuriser le palet gauche |
antbig | 11:ed13a480ddca | 225 | if(InversStrat == 1) { |
antbig | 11:ed13a480ddca | 226 | XL320_setGoal(XL320_ID_PINCE_DROITE, XL320_ANGLE_PINCE_DROITE_SECURISE); |
antbig | 11:ed13a480ddca | 227 | } else { |
antbig | 11:ed13a480ddca | 228 | XL320_setGoal(XL320_ID_PINCE_GAUCHE, XL320_ANGLE_PINCE_GAUCHE_SECURISE); |
antbig | 11:ed13a480ddca | 229 | } |
antbig | 10:a788d9cf60f2 | 230 | break; |
antbig | 10:a788d9cf60f2 | 231 | case 202://fermer pince gauche |
antbig | 11:ed13a480ddca | 232 | if(InversStrat == 1) { |
antbig | 11:ed13a480ddca | 233 | XL320_setGoal(XL320_ID_PINCE_DROITE, XL320_ANGLE_PINCE_DROITE_FERMER); |
antbig | 11:ed13a480ddca | 234 | } else { |
antbig | 11:ed13a480ddca | 235 | XL320_setGoal(XL320_ID_PINCE_GAUCHE, XL320_ANGLE_PINCE_GAUCHE_FERMER); |
antbig | 11:ed13a480ddca | 236 | } |
antbig | 10:a788d9cf60f2 | 237 | break; |
antbig | 10:a788d9cf60f2 | 238 | |
antbig | 10:a788d9cf60f2 | 239 | case 201://ouvir la pince droite |
antbig | 11:ed13a480ddca | 240 | if(InversStrat == 1) { |
antbig | 11:ed13a480ddca | 241 | XL320_setGoal(XL320_ID_PINCE_GAUCHE, XL320_ANGLE_PINCE_GAUCHE_OUVERTE); |
antbig | 11:ed13a480ddca | 242 | } else { |
antbig | 11:ed13a480ddca | 243 | XL320_setGoal(XL320_ID_PINCE_DROITE, XL320_ANGLE_PINCE_DROITE_OUVERTE); |
antbig | 11:ed13a480ddca | 244 | } |
antbig | 10:a788d9cf60f2 | 245 | break; |
antbig | 10:a788d9cf60f2 | 246 | case 204://Sécuriser le palet droit |
antbig | 11:ed13a480ddca | 247 | if(InversStrat == 1) { |
antbig | 11:ed13a480ddca | 248 | XL320_setGoal(XL320_ID_PINCE_GAUCHE, XL320_ANGLE_PINCE_GAUCHE_SECURISE); |
antbig | 11:ed13a480ddca | 249 | } else { |
antbig | 11:ed13a480ddca | 250 | XL320_setGoal(XL320_ID_PINCE_DROITE, XL320_ANGLE_PINCE_DROITE_SECURISE); |
antbig | 11:ed13a480ddca | 251 | } |
antbig | 10:a788d9cf60f2 | 252 | break; |
antbig | 10:a788d9cf60f2 | 253 | case 203://fermer pince droite |
antbig | 11:ed13a480ddca | 254 | if(InversStrat == 1) { |
antbig | 11:ed13a480ddca | 255 | XL320_setGoal(XL320_ID_PINCE_GAUCHE, XL320_ANGLE_PINCE_GAUCHE_FERMER); |
antbig | 11:ed13a480ddca | 256 | } else { |
antbig | 11:ed13a480ddca | 257 | XL320_setGoal(XL320_ID_PINCE_DROITE, XL320_ANGLE_PINCE_DROITE_FERMER); |
antbig | 11:ed13a480ddca | 258 | } |
antbig | 10:a788d9cf60f2 | 259 | break; |
antbig | 10:a788d9cf60f2 | 260 | |
antbig | 3:19f2285a4757 | 261 | default: |
antbig | 10:a788d9cf60f2 | 262 | return 0;//L'action n'existe pas, il faut utiliser le CAN |
antbig | 3:19f2285a4757 | 263 | |
antbig | 3:19f2285a4757 | 264 | } |
antbig | 11:ed13a480ddca | 265 | return 1;//L'action est spécifique. |
antbig | 3:19f2285a4757 | 266 | |
antbig | 3:19f2285a4757 | 267 | } |
antbig | 3:19f2285a4757 | 268 | |
antbig | 3:19f2285a4757 | 269 | /****************************************************************************************/ |
antbig | 3:19f2285a4757 | 270 | /* FUNCTION NAME: initRobot */ |
antbig | 3:19f2285a4757 | 271 | /* DESCRIPTION : initialiser le robot */ |
antbig | 3:19f2285a4757 | 272 | /****************************************************************************************/ |
antbig | 3:19f2285a4757 | 273 | void initRobot(void) { |
antbig | 3:19f2285a4757 | 274 | /** |
antbig | 3:19f2285a4757 | 275 | On enregistre les id des AX12 présent sur la carte |
antbig | 3:19f2285a4757 | 276 | **/ |
antbig | 5:dcd817534b57 | 277 | AX12_register(1,AX12_SERIAL1,0x0FF); |
antbig | 5:dcd817534b57 | 278 | AX12_register(2,AX12_SERIAL1); |
antbig | 5:dcd817534b57 | 279 | AX12_register(18,AX12_SERIAL1); |
antbig | 5:dcd817534b57 | 280 | AX12_register(4,AX12_SERIAL2); |
antbig | 5:dcd817534b57 | 281 | AX12_register(16,AX12_SERIAL2); |
antbig | 5:dcd817534b57 | 282 | AX12_register(17,AX12_SERIAL2,0x0FF); |
antbig | 5:dcd817534b57 | 283 | /* |
antbig | 5:dcd817534b57 | 284 | AX12_setGoal(AX12_ID_BRAS_BASE_INV,278,0x0FF); |
antbig | 5:dcd817534b57 | 285 | AX12_setGoal(AX12_ID_BRAS_RELACHEUR_INV,160);//fermer le bras |
antbig | 5:dcd817534b57 | 286 | AX12_setGoal(AX12_ID_BRAS_BASE,278,0x0FF); |
antbig | 5:dcd817534b57 | 287 | AX12_setGoal(AX12_ID_BRAS_RELACHEUR,160);//fermer le bras |
antbig | 5:dcd817534b57 | 288 | AX12_processChange();*/ |
antbig | 3:19f2285a4757 | 289 | } |
antbig | 3:19f2285a4757 | 290 | |
antbig | 4:88431b537477 | 291 | /****************************************************************************************/ |
antbig | 9:d0042422d95a | 292 | /* FUNCTION NAME: runTest */ |
antbig | 9:d0042422d95a | 293 | /* DESCRIPTION : tester l'ensemble des actionneurs du robot */ |
antbig | 9:d0042422d95a | 294 | /****************************************************************************************/ |
antbig | 9:d0042422d95a | 295 | void runRobotTest(void) |
antbig | 9:d0042422d95a | 296 | { |
antbig | 9:d0042422d95a | 297 | |
antbig | 9:d0042422d95a | 298 | } |
antbig | 9:d0042422d95a | 299 | |
antbig | 9:d0042422d95a | 300 | /****************************************************************************************/ |
antbig | 4:88431b537477 | 301 | /* FUNCTION NAME: SelectStrategy */ |
antbig | 4:88431b537477 | 302 | /* DESCRIPTION : Charger le fichier de stratégie correspondante à un id */ |
antbig | 4:88431b537477 | 303 | /* RETURN : 0=> Erreur, 1=> OK si le fichier existe */ |
antbig | 4:88431b537477 | 304 | /****************************************************************************************/ |
antbig | 4:88431b537477 | 305 | int SelectStrategy(unsigned char id) |
antbig | 4:88431b537477 | 306 | { |
antbig | 4:88431b537477 | 307 | switch(id) |
antbig | 4:88431b537477 | 308 | { |
antbig | 4:88431b537477 | 309 | case 1: |
antbig | 4:88431b537477 | 310 | strcpy(cheminFileStart,"/local/strat1.txt"); |
antbig | 4:88431b537477 | 311 | return FileExists(cheminFileStart); |
antbig | 4:88431b537477 | 312 | case 2: |
antbig | 4:88431b537477 | 313 | strcpy(cheminFileStart,"/local/strat2.txt"); |
antbig | 4:88431b537477 | 314 | return FileExists(cheminFileStart); |
antbig | 7:dcce34c7e06e | 315 | case 3: |
antbig | 7:dcce34c7e06e | 316 | strcpy(cheminFileStart,"/local/strat3.txt"); |
antbig | 7:dcce34c7e06e | 317 | return FileExists(cheminFileStart); |
antbig | 11:ed13a480ddca | 318 | case 4: |
antbig | 11:ed13a480ddca | 319 | strcpy(cheminFileStart,"/local/strat4.txt"); |
antbig | 11:ed13a480ddca | 320 | return FileExists(cheminFileStart); |
antbig | 11:ed13a480ddca | 321 | case 5: |
antbig | 11:ed13a480ddca | 322 | strcpy(cheminFileStart,"/local/strat5.txt"); |
antbig | 11:ed13a480ddca | 323 | return FileExists(cheminFileStart); |
antbig | 4:88431b537477 | 324 | default: |
antbig | 4:88431b537477 | 325 | strcpy(cheminFileStart,"/local/strat.txt"); |
antbig | 4:88431b537477 | 326 | return 0; |
antbig | 4:88431b537477 | 327 | } |
antbig | 4:88431b537477 | 328 | } |
antbig | 4:88431b537477 | 329 | |
antbig | 3:19f2285a4757 | 330 | #endif |