code petit robot pour homologation
Fork of CRAC-Strat_2017_V2 by
Robots/Strategie_small.cpp
- Committer:
- antbig
- Date:
- 2016-04-17
- Revision:
- 4:88431b537477
- Parent:
- 3:19f2285a4757
- Child:
- 5:dcd817534b57
File content as of revision 4:88431b537477:
#include "StrategieManager.h" #ifdef ROBOT_SMALL #include "Config_small.h" /****************************************************************************************/ /* FUNCTION NAME: doFunnyAction */ /* DESCRIPTION : Permet de faire la funny action en fin de partie */ /****************************************************************************************/ void doFunnyAction(void) { } /****************************************************************************************/ /* FUNCTION NAME: doAction */ /* DESCRIPTION : Effectuer une action specifique */ /****************************************************************************************/ unsigned char doAction(unsigned char id, unsigned short speed, short angle) { switch(id) { case 101://Descendre le bras pour les poissons if(InversStrat == 1) {//Si c'est inversé, On utilise le bras coté gauche AX12_setGoal(AX12_ID_BRAS_BASE_INV,200,0x0FF); AX12_processChange(); } else { } break; case 102://Remonter bras moiter if(InversStrat == 1) {//Si c'est inversé, On utilise le bras coté gauche AX12_setGoal(AX12_ID_BRAS_BASE_INV,270,0x0FF); AX12_processChange(); } else { } break; case 103://Lacher les poissons if(InversStrat == 1) {//Si c'est inversé, On utilise le bras coté gauche AX12_setGoal(AX12_ID_BRAS_BASE_INV,210,0x0FF); AX12_processChange(); wait_ms(500);//TODO ajouter une action pour remplacer l'attente bloquante AX12_setGoal(AX12_ID_BRAS_RELACHEUR_INV,90);//Ouverture du bras AX12_processChange(); } else { } break; case 104://Rentrer le bras if(InversStrat == 1) {//Si c'est inversé, On utilise le bras coté gauche AX12_setGoal(AX12_ID_BRAS_BASE_INV,278,0x0FF); AX12_setGoal(AX12_ID_BRAS_RELACHEUR_INV,160);//fermer le bras AX12_processChange(); } else { } break; default: return 0;//L'action n'existe pas, il faut utiliser le CAN } return 1;//L'action est spécifique. } /****************************************************************************************/ /* FUNCTION NAME: initRobot */ /* DESCRIPTION : initialiser le robot */ /****************************************************************************************/ void initRobot(void) { /** On enregistre les id des AX12 présent sur la carte **/ AX12_register(1,0x0FF); AX12_register(2); } /****************************************************************************************/ /* FUNCTION NAME: SelectStrategy */ /* DESCRIPTION : Charger le fichier de stratégie correspondante à un id */ /* RETURN : 0=> Erreur, 1=> OK si le fichier existe */ /****************************************************************************************/ int SelectStrategy(unsigned char id) { switch(id) { case 1: strcpy(cheminFileStart,"/local/strat1.txt"); return FileExists(cheminFileStart); case 2: strcpy(cheminFileStart,"/local/strat2.txt"); return FileExists(cheminFileStart); default: strcpy(cheminFileStart,"/local/strat.txt"); return 0; } } #endif