CRAC Team / Mbed 2 deprecated code_carte_IHM_avec_modifs

Dependencies:   mbed SerialHalfDuplex SDFileSystem liaison_Bluetooth ident_crac DISCO-F469NI_portrait

Committer:
gabrieltetar
Date:
Tue Mar 03 16:41:33 2020 +0000
Revision:
10:1964bb91b925
Parent:
6:ef2418d23a06
Child:
12:227c15c7ebe6
restructred demo menu - features added

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gabrieltetar 1:7e925468f9d9 1 #include "global.h"
gabrieltetar 1:7e925468f9d9 2
gabrieltetar 10:1964bb91b925 3 #ifdef ROBOT_SMALL
gabrieltetar 10:1964bb91b925 4
gabrieltetar 1:7e925468f9d9 5 unsigned short distance_recalage;
gabrieltetar 1:7e925468f9d9 6 unsigned short distance_revenir;
gabrieltetar 1:7e925468f9d9 7
gabrieltetar 1:7e925468f9d9 8 unsigned short x;
gabrieltetar 1:7e925468f9d9 9 unsigned short y;
gabrieltetar 1:7e925468f9d9 10 unsigned char isStopEnable = 1;//Permet de savoir si il faut autoriser le stop via les balises
gabrieltetar 1:7e925468f9d9 11 //unsigned short telemetreDistance;
gabrieltetar 1:7e925468f9d9 12
gabrieltetar 1:7e925468f9d9 13
gabrieltetar 1:7e925468f9d9 14 /****************************************************************************************/
gabrieltetar 1:7e925468f9d9 15 /* FUNCTION NAME: doFunnyAction */
gabrieltetar 1:7e925468f9d9 16 /* DESCRIPTION : Permet de faire la funny action en fin de partie */
gabrieltetar 1:7e925468f9d9 17 /****************************************************************************************/
gabrieltetar 1:7e925468f9d9 18 void doFunnyAction(void)
gabrieltetar 1:7e925468f9d9 19 {
gabrieltetar 1:7e925468f9d9 20
gabrieltetar 1:7e925468f9d9 21
gabrieltetar 1:7e925468f9d9 22 }
gabrieltetar 1:7e925468f9d9 23
gabrieltetar 1:7e925468f9d9 24
gabrieltetar 1:7e925468f9d9 25 /*************************************************************************************************/
gabrieltetar 1:7e925468f9d9 26 /* FUNCTION NAME: doAction */
gabrieltetar 1:7e925468f9d9 27 /* DESCRIPTION : Effectuer une action specifique correspondant au numéro dans le fichier strat */
gabrieltetar 1:7e925468f9d9 28 /*************************************************************************************************/
gabrieltetar 1:7e925468f9d9 29 unsigned char doAction(unsigned char id, unsigned short arg1, short arg2)
gabrieltetar 1:7e925468f9d9 30 {
gabrieltetar 1:7e925468f9d9 31 int retour = 1;
gabrieltetar 1:7e925468f9d9 32 CANMessage msgTx=CANMessage();
gabrieltetar 1:7e925468f9d9 33 msgTx.format=CANStandard;
gabrieltetar 1:7e925468f9d9 34 msgTx.type=CANData;
gabrieltetar 1:7e925468f9d9 35 //SendMsgCan(0x5BB, &id,1);
gabrieltetar 1:7e925468f9d9 36 switch(id) {
gabrieltetar 1:7e925468f9d9 37 case 101: //bras gabarit
gabrieltetar 1:7e925468f9d9 38 SendRawId(GABARIT_PETIT_ROBOT);
gabrieltetar 1:7e925468f9d9 39 break;
gabrieltetar 1:7e925468f9d9 40 case 102: //attraper presentoir avant
gabrieltetar 1:7e925468f9d9 41 SendRawId(PRESENTOIR_AVANT);
gabrieltetar 1:7e925468f9d9 42 break;
gabrieltetar 1:7e925468f9d9 43 case 103: //attraper presentoir arriere
gabrieltetar 1:7e925468f9d9 44 SendRawId(PRESENTOIR_ARRIERE);
gabrieltetar 1:7e925468f9d9 45 break;
gabrieltetar 1:7e925468f9d9 46 case 104: //balance avant
gabrieltetar 1:7e925468f9d9 47 SendRawId(BALANCE_AVANT);
gabrieltetar 1:7e925468f9d9 48 break;
gabrieltetar 1:7e925468f9d9 49 case 105: //balance arriere
gabrieltetar 1:7e925468f9d9 50 SendRawId(BALANCE_ARRIERE);
gabrieltetar 1:7e925468f9d9 51 break;
gabrieltetar 1:7e925468f9d9 52 case 106: //accelerateur avant
gabrieltetar 1:7e925468f9d9 53 //SendRawId(ACCELERATEUR_AVANT);
gabrieltetar 1:7e925468f9d9 54 distance_recalage=arg1;
gabrieltetar 1:7e925468f9d9 55 distance_revenir=arg2;
gabrieltetar 1:7e925468f9d9 56 Send2Short(ACCELERATEUR_AVANT, distance_recalage,distance_revenir);
gabrieltetar 1:7e925468f9d9 57 break;
gabrieltetar 1:7e925468f9d9 58 case 107: //accelerateur arriere
gabrieltetar 1:7e925468f9d9 59 distance_recalage=arg1;
gabrieltetar 1:7e925468f9d9 60 distance_revenir=arg2;
gabrieltetar 1:7e925468f9d9 61 Send2Short(ACCELERATEUR_ARRIERE, distance_recalage,distance_revenir);
gabrieltetar 1:7e925468f9d9 62 break;
gabrieltetar 1:7e925468f9d9 63 case 108: //goldenium avant
gabrieltetar 1:7e925468f9d9 64 //SendRawId(GOLDENIUM_AVANT);
gabrieltetar 1:7e925468f9d9 65 x = arg1;
gabrieltetar 1:7e925468f9d9 66 if(InversStrat == 1) {
gabrieltetar 1:7e925468f9d9 67 y = 3000 - arg2;
gabrieltetar 1:7e925468f9d9 68 } else {
gabrieltetar 1:7e925468f9d9 69 y = arg2;
gabrieltetar 1:7e925468f9d9 70 }
gabrieltetar 1:7e925468f9d9 71 Send2Short(GOLDENIUM_AVANT, x, y);
gabrieltetar 1:7e925468f9d9 72 break;
gabrieltetar 1:7e925468f9d9 73 case 109: //goldenium arriere
gabrieltetar 1:7e925468f9d9 74 x=arg1;
gabrieltetar 1:7e925468f9d9 75 y=arg2;
gabrieltetar 1:7e925468f9d9 76 Send2Short(GOLDENIUM_ARRIERE, x,y);
gabrieltetar 1:7e925468f9d9 77 break;
gabrieltetar 1:7e925468f9d9 78 case 110: //sol avant
gabrieltetar 1:7e925468f9d9 79 SendRawId(SOL_AVANT);
gabrieltetar 1:7e925468f9d9 80 break;
gabrieltetar 1:7e925468f9d9 81 case 111: //sol arriere
gabrieltetar 1:7e925468f9d9 82 SendRawId(SOL_ARRIERE);
gabrieltetar 1:7e925468f9d9 83 break;
gabrieltetar 1:7e925468f9d9 84 case 112: //sol avant relache
gabrieltetar 1:7e925468f9d9 85 SendRawId(SOL_AVANT_RELACHE);
gabrieltetar 1:7e925468f9d9 86 break;
gabrieltetar 1:7e925468f9d9 87 case 113: //sol arriere relache
gabrieltetar 1:7e925468f9d9 88 SendRawId(SOL_ARRIERE_RELACHE);
gabrieltetar 1:7e925468f9d9 89 break;
gabrieltetar 1:7e925468f9d9 90 case 114://relache les 3 ventouses avants
gabrieltetar 1:7e925468f9d9 91 SendRawId(AVANT_RELACHE);
gabrieltetar 1:7e925468f9d9 92 break;
gabrieltetar 1:7e925468f9d9 93
gabrieltetar 1:7e925468f9d9 94 case 115://relache les 3 ventouses arrieres
gabrieltetar 1:7e925468f9d9 95 SendRawId(ARRIERE_RELACHE);
gabrieltetar 1:7e925468f9d9 96 break;
gabrieltetar 1:7e925468f9d9 97
gabrieltetar 1:7e925468f9d9 98 case 116://relache une pompe
gabrieltetar 1:7e925468f9d9 99 unsigned char arg_tempo;
gabrieltetar 1:7e925468f9d9 100 if(InversStrat == 1) {
gabrieltetar 1:7e925468f9d9 101 switch(arg1) {
gabrieltetar 1:7e925468f9d9 102 case AV_DROIT:
gabrieltetar 1:7e925468f9d9 103 arg_tempo = AV_GAUCHE;
gabrieltetar 1:7e925468f9d9 104 break;
gabrieltetar 1:7e925468f9d9 105 case AV_GAUCHE:
gabrieltetar 1:7e925468f9d9 106 arg_tempo = AV_DROIT;
gabrieltetar 1:7e925468f9d9 107 break;
gabrieltetar 1:7e925468f9d9 108 case AR_DROIT:
gabrieltetar 1:7e925468f9d9 109 arg_tempo = AR_GAUCHE;
gabrieltetar 1:7e925468f9d9 110 break;
gabrieltetar 1:7e925468f9d9 111 case AR_GAUCHE:
gabrieltetar 1:7e925468f9d9 112 arg_tempo = AR_DROIT;
gabrieltetar 1:7e925468f9d9 113 break;
gabrieltetar 1:7e925468f9d9 114 default :
gabrieltetar 1:7e925468f9d9 115 arg_tempo =(unsigned char)arg1;
gabrieltetar 1:7e925468f9d9 116 break;
gabrieltetar 1:7e925468f9d9 117 }
gabrieltetar 1:7e925468f9d9 118
gabrieltetar 1:7e925468f9d9 119 } else arg_tempo =(unsigned char)arg1;
gabrieltetar 1:7e925468f9d9 120 SendMsgCan(HACHEUR_RELEASE_ATOM, &arg_tempo,1);
gabrieltetar 1:7e925468f9d9 121 waitingAckFrom = 0;
gabrieltetar 1:7e925468f9d9 122 waitingAckID =0;
gabrieltetar 1:7e925468f9d9 123 break;
gabrieltetar 1:7e925468f9d9 124 case 117:
gabrieltetar 1:7e925468f9d9 125 SendRawId(RECROQUEVILLER);
gabrieltetar 1:7e925468f9d9 126 break;
gabrieltetar 1:7e925468f9d9 127 case 118:
gabrieltetar 1:7e925468f9d9 128 SendRawId(VENTOUSE_AV_CENTRE_BALANCE);
gabrieltetar 1:7e925468f9d9 129 break;
gabrieltetar 1:7e925468f9d9 130 case 119:
gabrieltetar 1:7e925468f9d9 131 SendRawId(VENTOUSE_AR_CENTRE_BALANCE);
gabrieltetar 1:7e925468f9d9 132 break;
gabrieltetar 1:7e925468f9d9 133 case 120:
gabrieltetar 1:7e925468f9d9 134 SendRawId(ACCELERATEUR_INSERTION_AVANT_GAUCHE);
gabrieltetar 1:7e925468f9d9 135 break;
gabrieltetar 1:7e925468f9d9 136
gabrieltetar 1:7e925468f9d9 137 case 121:
gabrieltetar 1:7e925468f9d9 138 SendRawId(ACCELERATEUR_INSERTION_ARRIERE_GAUCHE);
gabrieltetar 1:7e925468f9d9 139 break;
gabrieltetar 1:7e925468f9d9 140
gabrieltetar 1:7e925468f9d9 141 case 150:
gabrieltetar 1:7e925468f9d9 142 SCORE_PR+=arg1;
gabrieltetar 1:7e925468f9d9 143 liaison_Tx.envoyer_short(0x30,SCORE_PR);
gabrieltetar 1:7e925468f9d9 144 waitingAckFrom = 0;
gabrieltetar 1:7e925468f9d9 145 waitingAckID = 0;
gabrieltetar 1:7e925468f9d9 146 break;
gabrieltetar 1:7e925468f9d9 147
gabrieltetar 1:7e925468f9d9 148
gabrieltetar 1:7e925468f9d9 149 case 200 :
gabrieltetar 1:7e925468f9d9 150 SendRawId(DATA_TELEMETRE);
gabrieltetar 1:7e925468f9d9 151 /*telemetreDistance = dataTelemetre();
gabrieltetar 1:7e925468f9d9 152 wait_ms(1);
gabrieltetar 1:7e925468f9d9 153 telemetreDistance = dataTelemetre();
gabrieltetar 1:7e925468f9d9 154 telemetreDistance = telemetreDistance - 170;*/
gabrieltetar 1:7e925468f9d9 155 break;
gabrieltetar 1:7e925468f9d9 156
gabrieltetar 1:7e925468f9d9 157 case 201 :
gabrieltetar 1:7e925468f9d9 158 SendRawId(0x99);//
gabrieltetar 1:7e925468f9d9 159 retour = 2;
gabrieltetar 1:7e925468f9d9 160 break;
gabrieltetar 1:7e925468f9d9 161
gabrieltetar 1:7e925468f9d9 162
gabrieltetar 1:7e925468f9d9 163 case 11://0 Désactiver le stop,1 Activer le stop saut de strat,2 Activer le stop avec evitement
gabrieltetar 1:7e925468f9d9 164 isStopEnable =(unsigned char) arg1;
gabrieltetar 1:7e925468f9d9 165 // SendMsgCan(0x5BC, &isStopEnable,1);
gabrieltetar 1:7e925468f9d9 166 waitingAckFrom = 0;
gabrieltetar 1:7e925468f9d9 167 waitingAckID =0;
gabrieltetar 1:7e925468f9d9 168 break;
gabrieltetar 1:7e925468f9d9 169
gabrieltetar 1:7e925468f9d9 170
gabrieltetar 1:7e925468f9d9 171
gabrieltetar 1:7e925468f9d9 172 case 20://Désactiver l'asservissement
gabrieltetar 1:7e925468f9d9 173 setAsservissementEtat(0);
gabrieltetar 1:7e925468f9d9 174 break;
gabrieltetar 1:7e925468f9d9 175
gabrieltetar 1:7e925468f9d9 176 case 21://Activer l'asservissement
gabrieltetar 1:7e925468f9d9 177 setAsservissementEtat(1);
gabrieltetar 1:7e925468f9d9 178 break;
gabrieltetar 1:7e925468f9d9 179
gabrieltetar 1:7e925468f9d9 180 case 22://Changer la vitesse du robot
gabrieltetar 1:7e925468f9d9 181 SendSpeed(arg1);//,(unsigned short)arg2, (unsigned short)arg2);
gabrieltetar 1:7e925468f9d9 182 wait_us(200);
gabrieltetar 1:7e925468f9d9 183 waitingAckFrom = 0;
gabrieltetar 1:7e925468f9d9 184 waitingAckID = 0;
gabrieltetar 1:7e925468f9d9 185 break;
gabrieltetar 1:7e925468f9d9 186 case 23:
gabrieltetar 1:7e925468f9d9 187 SendAccel(arg1,(unsigned short)arg2);//,(unsigned short)arg2, (unsigned short)arg2);
gabrieltetar 1:7e925468f9d9 188 wait_us(200);
gabrieltetar 1:7e925468f9d9 189 waitingAckFrom = 0;
gabrieltetar 1:7e925468f9d9 190 waitingAckID = 0;
gabrieltetar 1:7e925468f9d9 191 break;
gabrieltetar 1:7e925468f9d9 192
gabrieltetar 1:7e925468f9d9 193
gabrieltetar 1:7e925468f9d9 194 case 19: // CHANGER LA VITESSE + DECELERATION
gabrieltetar 1:7e925468f9d9 195 //SendSpeedDecel(arg1,(unsigned short) arg2);
gabrieltetar 1:7e925468f9d9 196 wait_us(200);
gabrieltetar 1:7e925468f9d9 197 waitingAckFrom = 0;
gabrieltetar 1:7e925468f9d9 198 waitingAckID =0;
gabrieltetar 1:7e925468f9d9 199 break;
gabrieltetar 1:7e925468f9d9 200
gabrieltetar 1:7e925468f9d9 201 case 30://Action tempo
gabrieltetar 1:7e925468f9d9 202 wait_ms(arg1);
gabrieltetar 1:7e925468f9d9 203 waitingAckFrom = 0;
gabrieltetar 1:7e925468f9d9 204 waitingAckID = 0;
gabrieltetar 1:7e925468f9d9 205 break;
gabrieltetar 1:7e925468f9d9 206
gabrieltetar 1:7e925468f9d9 207 default:
gabrieltetar 1:7e925468f9d9 208 retour = 0;//L'action n'existe pas, il faut utiliser le CAN
gabrieltetar 1:7e925468f9d9 209
gabrieltetar 1:7e925468f9d9 210 }
gabrieltetar 1:7e925468f9d9 211 return retour;//L'action est spécifique.
gabrieltetar 1:7e925468f9d9 212
gabrieltetar 1:7e925468f9d9 213 }
gabrieltetar 1:7e925468f9d9 214
gabrieltetar 1:7e925468f9d9 215
gabrieltetar 1:7e925468f9d9 216
gabrieltetar 1:7e925468f9d9 217 /****************************************************************************************/
gabrieltetar 1:7e925468f9d9 218 /* FUNCTION NAME: needToStop */
gabrieltetar 1:7e925468f9d9 219 /* DESCRIPTION : Savoir si il faut autoriser le stop du robot via balise */
gabrieltetar 1:7e925468f9d9 220 /****************************************************************************************/
gabrieltetar 1:7e925468f9d9 221 unsigned char needToStop(void)
gabrieltetar 1:7e925468f9d9 222 {
gabrieltetar 1:7e925468f9d9 223 return isStopEnable;
gabrieltetar 1:7e925468f9d9 224 }
gabrieltetar 1:7e925468f9d9 225
gabrieltetar 1:7e925468f9d9 226 /****************************************************************************************/
gabrieltetar 1:7e925468f9d9 227 /* FUNCTION NAME: doBeforeEndAction */
gabrieltetar 1:7e925468f9d9 228 /* DESCRIPTION : Terminer les actions du robot 1s avant la fin du match */
gabrieltetar 1:7e925468f9d9 229 /****************************************************************************************/
gabrieltetar 1:7e925468f9d9 230 void doBeforeEndAction(void)
gabrieltetar 1:7e925468f9d9 231 {
gabrieltetar 1:7e925468f9d9 232
gabrieltetar 1:7e925468f9d9 233 }
gabrieltetar 10:1964bb91b925 234
gabrieltetar 10:1964bb91b925 235 #endif