Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed SerialHalfDuplex SDFileSystem DISCO-F469NI_portrait liaison_Bluetooth ident_crac
Robots/Strategie_small.cpp@42:657b6a573e11, 2018-05-17 (annotated)
- 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?
User | Revision | Line number | New 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 |