Programme carte strategie (disco)
Dependencies: mbed SerialHalfDuplex SDFileSystem DISCO-F469NI_portrait liaison_Bluetooth ident_crac
Robots/Strategie_small.cpp@5:dcd817534b57, 2016-04-23 (annotated)
- Committer:
- antbig
- Date:
- Sat Apr 23 09:16:14 2016 +0000
- Revision:
- 5:dcd817534b57
- Parent:
- 4:88431b537477
- Child:
- 7:dcce34c7e06e
Ajout du choix de la couleur et de l'id de la strat?gie ? utiliser via CAN
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 | 3:19f2285a4757 | 13 | |
antbig | 3:19f2285a4757 | 14 | /****************************************************************************************/ |
antbig | 3:19f2285a4757 | 15 | /* FUNCTION NAME: doAction */ |
antbig | 3:19f2285a4757 | 16 | /* DESCRIPTION : Effectuer une action specifique */ |
antbig | 3:19f2285a4757 | 17 | /****************************************************************************************/ |
antbig | 3:19f2285a4757 | 18 | unsigned char doAction(unsigned char id, unsigned short speed, short angle) { |
antbig | 3:19f2285a4757 | 19 | switch(id) { |
antbig | 3:19f2285a4757 | 20 | case 101://Descendre le bras pour les poissons |
antbig | 3:19f2285a4757 | 21 | if(InversStrat == 1) {//Si c'est inversé, On utilise le bras coté gauche |
antbig | 3:19f2285a4757 | 22 | AX12_setGoal(AX12_ID_BRAS_BASE_INV,200,0x0FF); |
antbig | 3:19f2285a4757 | 23 | AX12_processChange(); |
antbig | 3:19f2285a4757 | 24 | } else { |
antbig | 5:dcd817534b57 | 25 | AX12_setGoal(AX12_ID_BRAS_BASE,140,0x0FF); |
antbig | 5:dcd817534b57 | 26 | AX12_processChange(); |
antbig | 3:19f2285a4757 | 27 | } |
antbig | 3:19f2285a4757 | 28 | break; |
antbig | 3:19f2285a4757 | 29 | case 102://Remonter bras moiter |
antbig | 3:19f2285a4757 | 30 | if(InversStrat == 1) {//Si c'est inversé, On utilise le bras coté gauche |
antbig | 5:dcd817534b57 | 31 | AX12_setGoal(AX12_ID_BRAS_BASE_INV,220,0x0FF); |
antbig | 3:19f2285a4757 | 32 | AX12_processChange(); |
antbig | 3:19f2285a4757 | 33 | } else { |
antbig | 5:dcd817534b57 | 34 | AX12_setGoal(AX12_ID_BRAS_BASE,100,0x0FF); |
antbig | 5:dcd817534b57 | 35 | AX12_processChange(); |
antbig | 3:19f2285a4757 | 36 | } |
antbig | 3:19f2285a4757 | 37 | break; |
antbig | 3:19f2285a4757 | 38 | case 103://Lacher les poissons |
antbig | 3:19f2285a4757 | 39 | if(InversStrat == 1) {//Si c'est inversé, On utilise le bras coté gauche |
antbig | 3:19f2285a4757 | 40 | AX12_setGoal(AX12_ID_BRAS_RELACHEUR_INV,90);//Ouverture du bras |
antbig | 3:19f2285a4757 | 41 | AX12_processChange(); |
antbig | 3:19f2285a4757 | 42 | } else { |
antbig | 5:dcd817534b57 | 43 | AX12_setGoal(AX12_ID_BRAS_RELACHEUR,250);//Ouverture du bras |
antbig | 5:dcd817534b57 | 44 | AX12_processChange(); |
antbig | 3:19f2285a4757 | 45 | } |
antbig | 3:19f2285a4757 | 46 | break; |
antbig | 3:19f2285a4757 | 47 | case 104://Rentrer le bras |
antbig | 3:19f2285a4757 | 48 | if(InversStrat == 1) {//Si c'est inversé, On utilise le bras coté gauche |
antbig | 3:19f2285a4757 | 49 | AX12_setGoal(AX12_ID_BRAS_BASE_INV,278,0x0FF); |
antbig | 3:19f2285a4757 | 50 | AX12_setGoal(AX12_ID_BRAS_RELACHEUR_INV,160);//fermer le bras |
antbig | 3:19f2285a4757 | 51 | AX12_processChange(); |
antbig | 3:19f2285a4757 | 52 | } else { |
antbig | 5:dcd817534b57 | 53 | AX12_setGoal(AX12_ID_BRAS_BASE,55,0x0FF); |
antbig | 5:dcd817534b57 | 54 | AX12_setGoal(AX12_ID_BRAS_RELACHEUR,200);//fermer le bras |
antbig | 5:dcd817534b57 | 55 | AX12_processChange(); |
antbig | 3:19f2285a4757 | 56 | } |
antbig | 3:19f2285a4757 | 57 | break; |
antbig | 5:dcd817534b57 | 58 | case 105: |
antbig | 5:dcd817534b57 | 59 | //AX12_setGoal(AX12_ID_BRAS_RELACHEUR_INV,160);//fermer le bras |
antbig | 5:dcd817534b57 | 60 | //AX12_processChange(); |
antbig | 5:dcd817534b57 | 61 | break; |
antbig | 5:dcd817534b57 | 62 | case 106: |
antbig | 5:dcd817534b57 | 63 | //AX12_setGoal(AX12_ID_BRAS_RELACHEUR_INV,160);//fermer le bras |
antbig | 5:dcd817534b57 | 64 | //AX12_processChange(); |
antbig | 5:dcd817534b57 | 65 | break; |
antbig | 3:19f2285a4757 | 66 | default: |
antbig | 3:19f2285a4757 | 67 | return 0;//L'action n'existe pas, il faut utiliser le CAN |
antbig | 3:19f2285a4757 | 68 | |
antbig | 3:19f2285a4757 | 69 | } |
antbig | 3:19f2285a4757 | 70 | return 1;//L'action est spécifique. |
antbig | 3:19f2285a4757 | 71 | |
antbig | 3:19f2285a4757 | 72 | } |
antbig | 3:19f2285a4757 | 73 | |
antbig | 3:19f2285a4757 | 74 | /****************************************************************************************/ |
antbig | 3:19f2285a4757 | 75 | /* FUNCTION NAME: initRobot */ |
antbig | 3:19f2285a4757 | 76 | /* DESCRIPTION : initialiser le robot */ |
antbig | 3:19f2285a4757 | 77 | /****************************************************************************************/ |
antbig | 3:19f2285a4757 | 78 | void initRobot(void) { |
antbig | 3:19f2285a4757 | 79 | /** |
antbig | 3:19f2285a4757 | 80 | On enregistre les id des AX12 présent sur la carte |
antbig | 3:19f2285a4757 | 81 | **/ |
antbig | 5:dcd817534b57 | 82 | AX12_register(1,AX12_SERIAL1,0x0FF); |
antbig | 5:dcd817534b57 | 83 | AX12_register(2,AX12_SERIAL1); |
antbig | 5:dcd817534b57 | 84 | AX12_register(18,AX12_SERIAL1); |
antbig | 5:dcd817534b57 | 85 | AX12_register(4,AX12_SERIAL2); |
antbig | 5:dcd817534b57 | 86 | AX12_register(16,AX12_SERIAL2); |
antbig | 5:dcd817534b57 | 87 | AX12_register(17,AX12_SERIAL2,0x0FF); |
antbig | 5:dcd817534b57 | 88 | /* |
antbig | 5:dcd817534b57 | 89 | AX12_setGoal(AX12_ID_BRAS_BASE_INV,278,0x0FF); |
antbig | 5:dcd817534b57 | 90 | AX12_setGoal(AX12_ID_BRAS_RELACHEUR_INV,160);//fermer le bras |
antbig | 5:dcd817534b57 | 91 | AX12_setGoal(AX12_ID_BRAS_BASE,278,0x0FF); |
antbig | 5:dcd817534b57 | 92 | AX12_setGoal(AX12_ID_BRAS_RELACHEUR,160);//fermer le bras |
antbig | 5:dcd817534b57 | 93 | AX12_processChange();*/ |
antbig | 3:19f2285a4757 | 94 | } |
antbig | 3:19f2285a4757 | 95 | |
antbig | 4:88431b537477 | 96 | /****************************************************************************************/ |
antbig | 4:88431b537477 | 97 | /* FUNCTION NAME: SelectStrategy */ |
antbig | 4:88431b537477 | 98 | /* DESCRIPTION : Charger le fichier de stratégie correspondante à un id */ |
antbig | 4:88431b537477 | 99 | /* RETURN : 0=> Erreur, 1=> OK si le fichier existe */ |
antbig | 4:88431b537477 | 100 | /****************************************************************************************/ |
antbig | 4:88431b537477 | 101 | int SelectStrategy(unsigned char id) |
antbig | 4:88431b537477 | 102 | { |
antbig | 4:88431b537477 | 103 | switch(id) |
antbig | 4:88431b537477 | 104 | { |
antbig | 4:88431b537477 | 105 | case 1: |
antbig | 4:88431b537477 | 106 | strcpy(cheminFileStart,"/local/strat1.txt"); |
antbig | 4:88431b537477 | 107 | return FileExists(cheminFileStart); |
antbig | 4:88431b537477 | 108 | case 2: |
antbig | 4:88431b537477 | 109 | strcpy(cheminFileStart,"/local/strat2.txt"); |
antbig | 4:88431b537477 | 110 | return FileExists(cheminFileStart); |
antbig | 4:88431b537477 | 111 | default: |
antbig | 4:88431b537477 | 112 | strcpy(cheminFileStart,"/local/strat.txt"); |
antbig | 4:88431b537477 | 113 | return 0; |
antbig | 4:88431b537477 | 114 | } |
antbig | 4:88431b537477 | 115 | } |
antbig | 4:88431b537477 | 116 | |
antbig | 3:19f2285a4757 | 117 | #endif |