code petit robot pour homologation
Fork of CRAC-Strat_2017_V2 by
Diff: Robots/Strategie_small.cpp
- Revision:
- 3:19f2285a4757
- Child:
- 4:88431b537477
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Robots/Strategie_small.cpp Sun Apr 17 08:31:59 2016 +0000 @@ -0,0 +1,76 @@ +#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); +} + +#endif