CRAC Team / Mbed 2 deprecated carte_strategie_2019

Dependencies:   mbed SerialHalfDuplex SDFileSystem DISCO-F469NI_portrait liaison_Bluetooth ident_crac

Committer:
Sitkah
Date:
Thu May 17 13:08:31 2018 +0000
Revision:
42:657b6a573e11
Parent:
38:76f886a1c8e6
Child:
45:4f93e99bac6e
useless

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Sitkah 29:41e02746041d 1 #include "global.h"
Sitkah 38:76f886a1c8e6 2
antbig 3:19f2285a4757 3 #ifdef ROBOT_SMALL
Sitkah 29:41e02746041d 4
antbig 3:19f2285a4757 5
antbig 12:14729d584500 6 unsigned char isStopEnable = 1;//Permet de savoir si il faut autoriser le stop via les balises
ClementBreteau 21:590cdacb6a35 7 //unsigned short telemetreDistance;
ClementBreteau 18:cc5fec34ed9c 8
antbig 12:14729d584500 9
antbig 3:19f2285a4757 10 /****************************************************************************************/
antbig 3:19f2285a4757 11 /* FUNCTION NAME: doFunnyAction */
antbig 3:19f2285a4757 12 /* DESCRIPTION : Permet de faire la funny action en fin de partie */
antbig 3:19f2285a4757 13 /****************************************************************************************/
antbig 3:19f2285a4757 14 void doFunnyAction(void) {
antbig 3:19f2285a4757 15
antbig 3:19f2285a4757 16
antbig 3:19f2285a4757 17 }
antbig 3:19f2285a4757 18
ClementBreteau 18:cc5fec34ed9c 19
Sitkah 42:657b6a573e11 20 /*************************************************************************************************/
Sitkah 42:657b6a573e11 21 /* FUNCTION NAME: doAction */
Sitkah 42:657b6a573e11 22 /* DESCRIPTION : Effectuer une action specifique correspondant au numéro dans le fichier strat */
Sitkah 42:657b6a573e11 23 /*************************************************************************************************/
Sitkah 34:6aa4b46b102e 24 unsigned char doAction(unsigned char id, unsigned short arg1, short arg2) {
ClementBreteau 18:cc5fec34ed9c 25 int retour = 1;
Sitkah 34:6aa4b46b102e 26 CANMessage msgTx=CANMessage();
Sitkah 34:6aa4b46b102e 27 msgTx.format=CANStandard;
Sitkah 34:6aa4b46b102e 28 msgTx.type=CANData;
antbig 3:19f2285a4757 29 switch(id) {
Sitkah 30:a1e37af4bbde 30 case 101: //baisser attrape bloc avant
Sitkah 30:a1e37af4bbde 31 SendRawId(BAISSER_ATTRAPE_BLOC);
Sitkah 30:a1e37af4bbde 32 break;
Sitkah 30:a1e37af4bbde 33 case 102: //Relever attrape bloc avant
Sitkah 30:a1e37af4bbde 34 SendRawId(RELEVER_ATTRAPE_BLOC);
Sitkah 30:a1e37af4bbde 35 break;
Sitkah 30:a1e37af4bbde 36 case 115: //allumer panneau
Sitkah 30:a1e37af4bbde 37 SendRawId(ALLUMER_PANNEAU_UP);
Sitkah 30:a1e37af4bbde 38 break;
Sitkah 30:a1e37af4bbde 39 case 116: //range le bras qui allume le panneau
Sitkah 30:a1e37af4bbde 40 SendRawId(ALLUMER_PANNEAU_DOWN);
Sitkah 30:a1e37af4bbde 41 break;
Sitkah 30:a1e37af4bbde 42 case 117: //lève le bras pour pousser l'abeille
Sitkah 30:a1e37af4bbde 43 SendRawId(BRAS_ABEILLE_UP);
Sitkah 30:a1e37af4bbde 44 break;
Sitkah 30:a1e37af4bbde 45 case 118: //abaisse le bras qui pousse l'abeille
Sitkah 30:a1e37af4bbde 46 SendRawId(BRAS_ABEILLE_DOWN);
Sitkah 30:a1e37af4bbde 47 break;
Sitkah 30:a1e37af4bbde 48 case 130: //Inclinaison pour viser le chateau d'eau
Sitkah 30:a1e37af4bbde 49 SendRawId(INCLINAISON_CHATEAU);
Sitkah 30:a1e37af4bbde 50 break;
Sitkah 30:a1e37af4bbde 51 case 131: //inclinaison pour deverser les balles sales
Sitkah 30:a1e37af4bbde 52 SendRawId(INCLINAISON_EPURATION);
Sitkah 30:a1e37af4bbde 53 break;
Sitkah 30:a1e37af4bbde 54 case 132: //blocage des balles
Sitkah 30:a1e37af4bbde 55 SendRawId(BLOCAGE_BALLE);
Sitkah 30:a1e37af4bbde 56 break;
Sitkah 30:a1e37af4bbde 57 case 133: //lance le pwm de tir
Sitkah 34:6aa4b46b102e 58 msgTx.id=LANCEMENT_MOTEUR_TIR_ON;
Sitkah 34:6aa4b46b102e 59
Sitkah 34:6aa4b46b102e 60 msgTx.len=1;
Sitkah 34:6aa4b46b102e 61 msgTx.data[0]=arg1;
Sitkah 34:6aa4b46b102e 62 can2.write(msgTx);
Sitkah 30:a1e37af4bbde 63 break;
Sitkah 30:a1e37af4bbde 64 case 134: ///Arrete le pwm de tir
Sitkah 30:a1e37af4bbde 65 SendRawId(LANCEMENT_MOTEUR_TIR_OFF);
Sitkah 30:a1e37af4bbde 66 break;
Sitkah 30:a1e37af4bbde 67 case 135://position aiguilleur au centre
Sitkah 30:a1e37af4bbde 68 SendRawId(AIGUILLEUR_CENTRE);
Sitkah 30:a1e37af4bbde 69 break;
Sitkah 30:a1e37af4bbde 70 case 136://position aiguilleur à gauche
Sitkah 30:a1e37af4bbde 71 SendRawId(AIGUILLEUR_GAUCHE);
Sitkah 30:a1e37af4bbde 72 break;
Sitkah 30:a1e37af4bbde 73 case 137://position aiguilleur à droite
Sitkah 30:a1e37af4bbde 74 SendRawId(AIGUILLEUR_DROITE);
Sitkah 30:a1e37af4bbde 75 break;
Sitkah 30:a1e37af4bbde 76 case 138://position aiguilleur au centre
Sitkah 30:a1e37af4bbde 77 SendRawId(TRI_BALLE);
Sitkah 30:a1e37af4bbde 78 break;
Sitkah 34:6aa4b46b102e 79 case 139:
Sitkah 34:6aa4b46b102e 80 SendRawId(VIBRO);
Sitkah 34:6aa4b46b102e 81 break;
Sitkah 34:6aa4b46b102e 82
Sitkah 38:76f886a1c8e6 83 case 150:
Sitkah 38:76f886a1c8e6 84 SCORE_PR+=arg1;
Sitkah 38:76f886a1c8e6 85 liaison_Tx.envoyer_short(0x30,SCORE_PR);
Sitkah 38:76f886a1c8e6 86 waitingAckFrom = 0;
Sitkah 38:76f886a1c8e6 87 waitingAckID = 0;
Sitkah 38:76f886a1c8e6 88 break;
Sitkah 38:76f886a1c8e6 89
ClementBreteau 16:7321fb3bb396 90
ClementBreteau 18:cc5fec34ed9c 91 case 200 :
Sitkah 30:a1e37af4bbde 92 SendRawId(DATA_TELEMETRE);
Sitkah 30:a1e37af4bbde 93 /*telemetreDistance = dataTelemetre();
ClementBreteau 18:cc5fec34ed9c 94 wait_ms(1);
ClementBreteau 18:cc5fec34ed9c 95 telemetreDistance = dataTelemetre();
Sitkah 30:a1e37af4bbde 96 telemetreDistance = telemetreDistance - 170;*/
ClementBreteau 18:cc5fec34ed9c 97 break;
ClementBreteau 18:cc5fec34ed9c 98
ClementBreteau 18:cc5fec34ed9c 99 case 201 :
Sitkah 30:a1e37af4bbde 100 SendRawId(0x99);
ClementBreteau 18:cc5fec34ed9c 101 retour = 2;
antbig 10:a788d9cf60f2 102 break;
ClementBreteau 15:c2fc239e85df 103
antbig 12:14729d584500 104 case 10://Désactiver le stop
antbig 12:14729d584500 105 isStopEnable = 0;
antbig 12:14729d584500 106 break;
antbig 12:14729d584500 107 case 11://Activer le stop
antbig 12:14729d584500 108 isStopEnable = 1;
antbig 12:14729d584500 109 break;
antbig 12:14729d584500 110 case 20://Désactiver l'asservissement
antbig 12:14729d584500 111 setAsservissementEtat(0);
antbig 12:14729d584500 112 break;
antbig 12:14729d584500 113 case 21://Activer l'asservissement
antbig 12:14729d584500 114 setAsservissementEtat(1);
ClementBreteau 16:7321fb3bb396 115 break;
ClementBreteau 16:7321fb3bb396 116
Sitkah 34:6aa4b46b102e 117 case 22://Changer la vitesse du robot
Sitkah 34:6aa4b46b102e 118 SendSpeed(arg1,(unsigned short)arg2);
ClementBreteau 18:cc5fec34ed9c 119 wait_us(200);
antbig 28:acd18776ed2d 120 waitingAckFrom = 0;
antbig 28:acd18776ed2d 121 waitingAckID = 0;
antbig 28:acd18776ed2d 122 break;
antbig 28:acd18776ed2d 123
antbig 28:acd18776ed2d 124 case 19: // CHANGER LA VITESSE + DECELERATION
Sitkah 34:6aa4b46b102e 125 SendSpeedDecel(arg1,(unsigned short) arg2);
antbig 28:acd18776ed2d 126 wait_us(200);
antbig 28:acd18776ed2d 127 waitingAckFrom = 0;
antbig 28:acd18776ed2d 128 waitingAckID =0;
ClementBreteau 16:7321fb3bb396 129 break;
ClementBreteau 16:7321fb3bb396 130
ClementBreteau 16:7321fb3bb396 131 case 30://Action tempo
Sitkah 34:6aa4b46b102e 132 wait_ms(arg1);
antbig 12:14729d584500 133 break;
Sitkah 34:6aa4b46b102e 134
antbig 3:19f2285a4757 135 default:
ClementBreteau 18:cc5fec34ed9c 136 retour = 0;//L'action n'existe pas, il faut utiliser le CAN
antbig 3:19f2285a4757 137
antbig 3:19f2285a4757 138 }
ClementBreteau 18:cc5fec34ed9c 139 return retour;//L'action est spécifique.
antbig 3:19f2285a4757 140
antbig 3:19f2285a4757 141 }
antbig 3:19f2285a4757 142
antbig 3:19f2285a4757 143
antbig 4:88431b537477 144
antbig 12:14729d584500 145 /****************************************************************************************/
antbig 12:14729d584500 146 /* FUNCTION NAME: needToStop */
antbig 12:14729d584500 147 /* DESCRIPTION : Savoir si il faut autoriser le stop du robot via balise */
antbig 12:14729d584500 148 /****************************************************************************************/
antbig 12:14729d584500 149 unsigned char needToStop(void)
antbig 12:14729d584500 150 {
antbig 12:14729d584500 151 return isStopEnable;
antbig 12:14729d584500 152 }
antbig 12:14729d584500 153
antbig 12:14729d584500 154 /****************************************************************************************/
antbig 12:14729d584500 155 /* FUNCTION NAME: doBeforeEndAction */
antbig 12:14729d584500 156 /* DESCRIPTION : Terminer les actions du robot 1s avant la fin du match */
antbig 12:14729d584500 157 /****************************************************************************************/
antbig 12:14729d584500 158 void doBeforeEndAction(void)
antbig 12:14729d584500 159 {
antbig 12:14729d584500 160
antbig 12:14729d584500 161 }
antbig 12:14729d584500 162
antbig 3:19f2285a4757 163 #endif