code de la carte IHM avant les bugs et avant le travail effectué avec Melchior

Dependencies:   mbed SerialHalfDuplex SDFileSystem liaison_Bluetooth ident_crac DISCO-F469NI_portrait

Committer:
goldmas
Date:
Sat Jul 17 11:07:17 2021 +0000
Revision:
38:9d6a3ccc0582
Parent:
36:c37dbe2be916
Dernier code de la coupe de fracne 2021

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gabrieltetar 21:d137ec53c3a9 1 #include "global.h"
gabrieltetar 21:d137ec53c3a9 2
goldmas 35:2a745eeb7922 3 #define M_PI 3.14159265358979323846
goldmas 35:2a745eeb7922 4
gabrieltetar 21:d137ec53c3a9 5 #define VERT 0xFF00FF00
gabrieltetar 21:d137ec53c3a9 6 #define ROUGE 0xFFFF0000
gabrieltetar 21:d137ec53c3a9 7 #define BLEU 0xFF0000FF
gabrieltetar 21:d137ec53c3a9 8 #define JAUNE 0xFFFDD835//FEFE00
gabrieltetar 21:d137ec53c3a9 9 #define BLANC 0xFF000000
gabrieltetar 21:d137ec53c3a9 10 #define ORANGE 0xFFFFA500
gabrieltetar 21:d137ec53c3a9 11 #define NOIR 0xFF000000
gabrieltetar 21:d137ec53c3a9 12 #define DIY_GREY 0xFFDFDFDF
gabrieltetar 21:d137ec53c3a9 13 #define VIOLET 0xFF4527A0
gabrieltetar 27:ff70537a7619 14 #define VERT_F 0xFF00C400
goldmas 35:2a745eeb7922 15 #define VIOLET_F 0x788000FF
gabrieltetar 21:d137ec53c3a9 16 TS_DISCO_F469NI ts;
gabrieltetar 21:d137ec53c3a9 17 LCD_DISCO_F469NI lcd;
gabrieltetar 21:d137ec53c3a9 18
gabrieltetar 21:d137ec53c3a9 19
gabrieltetar 21:d137ec53c3a9 20 TS_StateTypeDef TS_State;
gabrieltetar 21:d137ec53c3a9 21
gabrieltetar 21:d137ec53c3a9 22
gabrieltetar 21:d137ec53c3a9 23 /////////////////DEFINITION DES BOUTONS////////////////////
gabrieltetar 21:d137ec53c3a9 24 Button COTE_JAUNE(0, 25, 400, 300, "JAUNE");
goldmas 33:c54841d11156 25 Button COTE_VIOLET(0, 350, 400, 300, "BLEU");
goldmas 36:c37dbe2be916 26 Button COTE_HAUT(0, 25, 400, 300, "ROBOT DU HAUT");
goldmas 36:c37dbe2be916 27 Button COTE_BAS(0, 350, 400, 300, "ROBOT DU BAS");
gabrieltetar 21:d137ec53c3a9 28 Button RETOUR (0, 680, 400, 110, "--Precedent--");
gabrieltetar 21:d137ec53c3a9 29 Button LANCER (0, 200, 400, 200, "--LANCER--");
gabrieltetar 21:d137ec53c3a9 30 Button CHECK (0, 420, 400, 200, "Valider");
gabrieltetar 21:d137ec53c3a9 31 Button MATCH (0, 50, 400, 320, "Match");
gabrieltetar 21:d137ec53c3a9 32 Button DEMONSTRATION (0, 400, 400, 320, "Demo");
gabrieltetar 21:d137ec53c3a9 33 //menu demo
gabrieltetar 21:d137ec53c3a9 34 Button TEST_VENT(0, 25, 400, 100, "Test ventouses");
gabrieltetar 21:d137ec53c3a9 35 Button TEST_MOT(0, 135, 400, 100, "Test moteur");
gabrieltetar 21:d137ec53c3a9 36 Button TEST_COUL(0,245,400,100,"Test capteurs couleur");
gabrieltetar 21:d137ec53c3a9 37 Button TEST_BRAS(0,355,400,100,"Test Bras");
gabrieltetar 21:d137ec53c3a9 38 Button TEST_AUDIO(0,465,400,100,"Test Audio");
gabrieltetar 22:c7763a7ec6c7 39
gabrieltetar 22:c7763a7ec6c7 40 Button TEST_NEXT(0,575,400,100,"------>");
gabrieltetar 22:c7763a7ec6c7 41 Button TEST_DIV(0,25,400,100,"Test Divers");
gabrieltetar 22:c7763a7ec6c7 42 Button TEST_ASSERV(0, 135, 400, 100, "Test asserv");
goldmas 38:9d6a3ccc0582 43 Button TEST_MANCHE(0,245,400,100,"Test manches a air");
goldmas 38:9d6a3ccc0582 44 Button TEST_GIROU(0,355,400,100,"Test capteur girouette");
goldmas 38:9d6a3ccc0582 45
goldmas 38:9d6a3ccc0582 46
gabrieltetar 21:d137ec53c3a9 47 //menu demo/demo/
gabrieltetar 21:d137ec53c3a9 48 Button TEST_A(0,25,195,100,"A");
gabrieltetar 21:d137ec53c3a9 49 Button TEST_B(205,25,195,100,"B");
gabrieltetar 21:d137ec53c3a9 50 Button TEST_C(0,135,195,100,"C");
gabrieltetar 21:d137ec53c3a9 51 Button TEST_D(205,135,195,100,"D");
gabrieltetar 22:c7763a7ec6c7 52 Button TEST_NUM(0,245,400,100,"Num");
goldmas 32:7f8e3ee2adac 53 Button TEST_ATTRAPER(0,300,400,100,"Attraper");
goldmas 32:7f8e3ee2adac 54 Button TEST_RELACHER(0,450,400,100,"Relacher");
goldmas 32:7f8e3ee2adac 55
gabrieltetar 21:d137ec53c3a9 56 Button TEST_PLUS(205,355,195,100,"+");
gabrieltetar 21:d137ec53c3a9 57 Button TEST_MOINS(0,355,195,100,"-");
goldmas 38:9d6a3ccc0582 58 Button TEST_SERVO_0(0,160,120,100,"Bras 0");
goldmas 38:9d6a3ccc0582 59 Button TEST_SERVO_1(140,160,120,100,"Bras 1");
goldmas 38:9d6a3ccc0582 60 Button TEST_SERVO_2(280,160,120,100,"Bras 2");
goldmas 38:9d6a3ccc0582 61 Button TEST_SERVO_3(280,50,120,100,"Bras 3");
goldmas 38:9d6a3ccc0582 62 Button TEST_SERVO_4(140,50,120,100,"Bras 4");
goldmas 38:9d6a3ccc0582 63 Button TEST_SERVO_5(0,50,120,100,"Bras 5");
goldmas 34:c314feaa0d3e 64
goldmas 38:9d6a3ccc0582 65 Button TEST_VENT_0(0,160,120,100,"Vent 0");
goldmas 38:9d6a3ccc0582 66 Button TEST_VENT_1(140,160,120,100,"Vent 1");
goldmas 38:9d6a3ccc0582 67 Button TEST_VENT_2(280,160,120,100,"Vent 2");
goldmas 38:9d6a3ccc0582 68 Button TEST_VENT_3(280,50,120,100,"Vent 3");
goldmas 38:9d6a3ccc0582 69 Button TEST_VENT_4(140,50,120,100,"Vent 4");
goldmas 38:9d6a3ccc0582 70 Button TEST_VENT_5(0,50,120,100,"Vent 5");
goldmas 34:c314feaa0d3e 71
gabrieltetar 22:c7763a7ec6c7 72 Button FORCE_LAUNCH(0, 600, 400, 100, "Force Launch");
gabrieltetar 21:d137ec53c3a9 73 Button SUIVANT(0,380,200,100,"Suivant");
gabrieltetar 21:d137ec53c3a9 74 ////////////////////////////////////////////////////////////
gabrieltetar 24:1a13c998c7ac 75
gabrieltetar 21:d137ec53c3a9 76 signed char Bouton_Strat (void);
gabrieltetar 27:ff70537a7619 77 void DrawC (int l,int h,int x, int y, unsigned char fill);
gabrieltetar 27:ff70537a7619 78 void DrawR (int l,int h,int x, int y, unsigned char fill);
gabrieltetar 27:ff70537a7619 79 void DrawA (int l,int h,int x, int y, unsigned char fill);
gabrieltetar 24:1a13c998c7ac 80
gabrieltetar 21:d137ec53c3a9 81 void SelectionStrat (unsigned char numeroStrat);
gabrieltetar 21:d137ec53c3a9 82
gabrieltetar 21:d137ec53c3a9 83 /****************************************************************************************/
gabrieltetar 21:d137ec53c3a9 84 /* FUNCTION NAME: automate_etat_ihm */
gabrieltetar 21:d137ec53c3a9 85 /* DESCRIPTION : Automate de gestion de l'affichage */
gabrieltetar 21:d137ec53c3a9 86 /****************************************************************************************/
gabrieltetar 21:d137ec53c3a9 87 void automate_etat_ihm(void)
goldmas 38:9d6a3ccc0582 88 {
goldmas 32:7f8e3ee2adac 89 char toto[12];
goldmas 35:2a745eeb7922 90 int j, old_time=0, actual_time=0, old_score=0, actual_score=0, unique=0;
goldmas 32:7f8e3ee2adac 91 unsigned char maximilien=1, choix_groupe;
gabrieltetar 21:d137ec53c3a9 92 if (j==0) {
gabrieltetar 21:d137ec53c3a9 93 ts.Init(lcd.GetXSize(), lcd.GetYSize());
gabrieltetar 21:d137ec53c3a9 94 j++;
gabrieltetar 21:d137ec53c3a9 95 }
gabrieltetar 21:d137ec53c3a9 96 ts.GetState(&TS_State);
gabrieltetar 21:d137ec53c3a9 97 switch (strat_etat_s) {
gabrieltetar 24:1a13c998c7ac 98 case INIT : //intialise l'écran et passe à l'attente d'initialisation des cartes
gabrieltetar 21:d137ec53c3a9 99 ts.GetState(&TS_State);
gabrieltetar 22:c7763a7ec6c7 100 canProcessRx();
gabrieltetar 24:1a13c998c7ac 101 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 24:1a13c998c7ac 102 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 24:1a13c998c7ac 103 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 24:1a13c998c7ac 104 wait(0.15);
gabrieltetar 27:ff70537a7619 105 DrawC(95,150,0,50,0);
gabrieltetar 27:ff70537a7619 106 DrawR(95,150,105,50,0);
gabrieltetar 27:ff70537a7619 107 DrawA(95,150,210,50,0);
gabrieltetar 27:ff70537a7619 108 DrawC(95,150,315,50,0);
gabrieltetar 27:ff70537a7619 109 DrawCheck(30,30,50,243,0);
gabrieltetar 27:ff70537a7619 110 DrawCheck(30,30,50,293,0);
gabrieltetar 27:ff70537a7619 111 DrawCheck(30,30,50,343,0);
gabrieltetar 27:ff70537a7619 112 DrawCheck(30,30,50,393,0);
gabrieltetar 27:ff70537a7619 113 lcd.DisplayStringAt(100, 250, (uint8_t *)"Init CAN", LEFT_MODE);
slowness 29:ff575aff301f 114 DrawCheck(30,30,50,243,can_present);
gabrieltetar 27:ff70537a7619 115 lcd.DisplayStringAt(100, 300, (uint8_t *)"Micro SD", LEFT_MODE);
slowness 29:ff575aff301f 116 DrawCheck(30,30,50,293,sd_present);
gabrieltetar 27:ff70537a7619 117 lcd.DisplayStringAt(100, 350, (uint8_t *)"Carte Moteur", LEFT_MODE);
gabrieltetar 27:ff70537a7619 118 lcd.DisplayStringAt(100, 400, (uint8_t *)"Balise IR", LEFT_MODE);
gabrieltetar 24:1a13c998c7ac 119 FORCE_LAUNCH.Draw(0xFFFF0000, 0);
gabrieltetar 24:1a13c998c7ac 120
gabrieltetar 24:1a13c998c7ac 121 strat_etat_s=ATT;
gabrieltetar 24:1a13c998c7ac 122 break;
gabrieltetar 24:1a13c998c7ac 123
gabrieltetar 24:1a13c998c7ac 124 case ATT : //Si les cartes sont présentes passe directement à choix sinon attente de force Launch (cette partie est encore buggée mais les cartes affichent bien leur présence donc faut juste force launch tout le temps...)
gabrieltetar 24:1a13c998c7ac 125 if (flag_check_carte==1) {
gabrieltetar 24:1a13c998c7ac 126 strat_etat_s = CHOIX;
gabrieltetar 24:1a13c998c7ac 127 gameEtat = ETAT_CONFIG;
gabrieltetar 24:1a13c998c7ac 128 } else if (FORCE_LAUNCH.Touched()) {
gabrieltetar 24:1a13c998c7ac 129 strat_etat_s = CHOIX;
gabrieltetar 24:1a13c998c7ac 130 gameEtat = ETAT_CONFIG;
gabrieltetar 24:1a13c998c7ac 131 while(FORCE_LAUNCH.Touched());
gabrieltetar 21:d137ec53c3a9 132 }
gabrieltetar 24:1a13c998c7ac 133
gabrieltetar 21:d137ec53c3a9 134 break;
gabrieltetar 24:1a13c998c7ac 135
gabrieltetar 24:1a13c998c7ac 136
gabrieltetar 21:d137ec53c3a9 137 case CHOIX : //Match ou DEMO
gabrieltetar 21:d137ec53c3a9 138 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 139 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 140 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 141 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Match ou demonstration ?", LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 142 DEMONSTRATION.Draw(LCD_COLOR_LIGHTGREEN, 0);
gabrieltetar 21:d137ec53c3a9 143 MATCH.Draw(0xFFF01010, 0);
gabrieltetar 21:d137ec53c3a9 144 while(strat_etat_s == CHOIX) {
gabrieltetar 21:d137ec53c3a9 145 canProcessRx();
gabrieltetar 21:d137ec53c3a9 146 if(DEMONSTRATION.Touched()) {
gabrieltetar 21:d137ec53c3a9 147 strat_etat_s = DEMO;
gabrieltetar 21:d137ec53c3a9 148 while(DEMONSTRATION.Touched());
gabrieltetar 21:d137ec53c3a9 149 }
gabrieltetar 21:d137ec53c3a9 150
gabrieltetar 21:d137ec53c3a9 151 if(MATCH.Touched()) {
gabrieltetar 21:d137ec53c3a9 152 strat_etat_s = SELECT_SIDE;
gabrieltetar 21:d137ec53c3a9 153 while(MATCH.Touched());
gabrieltetar 21:d137ec53c3a9 154 }
gabrieltetar 21:d137ec53c3a9 155
gabrieltetar 21:d137ec53c3a9 156 }
gabrieltetar 21:d137ec53c3a9 157 break;
gabrieltetar 21:d137ec53c3a9 158
gabrieltetar 21:d137ec53c3a9 159 case DEMO :
gabrieltetar 21:d137ec53c3a9 160 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 161 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 162 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 22:c7763a7ec6c7 163 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"DEMO 1/2", LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 164 RETOUR.Draw(0xFFFF0000, 0);
gabrieltetar 21:d137ec53c3a9 165 TEST_VENT.Draw(VERT, 0);
gabrieltetar 21:d137ec53c3a9 166 TEST_MOT.Draw(VERT, 0);
gabrieltetar 21:d137ec53c3a9 167 TEST_COUL.Draw(VERT, 0);
gabrieltetar 21:d137ec53c3a9 168 TEST_BRAS.Draw(VERT, 0);
gabrieltetar 21:d137ec53c3a9 169 TEST_AUDIO.Draw(VERT, 0);
gabrieltetar 22:c7763a7ec6c7 170 TEST_NEXT.Draw(BLEU, 0);
gabrieltetar 21:d137ec53c3a9 171 maximilien=0;
gabrieltetar 21:d137ec53c3a9 172 while (strat_etat_s == DEMO) {
gabrieltetar 21:d137ec53c3a9 173 canProcessRx();
goldmas 38:9d6a3ccc0582 174 if(TEST_VENT.Touched())
goldmas 38:9d6a3ccc0582 175 {
gabrieltetar 21:d137ec53c3a9 176 while(TEST_VENT.Touched());
gabrieltetar 21:d137ec53c3a9 177 strat_etat_s = TEST_VENTOUSE;
goldmas 38:9d6a3ccc0582 178 }
goldmas 38:9d6a3ccc0582 179 else if(TEST_MOT.Touched())
goldmas 38:9d6a3ccc0582 180 {
gabrieltetar 21:d137ec53c3a9 181 while(TEST_MOT.Touched());
gabrieltetar 21:d137ec53c3a9 182 strat_etat_s = TEST_MOTEUR;
goldmas 38:9d6a3ccc0582 183 }
goldmas 38:9d6a3ccc0582 184 else if(TEST_NEXT.Touched())
goldmas 38:9d6a3ccc0582 185 {
gabrieltetar 22:c7763a7ec6c7 186 while(TEST_NEXT.Touched());
gabrieltetar 22:c7763a7ec6c7 187 strat_etat_s = DEMO2;
goldmas 38:9d6a3ccc0582 188 }
goldmas 38:9d6a3ccc0582 189 else if (TEST_COUL.Touched())
goldmas 38:9d6a3ccc0582 190 {
gabrieltetar 21:d137ec53c3a9 191 while(TEST_COUL.Touched());
gabrieltetar 21:d137ec53c3a9 192 strat_etat_s =TEST_COULEUR ;
goldmas 38:9d6a3ccc0582 193 }
goldmas 38:9d6a3ccc0582 194 else if (TEST_BRAS.Touched())
goldmas 38:9d6a3ccc0582 195 {
gabrieltetar 21:d137ec53c3a9 196 while(TEST_BRAS.Touched());
gabrieltetar 21:d137ec53c3a9 197 strat_etat_s =TEST_SERVO_BRAS ;
goldmas 38:9d6a3ccc0582 198 }
goldmas 38:9d6a3ccc0582 199 else if(TEST_AUDIO.Touched())
goldmas 38:9d6a3ccc0582 200 {
gabrieltetar 21:d137ec53c3a9 201 while(TEST_AUDIO.Touched());
gabrieltetar 21:d137ec53c3a9 202 strat_etat_s=TEST_AUD;
goldmas 38:9d6a3ccc0582 203 }
goldmas 38:9d6a3ccc0582 204 else if(RETOUR.Touched())
goldmas 38:9d6a3ccc0582 205 {
gabrieltetar 21:d137ec53c3a9 206 while(RETOUR.Touched());
gabrieltetar 21:d137ec53c3a9 207 strat_etat_s = CHOIX;
gabrieltetar 21:d137ec53c3a9 208 }
gabrieltetar 21:d137ec53c3a9 209 }
gabrieltetar 21:d137ec53c3a9 210 break;
gabrieltetar 24:1a13c998c7ac 211
gabrieltetar 24:1a13c998c7ac 212 case DEMO2 :
gabrieltetar 22:c7763a7ec6c7 213 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 22:c7763a7ec6c7 214 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 22:c7763a7ec6c7 215 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 22:c7763a7ec6c7 216 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"DEMO 2/2", LEFT_MODE);
gabrieltetar 22:c7763a7ec6c7 217 RETOUR.Draw(0xFFFF0000, 0);
gabrieltetar 22:c7763a7ec6c7 218 TEST_DIV.Draw(VERT, 0);
gabrieltetar 22:c7763a7ec6c7 219 TEST_ASSERV.Draw(VERT, 0);
goldmas 38:9d6a3ccc0582 220 TEST_MANCHE.Draw(VERT, 0);
goldmas 38:9d6a3ccc0582 221 TEST_GIROU.Draw(VERT, 0);
gabrieltetar 22:c7763a7ec6c7 222 TEST_NEXT.Draw(BLEU, 0);
gabrieltetar 22:c7763a7ec6c7 223 maximilien=0;
gabrieltetar 22:c7763a7ec6c7 224 while (strat_etat_s == DEMO2) {
gabrieltetar 22:c7763a7ec6c7 225 canProcessRx();
goldmas 38:9d6a3ccc0582 226 if(TEST_NEXT.Touched())
goldmas 38:9d6a3ccc0582 227 {
gabrieltetar 22:c7763a7ec6c7 228 while(TEST_NEXT.Touched());
gabrieltetar 22:c7763a7ec6c7 229 strat_etat_s = DEMO;
goldmas 38:9d6a3ccc0582 230 }
goldmas 38:9d6a3ccc0582 231 else if(TEST_DIV.Touched())
goldmas 38:9d6a3ccc0582 232 {
gabrieltetar 22:c7763a7ec6c7 233 while(TEST_DIV.Touched());
gabrieltetar 22:c7763a7ec6c7 234 strat_etat_s = TEST_DIVE;
goldmas 38:9d6a3ccc0582 235 }
goldmas 38:9d6a3ccc0582 236 else if(TEST_ASSERV.Touched())
goldmas 38:9d6a3ccc0582 237 {
gabrieltetar 22:c7763a7ec6c7 238 while(TEST_ASSERV.Touched());
gabrieltetar 22:c7763a7ec6c7 239 strat_etat_s = TEST_ASSERVE;
goldmas 38:9d6a3ccc0582 240 }
goldmas 38:9d6a3ccc0582 241 else if(TEST_MANCHE.Touched())
goldmas 38:9d6a3ccc0582 242 {
goldmas 38:9d6a3ccc0582 243 while(TEST_MANCHE.Touched());
goldmas 38:9d6a3ccc0582 244 strat_etat_s = TEST_MANCHES;
goldmas 38:9d6a3ccc0582 245 }
goldmas 38:9d6a3ccc0582 246 else if(TEST_GIROU.Touched())
goldmas 38:9d6a3ccc0582 247 {
goldmas 38:9d6a3ccc0582 248 while(TEST_GIROU.Touched());
goldmas 38:9d6a3ccc0582 249 strat_etat_s = TEST_GIROUS;
goldmas 38:9d6a3ccc0582 250 }
goldmas 38:9d6a3ccc0582 251
goldmas 38:9d6a3ccc0582 252 else if(RETOUR.Touched())
goldmas 38:9d6a3ccc0582 253 {
gabrieltetar 22:c7763a7ec6c7 254 while(RETOUR.Touched());
gabrieltetar 22:c7763a7ec6c7 255 strat_etat_s = CHOIX;
gabrieltetar 22:c7763a7ec6c7 256 }
gabrieltetar 22:c7763a7ec6c7 257 }
gabrieltetar 24:1a13c998c7ac 258 break;
gabrieltetar 24:1a13c998c7ac 259
goldmas 38:9d6a3ccc0582 260 case TEST_MANCHES:
goldmas 38:9d6a3ccc0582 261 lcd.SetBackColor(LCD_COLOR_WHITE);
goldmas 38:9d6a3ccc0582 262 lcd.SetTextColor(LCD_COLOR_BLACK);
goldmas 38:9d6a3ccc0582 263 lcd.Clear (LCD_COLOR_WHITE);
goldmas 38:9d6a3ccc0582 264 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Manches a air", LEFT_MODE);
goldmas 38:9d6a3ccc0582 265
goldmas 38:9d6a3ccc0582 266 RETOUR.Draw(0xFFFF0000,0);
goldmas 38:9d6a3ccc0582 267 TEST_A.Draw(BLEU, BLANC);
goldmas 38:9d6a3ccc0582 268 TEST_B.Draw(BLEU, BLANC);
goldmas 38:9d6a3ccc0582 269 TEST_C.Draw(BLEU, BLANC);
goldmas 38:9d6a3ccc0582 270 TEST_D.Draw(BLEU, BLANC) ;
goldmas 38:9d6a3ccc0582 271
goldmas 38:9d6a3ccc0582 272 while(strat_etat_s==TEST_MANCHES)
goldmas 38:9d6a3ccc0582 273 {
goldmas 38:9d6a3ccc0582 274 if(RETOUR.Touched())
goldmas 38:9d6a3ccc0582 275 {
goldmas 38:9d6a3ccc0582 276 while (RETOUR.Touched());
goldmas 38:9d6a3ccc0582 277 strat_etat_s=DEMO2;
goldmas 38:9d6a3ccc0582 278 }
goldmas 38:9d6a3ccc0582 279 else if(TEST_A.Touched())
goldmas 38:9d6a3ccc0582 280 {
goldmas 38:9d6a3ccc0582 281 while (TEST_A.Touched());
goldmas 38:9d6a3ccc0582 282 TEST_A.Draw(BLEU, BLANC);
goldmas 38:9d6a3ccc0582 283 SendRawId(TEST_BRAS_1);
goldmas 38:9d6a3ccc0582 284 }
goldmas 38:9d6a3ccc0582 285 else if(TEST_B.Touched())
goldmas 38:9d6a3ccc0582 286 {
goldmas 38:9d6a3ccc0582 287 while (TEST_B.Touched());
goldmas 38:9d6a3ccc0582 288 TEST_B.Draw(BLEU, BLANC);
goldmas 38:9d6a3ccc0582 289 choix_groupe = 0;
goldmas 38:9d6a3ccc0582 290 SendMsgCan(AUTOMATE_MANCHE_MOY, &choix_groupe, sizeof(choix_groupe)) ;
goldmas 38:9d6a3ccc0582 291 wait_ms(500);
goldmas 38:9d6a3ccc0582 292 SendMsgCan(AUTOMATE_MANCHE_BAS, &choix_groupe, sizeof(choix_groupe)) ;
goldmas 38:9d6a3ccc0582 293 wait_ms(500);
goldmas 38:9d6a3ccc0582 294 SendMsgCan(AUTOMATE_MANCHE_HAUT, &choix_groupe, sizeof(choix_groupe)) ;
goldmas 38:9d6a3ccc0582 295 wait_ms(500);
goldmas 38:9d6a3ccc0582 296 choix_groupe = 1;
goldmas 38:9d6a3ccc0582 297 SendMsgCan(AUTOMATE_MANCHE_MOY, &choix_groupe, sizeof(choix_groupe)) ;
goldmas 38:9d6a3ccc0582 298 wait_ms(500);
goldmas 38:9d6a3ccc0582 299 SendMsgCan(AUTOMATE_MANCHE_BAS, &choix_groupe, sizeof(choix_groupe)) ;
goldmas 38:9d6a3ccc0582 300 wait_ms(500);
goldmas 38:9d6a3ccc0582 301 SendMsgCan(AUTOMATE_MANCHE_HAUT, &choix_groupe, sizeof(choix_groupe)) ;
goldmas 38:9d6a3ccc0582 302 wait_ms(500);
goldmas 38:9d6a3ccc0582 303 }
goldmas 38:9d6a3ccc0582 304 else if(TEST_C.Touched())
goldmas 38:9d6a3ccc0582 305 {
goldmas 38:9d6a3ccc0582 306 while (TEST_A.Touched());
goldmas 38:9d6a3ccc0582 307 TEST_C.Draw(BLEU, BLANC);
goldmas 38:9d6a3ccc0582 308 SendRawId(PAVILLON_DEPLOYE);
goldmas 38:9d6a3ccc0582 309 }
goldmas 38:9d6a3ccc0582 310
goldmas 38:9d6a3ccc0582 311 }
goldmas 38:9d6a3ccc0582 312 break;
goldmas 38:9d6a3ccc0582 313
goldmas 38:9d6a3ccc0582 314 case TEST_GIROUS :
goldmas 38:9d6a3ccc0582 315 SendRawId(LECTURE_GIROUETTE) ;
goldmas 38:9d6a3ccc0582 316 wait_ms(5);
goldmas 38:9d6a3ccc0582 317 canProcessRx();
goldmas 38:9d6a3ccc0582 318 lcd.SetBackColor(LCD_COLOR_WHITE);
goldmas 38:9d6a3ccc0582 319 lcd.SetTextColor(LCD_COLOR_BLACK);
goldmas 38:9d6a3ccc0582 320 lcd.Clear (LCD_COLOR_WHITE);
goldmas 38:9d6a3ccc0582 321 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Test Girouette", LEFT_MODE);
goldmas 38:9d6a3ccc0582 322 sprintf(toto,"%hd",val_girou);
goldmas 38:9d6a3ccc0582 323 lcd.DisplayStringAt(0, LINE(10), (unsigned char *)"Valeur Girou :", LEFT_MODE);
goldmas 38:9d6a3ccc0582 324 lcd.DisplayStringAt(0, LINE(11), (unsigned char *)toto, LEFT_MODE);
goldmas 38:9d6a3ccc0582 325 RETOUR.Draw(0xFFFF0000,0);
goldmas 38:9d6a3ccc0582 326 if(RETOUR.Touched()) {
goldmas 38:9d6a3ccc0582 327 while (RETOUR.Touched());
goldmas 38:9d6a3ccc0582 328 strat_etat_s=DEMO2;
goldmas 38:9d6a3ccc0582 329 }
goldmas 38:9d6a3ccc0582 330 wait_ms(200);
goldmas 38:9d6a3ccc0582 331 break ;
goldmas 38:9d6a3ccc0582 332
gabrieltetar 24:1a13c998c7ac 333 case TEST_ASSERVE:
gabrieltetar 24:1a13c998c7ac 334 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 24:1a13c998c7ac 335 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 24:1a13c998c7ac 336 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 24:1a13c998c7ac 337 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Asservissements", LEFT_MODE);
goldmas 35:2a745eeb7922 338
gabrieltetar 24:1a13c998c7ac 339 RETOUR.Draw(0xFFFF0000,0);
gabrieltetar 24:1a13c998c7ac 340 TEST_A.Draw(BLEU, BLANC);
goldmas 35:2a745eeb7922 341 TEST_B.Draw(BLEU, BLANC);
goldmas 35:2a745eeb7922 342 TEST_C.Draw(BLEU, BLANC) ;
goldmas 35:2a745eeb7922 343
goldmas 38:9d6a3ccc0582 344 while(strat_etat_s==TEST_ASSERVE)
goldmas 38:9d6a3ccc0582 345 {
goldmas 38:9d6a3ccc0582 346 if(RETOUR.Touched())
goldmas 38:9d6a3ccc0582 347 {
gabrieltetar 24:1a13c998c7ac 348 while (RETOUR.Touched());
gabrieltetar 24:1a13c998c7ac 349 strat_etat_s=DEMO2;
goldmas 38:9d6a3ccc0582 350 }
goldmas 38:9d6a3ccc0582 351 else if(TEST_A.Touched())
goldmas 38:9d6a3ccc0582 352 {
gabrieltetar 24:1a13c998c7ac 353 while (TEST_A.Touched());
goldmas 38:9d6a3ccc0582 354 GoStraight(2000,0,0,0);
gabrieltetar 24:1a13c998c7ac 355 TEST_A.Draw(BLEU, BLANC);
goldmas 38:9d6a3ccc0582 356 }
goldmas 38:9d6a3ccc0582 357 else if(TEST_B.Touched())
goldmas 38:9d6a3ccc0582 358 {
gabrieltetar 24:1a13c998c7ac 359 while (TEST_B.Touched());
goldmas 38:9d6a3ccc0582 360 Rotate(3600*5);
gabrieltetar 24:1a13c998c7ac 361 TEST_B.Draw(BLEU, BLANC);
gabrieltetar 24:1a13c998c7ac 362 }
goldmas 38:9d6a3ccc0582 363 else if(TEST_C.Touched())
goldmas 35:2a745eeb7922 364 {
goldmas 35:2a745eeb7922 365 while (TEST_C.Touched());
goldmas 35:2a745eeb7922 366 BendRadius(1000,900,1,0);
goldmas 35:2a745eeb7922 367 TEST_B.Draw(BLEU, BLANC);
goldmas 35:2a745eeb7922 368 }
gabrieltetar 24:1a13c998c7ac 369 }
gabrieltetar 24:1a13c998c7ac 370 break;
gabrieltetar 24:1a13c998c7ac 371
gabrieltetar 24:1a13c998c7ac 372 case TEST_DIVE:
gabrieltetar 24:1a13c998c7ac 373
gabrieltetar 24:1a13c998c7ac 374 while(strat_etat_s==TEST_DIVE) {
gabrieltetar 24:1a13c998c7ac 375 canProcessRx();
gabrieltetar 24:1a13c998c7ac 376 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 24:1a13c998c7ac 377 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 24:1a13c998c7ac 378 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 24:1a13c998c7ac 379 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Coordonnees", LEFT_MODE);
gabrieltetar 24:1a13c998c7ac 380 sprintf(toto,"%hd",x_robot);
gabrieltetar 24:1a13c998c7ac 381 lcd.DisplayStringAt(0, LINE(10), (unsigned char *)"X :", LEFT_MODE);
gabrieltetar 24:1a13c998c7ac 382 lcd.DisplayStringAt(50, LINE(10), (unsigned char *)toto, LEFT_MODE);
gabrieltetar 24:1a13c998c7ac 383 sprintf(toto,"%hd",y_robot);
gabrieltetar 24:1a13c998c7ac 384 lcd.DisplayStringAt(0, LINE(11), (unsigned char *)"Y :", LEFT_MODE);
gabrieltetar 24:1a13c998c7ac 385 lcd.DisplayStringAt(50, LINE(11), (unsigned char *)toto, LEFT_MODE);
gabrieltetar 24:1a13c998c7ac 386 sprintf(toto,"%hd",theta_robot);
gabrieltetar 24:1a13c998c7ac 387 lcd.DisplayStringAt(0, LINE(12), (unsigned char *)"T :", LEFT_MODE);
gabrieltetar 24:1a13c998c7ac 388 lcd.DisplayStringAt(50, LINE(12), (unsigned char *) toto, LEFT_MODE);
goldmas 35:2a745eeb7922 389 RETOUR.Draw(0xFFFF0000,0);
gabrieltetar 24:1a13c998c7ac 390 if(RETOUR.Touched()) {
gabrieltetar 24:1a13c998c7ac 391 while (RETOUR.Touched());
gabrieltetar 24:1a13c998c7ac 392 strat_etat_s=DEMO2;
gabrieltetar 24:1a13c998c7ac 393 }
gabrieltetar 24:1a13c998c7ac 394 wait(0.2);
gabrieltetar 24:1a13c998c7ac 395 }
gabrieltetar 24:1a13c998c7ac 396 break;
gabrieltetar 21:d137ec53c3a9 397
gabrieltetar 21:d137ec53c3a9 398 case TEST_VENTOUSE:
goldmas 34:c314feaa0d3e 399 char vent_select_0 = 7, vent_select_1 = 0, vent_select_2 = 0, vent_select_3 = 0, vent_select_4 = 0, vent_select_5 = 0 ;
goldmas 34:c314feaa0d3e 400 unsigned char choix_vent;
gabrieltetar 21:d137ec53c3a9 401 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 402 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 403 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 404 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 405 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Test Ventouse", LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 406 sprintf(toto,"%hd",maximilien);
gabrieltetar 21:d137ec53c3a9 407 lcd.DisplayStringAt(50, LINE(20), (unsigned char *)toto, LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 408 RETOUR.Draw(0xFFFF0000,0);
goldmas 34:c314feaa0d3e 409 TEST_ATTRAPER.Draw(BLEU, BLANC);
goldmas 34:c314feaa0d3e 410 TEST_RELACHER.Draw(BLEU, BLANC);
goldmas 34:c314feaa0d3e 411 TEST_VENT_0.Draw(BLEU, BLANC);
goldmas 34:c314feaa0d3e 412 TEST_VENT_1.Draw(BLEU, BLANC);
goldmas 34:c314feaa0d3e 413 TEST_VENT_2.Draw(BLEU, BLANC);
goldmas 34:c314feaa0d3e 414 TEST_VENT_3.Draw(BLEU, BLANC);
goldmas 34:c314feaa0d3e 415 TEST_VENT_4.Draw(BLEU, BLANC);
goldmas 34:c314feaa0d3e 416 TEST_VENT_5.Draw(BLEU, BLANC);
goldmas 34:c314feaa0d3e 417 while(strat_etat_s==TEST_VENTOUSE)
goldmas 34:c314feaa0d3e 418 {
goldmas 34:c314feaa0d3e 419 if(RETOUR.Touched())
goldmas 34:c314feaa0d3e 420 {
goldmas 34:c314feaa0d3e 421 while (RETOUR.Touched());
goldmas 34:c314feaa0d3e 422 strat_etat_s=DEMO;
goldmas 34:c314feaa0d3e 423 }
goldmas 34:c314feaa0d3e 424 else if(TEST_VENT_0.Touched())
goldmas 34:c314feaa0d3e 425 {
goldmas 34:c314feaa0d3e 426 while (TEST_VENT_0.Touched());
goldmas 34:c314feaa0d3e 427 if(vent_select_0 == 0)
goldmas 34:c314feaa0d3e 428 {
goldmas 34:c314feaa0d3e 429 vent_select_0 = 7 ;
goldmas 34:c314feaa0d3e 430 TEST_VENT_0.Draw(BLEU, BLANC);
goldmas 34:c314feaa0d3e 431 }
goldmas 34:c314feaa0d3e 432 else
goldmas 34:c314feaa0d3e 433 {
goldmas 34:c314feaa0d3e 434 vent_select_0 = 0 ;
goldmas 34:c314feaa0d3e 435 TEST_VENT_0.Draw(DIY_GREY, BLANC);
goldmas 34:c314feaa0d3e 436 }
goldmas 34:c314feaa0d3e 437 }
goldmas 34:c314feaa0d3e 438 else if(TEST_VENT_1.Touched())
goldmas 34:c314feaa0d3e 439 {
goldmas 34:c314feaa0d3e 440 while (TEST_VENT_1.Touched());
goldmas 34:c314feaa0d3e 441 if(vent_select_1 == 1)
goldmas 34:c314feaa0d3e 442 {
goldmas 34:c314feaa0d3e 443 vent_select_1 = 0 ;
goldmas 34:c314feaa0d3e 444 TEST_VENT_1.Draw(BLEU, BLANC);
goldmas 34:c314feaa0d3e 445 }
goldmas 34:c314feaa0d3e 446 else
goldmas 34:c314feaa0d3e 447 {
goldmas 34:c314feaa0d3e 448 vent_select_1 = 1 ;
goldmas 34:c314feaa0d3e 449 TEST_VENT_1.Draw(DIY_GREY, BLANC);
goldmas 34:c314feaa0d3e 450 }
goldmas 34:c314feaa0d3e 451 }
goldmas 34:c314feaa0d3e 452 else if(TEST_VENT_2.Touched())
goldmas 34:c314feaa0d3e 453 {
goldmas 34:c314feaa0d3e 454 while (TEST_VENT_2.Touched());
goldmas 34:c314feaa0d3e 455 if(vent_select_2 == 2)
goldmas 34:c314feaa0d3e 456 {
goldmas 34:c314feaa0d3e 457 vent_select_2 = 0 ;
goldmas 34:c314feaa0d3e 458 TEST_VENT_2.Draw(BLEU, BLANC);
goldmas 34:c314feaa0d3e 459 }
goldmas 34:c314feaa0d3e 460 else
goldmas 34:c314feaa0d3e 461 {
goldmas 34:c314feaa0d3e 462 vent_select_2 = 2 ;
goldmas 34:c314feaa0d3e 463 TEST_VENT_2.Draw(DIY_GREY, BLANC);
goldmas 34:c314feaa0d3e 464 }
goldmas 34:c314feaa0d3e 465 }
goldmas 34:c314feaa0d3e 466 else if(TEST_VENT_3.Touched())
goldmas 34:c314feaa0d3e 467 {
goldmas 34:c314feaa0d3e 468 while (TEST_VENT_3.Touched());
goldmas 34:c314feaa0d3e 469 if(vent_select_3 == 3)
goldmas 34:c314feaa0d3e 470 {
goldmas 34:c314feaa0d3e 471 vent_select_3 = 0 ;
goldmas 34:c314feaa0d3e 472 TEST_VENT_3.Draw(BLEU, BLANC);
goldmas 34:c314feaa0d3e 473 }
goldmas 34:c314feaa0d3e 474 else
goldmas 34:c314feaa0d3e 475 {
goldmas 34:c314feaa0d3e 476 vent_select_3 = 3 ;
goldmas 34:c314feaa0d3e 477 TEST_VENT_3.Draw(DIY_GREY, BLANC);
goldmas 34:c314feaa0d3e 478 }
goldmas 34:c314feaa0d3e 479 }
goldmas 34:c314feaa0d3e 480 else if(TEST_VENT_4.Touched())
goldmas 34:c314feaa0d3e 481 {
goldmas 34:c314feaa0d3e 482 while (TEST_VENT_4.Touched());
goldmas 34:c314feaa0d3e 483 if(vent_select_4 == 4)
goldmas 34:c314feaa0d3e 484 {
goldmas 34:c314feaa0d3e 485 vent_select_4 = 0 ;
goldmas 34:c314feaa0d3e 486 TEST_VENT_4.Draw(BLEU, BLANC);
goldmas 34:c314feaa0d3e 487 }
goldmas 34:c314feaa0d3e 488 else
goldmas 34:c314feaa0d3e 489 {
goldmas 34:c314feaa0d3e 490 vent_select_4 = 4 ;
goldmas 34:c314feaa0d3e 491 TEST_VENT_4.Draw(DIY_GREY, BLANC);
goldmas 34:c314feaa0d3e 492 }
goldmas 34:c314feaa0d3e 493 }
goldmas 34:c314feaa0d3e 494 else if(TEST_VENT_5.Touched())
goldmas 34:c314feaa0d3e 495 {
goldmas 34:c314feaa0d3e 496 while (TEST_VENT_5.Touched());
goldmas 34:c314feaa0d3e 497 if(vent_select_5 == 5)
goldmas 34:c314feaa0d3e 498 {
goldmas 34:c314feaa0d3e 499 vent_select_5 = 0 ;
goldmas 34:c314feaa0d3e 500 TEST_VENT_5.Draw(BLEU, BLANC);
goldmas 34:c314feaa0d3e 501 }
goldmas 34:c314feaa0d3e 502 else
goldmas 34:c314feaa0d3e 503 {
goldmas 34:c314feaa0d3e 504 vent_select_5 = 5 ;
goldmas 34:c314feaa0d3e 505 TEST_VENT_5.Draw(DIY_GREY, BLANC);
goldmas 34:c314feaa0d3e 506 }
goldmas 34:c314feaa0d3e 507 }
goldmas 34:c314feaa0d3e 508 else if (TEST_ATTRAPER.Touched())
goldmas 34:c314feaa0d3e 509 {
goldmas 34:c314feaa0d3e 510 while(TEST_ATTRAPER.Touched()) ;
goldmas 34:c314feaa0d3e 511 unsigned char message_droit_at, message_gauche_at, nombre_de_chiffre_droite, nombre_de_chiffre_gauche; //chager pour un short et remettre les valeurs correct (char utiliser pour les test)
goldmas 34:c314feaa0d3e 512 message_droit_at = 100 * vent_select_2 + 10 * vent_select_1 + vent_select_0 ;
goldmas 34:c314feaa0d3e 513 message_gauche_at = 100 * vent_select_5 + 10 * vent_select_4 + vent_select_3 ;
goldmas 34:c314feaa0d3e 514
goldmas 34:c314feaa0d3e 515 switch (message_gauche_at)
goldmas 34:c314feaa0d3e 516 {
goldmas 34:c314feaa0d3e 517 case 31 : //on dépasse la taille d'un char donc on met la valeur en comptant le dépassement
goldmas 34:c314feaa0d3e 518 choix_vent = 66 ;
goldmas 34:c314feaa0d3e 519 SendMsgCan(VENT_AT, &choix_vent,sizeof(choix_vent));
goldmas 34:c314feaa0d3e 520 break ;
goldmas 34:c314feaa0d3e 521 case 28 : //on dépasse la taille d'un char donc on met la valeur en comptant le dépassement
goldmas 34:c314feaa0d3e 522 choix_vent = 54 ;
goldmas 34:c314feaa0d3e 523 SendMsgCan(VENT_AT, &choix_vent,sizeof(choix_vent));
goldmas 34:c314feaa0d3e 524 break ;
goldmas 34:c314feaa0d3e 525 case 247 : //on dépasse la taille d'un char donc on met la valeur en comptant le dépassement
goldmas 34:c314feaa0d3e 526 choix_vent = 53 ;
goldmas 34:c314feaa0d3e 527 SendMsgCan(VENT_AT, &choix_vent,sizeof(choix_vent));
goldmas 34:c314feaa0d3e 528 break ;
goldmas 34:c314feaa0d3e 529 case 43 :
goldmas 34:c314feaa0d3e 530 choix_vent = 43 ;
goldmas 34:c314feaa0d3e 531 SendMsgCan(VENT_AT, &choix_vent,sizeof(choix_vent));
goldmas 34:c314feaa0d3e 532 break ;
goldmas 34:c314feaa0d3e 533 case 244 : //on dépasse la taille d'un char donc on met la valeur en comptant le dépassement
goldmas 34:c314feaa0d3e 534 choix_vent = 5 ;
goldmas 34:c314feaa0d3e 535 SendMsgCan(VENT_AT, &choix_vent,sizeof(choix_vent));
goldmas 34:c314feaa0d3e 536 break ;
goldmas 34:c314feaa0d3e 537 case 40 :
goldmas 34:c314feaa0d3e 538 choix_vent = 4 ;
goldmas 34:c314feaa0d3e 539 SendMsgCan(VENT_AT, &choix_vent,sizeof(choix_vent));
goldmas 34:c314feaa0d3e 540 break ;
goldmas 34:c314feaa0d3e 541 case 3 :
goldmas 34:c314feaa0d3e 542 choix_vent = 3 ;
goldmas 34:c314feaa0d3e 543 SendMsgCan(VENT_AT, &choix_vent,sizeof(choix_vent));
goldmas 34:c314feaa0d3e 544 break ;
goldmas 34:c314feaa0d3e 545 }
goldmas 34:c314feaa0d3e 546
goldmas 34:c314feaa0d3e 547 switch (message_droit_at)
goldmas 34:c314feaa0d3e 548 {
goldmas 34:c314feaa0d3e 549 case 210 :
goldmas 34:c314feaa0d3e 550 choix_vent = 210 ;
goldmas 34:c314feaa0d3e 551 SendMsgCan(VENT_AT, &choix_vent,sizeof(choix_vent));
goldmas 34:c314feaa0d3e 552 break ;
goldmas 34:c314feaa0d3e 553 case 217 :
goldmas 34:c314feaa0d3e 554 choix_vent = 21 ;
goldmas 34:c314feaa0d3e 555 SendMsgCan(VENT_AT, &choix_vent,sizeof(choix_vent));
goldmas 34:c314feaa0d3e 556 break ;
goldmas 34:c314feaa0d3e 557 case 200 :
goldmas 34:c314feaa0d3e 558 choix_vent = 20 ;
goldmas 34:c314feaa0d3e 559 SendMsgCan(VENT_AT, &choix_vent,sizeof(choix_vent));
goldmas 34:c314feaa0d3e 560 break ;
goldmas 34:c314feaa0d3e 561 case 10 :
goldmas 34:c314feaa0d3e 562 choix_vent = 10 ;
goldmas 34:c314feaa0d3e 563 SendMsgCan(VENT_AT, &choix_vent,sizeof(choix_vent));
goldmas 34:c314feaa0d3e 564 break ;
goldmas 34:c314feaa0d3e 565 case 207 :
goldmas 34:c314feaa0d3e 566 choix_vent = 2 ;
goldmas 34:c314feaa0d3e 567 SendMsgCan(VENT_AT, &choix_vent,sizeof(choix_vent));
goldmas 34:c314feaa0d3e 568 break ;
goldmas 34:c314feaa0d3e 569 case 17 :
goldmas 34:c314feaa0d3e 570 choix_vent = 1 ;
goldmas 34:c314feaa0d3e 571 SendMsgCan(VENT_AT, &choix_vent,sizeof(choix_vent));
goldmas 34:c314feaa0d3e 572 break ;
goldmas 34:c314feaa0d3e 573 case 0 :
goldmas 34:c314feaa0d3e 574 choix_vent = 0 ;
goldmas 34:c314feaa0d3e 575 SendMsgCan(VENT_AT, &choix_vent,sizeof(choix_vent));
goldmas 34:c314feaa0d3e 576 break ;
goldmas 34:c314feaa0d3e 577 }
goldmas 34:c314feaa0d3e 578
goldmas 34:c314feaa0d3e 579 message_droit_at = 0 ;
goldmas 34:c314feaa0d3e 580 message_gauche_at = 0 ;
goldmas 34:c314feaa0d3e 581
goldmas 34:c314feaa0d3e 582 TEST_ATTRAPER.Draw(BLEU, BLANC);
goldmas 34:c314feaa0d3e 583 }
goldmas 34:c314feaa0d3e 584 else if (TEST_RELACHER.Touched())
goldmas 34:c314feaa0d3e 585 {
goldmas 34:c314feaa0d3e 586 while(TEST_RELACHER.Touched());
goldmas 34:c314feaa0d3e 587 unsigned char message_droit_re, message_gauche_re;
goldmas 34:c314feaa0d3e 588 message_droit_re = 100 * vent_select_2 + 10 * vent_select_1 + vent_select_0 ;
goldmas 34:c314feaa0d3e 589 message_gauche_re = 100 * vent_select_5 + 10 * vent_select_4 + vent_select_3 ;
goldmas 34:c314feaa0d3e 590 switch (message_droit_re)
goldmas 34:c314feaa0d3e 591 {
goldmas 34:c314feaa0d3e 592 case 210 :
goldmas 34:c314feaa0d3e 593 choix_vent = 210 ;
goldmas 34:c314feaa0d3e 594 SendMsgCan(VENT_RE, &choix_vent,sizeof(choix_vent));
goldmas 34:c314feaa0d3e 595 break ;
goldmas 34:c314feaa0d3e 596 case 217 :
goldmas 34:c314feaa0d3e 597 choix_vent = 21 ;
goldmas 34:c314feaa0d3e 598 SendMsgCan(VENT_RE, &choix_vent,sizeof(choix_vent));
goldmas 34:c314feaa0d3e 599 break ;
goldmas 34:c314feaa0d3e 600 case 200 :
goldmas 34:c314feaa0d3e 601 choix_vent = 20 ;
goldmas 34:c314feaa0d3e 602 SendMsgCan(VENT_RE, &choix_vent,sizeof(choix_vent));
goldmas 34:c314feaa0d3e 603 break ;
goldmas 34:c314feaa0d3e 604 case 10 :
goldmas 34:c314feaa0d3e 605 choix_vent = 10 ;
goldmas 34:c314feaa0d3e 606 SendMsgCan(VENT_RE, &choix_vent,sizeof(choix_vent));
goldmas 34:c314feaa0d3e 607 break ;
goldmas 34:c314feaa0d3e 608 case 207 :
goldmas 34:c314feaa0d3e 609 choix_vent = 2 ;
goldmas 34:c314feaa0d3e 610 SendMsgCan(VENT_RE, &choix_vent,sizeof(choix_vent));
goldmas 34:c314feaa0d3e 611 break ;
goldmas 34:c314feaa0d3e 612 case 17 :
goldmas 34:c314feaa0d3e 613 choix_vent = 1 ;
goldmas 34:c314feaa0d3e 614 SendMsgCan(VENT_RE, &choix_vent,sizeof(choix_vent));
goldmas 34:c314feaa0d3e 615 break ;
goldmas 34:c314feaa0d3e 616 case 0 :
goldmas 34:c314feaa0d3e 617 choix_vent = 0 ;
goldmas 34:c314feaa0d3e 618 SendMsgCan(VENT_RE, &choix_vent,sizeof(choix_vent));
goldmas 34:c314feaa0d3e 619 break ;
goldmas 34:c314feaa0d3e 620 }
goldmas 34:c314feaa0d3e 621
goldmas 34:c314feaa0d3e 622 switch (message_gauche_re)
goldmas 34:c314feaa0d3e 623 {
goldmas 34:c314feaa0d3e 624 case 31 :
goldmas 34:c314feaa0d3e 625 choix_vent = 66 ;
goldmas 34:c314feaa0d3e 626 SendMsgCan(VENT_RE, &choix_vent,sizeof(choix_vent));
goldmas 34:c314feaa0d3e 627 break ;
goldmas 34:c314feaa0d3e 628 case 28 :
goldmas 34:c314feaa0d3e 629 choix_vent = 54 ;
goldmas 34:c314feaa0d3e 630 SendMsgCan(VENT_RE, &choix_vent,sizeof(choix_vent));
goldmas 34:c314feaa0d3e 631 break ;
goldmas 34:c314feaa0d3e 632 case 247 :
goldmas 34:c314feaa0d3e 633 choix_vent = 53 ;
goldmas 34:c314feaa0d3e 634 SendMsgCan(VENT_RE, &choix_vent,sizeof(choix_vent));
goldmas 34:c314feaa0d3e 635 break ;
goldmas 34:c314feaa0d3e 636 case 43 :
goldmas 34:c314feaa0d3e 637 choix_vent = 43 ;
goldmas 34:c314feaa0d3e 638 SendMsgCan(VENT_RE, &choix_vent,sizeof(choix_vent));
goldmas 34:c314feaa0d3e 639 break ;
goldmas 34:c314feaa0d3e 640 case 244 :
goldmas 34:c314feaa0d3e 641 choix_vent = 5 ;
goldmas 34:c314feaa0d3e 642 SendMsgCan(VENT_RE, &choix_vent,sizeof(choix_vent));
goldmas 34:c314feaa0d3e 643 break ;
goldmas 34:c314feaa0d3e 644 case 40 :
goldmas 34:c314feaa0d3e 645 choix_vent = 4 ;
goldmas 34:c314feaa0d3e 646 SendMsgCan(VENT_RE, &choix_vent,sizeof(choix_vent));
goldmas 34:c314feaa0d3e 647 break ;
goldmas 34:c314feaa0d3e 648 case 3 :
goldmas 34:c314feaa0d3e 649 choix_vent = 3 ;
goldmas 34:c314feaa0d3e 650 SendMsgCan(VENT_RE, &choix_vent,sizeof(choix_vent));
goldmas 34:c314feaa0d3e 651 break ;
goldmas 34:c314feaa0d3e 652 }
goldmas 34:c314feaa0d3e 653 message_droit_re = 0 ;
goldmas 34:c314feaa0d3e 654 message_gauche_re = 0 ; //on remet les variables de calcul à 0 pour qu'on puisse recalculer correctement
goldmas 34:c314feaa0d3e 655
goldmas 34:c314feaa0d3e 656 TEST_RELACHER.Draw(BLEU, BLANC);
goldmas 34:c314feaa0d3e 657
goldmas 34:c314feaa0d3e 658 }
goldmas 34:c314feaa0d3e 659 }
goldmas 34:c314feaa0d3e 660 break;
goldmas 34:c314feaa0d3e 661
goldmas 34:c314feaa0d3e 662 /*
gabrieltetar 21:d137ec53c3a9 663 TEST_A.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 664 TEST_NUM.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 665 TEST_PLUS.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 666 TEST_MOINS.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 667 while(strat_etat_s==TEST_VENTOUSE) {
gabrieltetar 21:d137ec53c3a9 668 if(RETOUR.Touched()) {
gabrieltetar 21:d137ec53c3a9 669 while (RETOUR.Touched());
gabrieltetar 21:d137ec53c3a9 670 strat_etat_s=DEMO;
gabrieltetar 21:d137ec53c3a9 671 } else if(TEST_A.Touched()) {
gabrieltetar 21:d137ec53c3a9 672 while (TEST_A.Touched());
maximilienlv 28:7f2990747e09 673 SendRawId(VENT_ETAT);
gabrieltetar 21:d137ec53c3a9 674 TEST_A.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 675 } else if(TEST_NUM.Touched()) {
gabrieltetar 21:d137ec53c3a9 676 while (TEST_NUM.Touched());
gabrieltetar 21:d137ec53c3a9 677 TEST_NUM.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 678 switch(maximilien){
gabrieltetar 21:d137ec53c3a9 679 case 1:
goldmas 32:7f8e3ee2adac 680 choix_groupe = 0 ;
goldmas 32:7f8e3ee2adac 681 SendMsgCan(VENT_AT, &choix_groupe, sizeof(choix_groupe)) ;
gabrieltetar 21:d137ec53c3a9 682 break;
gabrieltetar 21:d137ec53c3a9 683 case 2:
goldmas 32:7f8e3ee2adac 684 choix_groupe = 0 ;
goldmas 32:7f8e3ee2adac 685 SendMsgCan(VENT_RE, &choix_groupe, sizeof(choix_groupe)) ;
gabrieltetar 21:d137ec53c3a9 686 break;
gabrieltetar 21:d137ec53c3a9 687 case 3:
goldmas 32:7f8e3ee2adac 688 choix_groupe = 1 ;
goldmas 32:7f8e3ee2adac 689 SendMsgCan(VENT_AT, &choix_groupe, sizeof(choix_groupe)) ;
gabrieltetar 21:d137ec53c3a9 690 break;
gabrieltetar 21:d137ec53c3a9 691 case 4:
goldmas 32:7f8e3ee2adac 692 choix_groupe = 1 ;
goldmas 32:7f8e3ee2adac 693 SendMsgCan(VENT_RE, &choix_groupe, sizeof(choix_groupe)) ;
gabrieltetar 21:d137ec53c3a9 694 break;
gabrieltetar 21:d137ec53c3a9 695 case 5:
goldmas 32:7f8e3ee2adac 696 choix_groupe = 2 ;
goldmas 32:7f8e3ee2adac 697 SendMsgCan(VENT_AT, &choix_groupe, sizeof(choix_groupe)) ;
gabrieltetar 21:d137ec53c3a9 698 break;
gabrieltetar 21:d137ec53c3a9 699 case 6:
goldmas 32:7f8e3ee2adac 700 choix_groupe = 2 ;
goldmas 32:7f8e3ee2adac 701 SendMsgCan(VENT_RE, &choix_groupe, sizeof(choix_groupe)) ;
goldmas 32:7f8e3ee2adac 702 break;
goldmas 32:7f8e3ee2adac 703 case 7:
goldmas 32:7f8e3ee2adac 704 choix_groupe = 3 ;
goldmas 32:7f8e3ee2adac 705 SendMsgCan(VENT_AT, &choix_groupe, sizeof(choix_groupe)) ;
goldmas 32:7f8e3ee2adac 706 break;
goldmas 32:7f8e3ee2adac 707 case 8:
goldmas 32:7f8e3ee2adac 708 choix_groupe = 3 ;
goldmas 32:7f8e3ee2adac 709 SendMsgCan(VENT_RE, &choix_groupe, sizeof(choix_groupe)) ;
goldmas 32:7f8e3ee2adac 710 break;
goldmas 32:7f8e3ee2adac 711 case 9:
goldmas 32:7f8e3ee2adac 712 choix_groupe = 4 ;
goldmas 32:7f8e3ee2adac 713 SendMsgCan(VENT_AT, &choix_groupe, sizeof(choix_groupe)) ;
goldmas 32:7f8e3ee2adac 714 break;
goldmas 32:7f8e3ee2adac 715 case 10:
goldmas 32:7f8e3ee2adac 716 choix_groupe = 4 ;
goldmas 32:7f8e3ee2adac 717 SendMsgCan(VENT_RE, &choix_groupe, sizeof(choix_groupe)) ;
goldmas 32:7f8e3ee2adac 718 break;
goldmas 32:7f8e3ee2adac 719 case 11:
goldmas 32:7f8e3ee2adac 720 choix_groupe = 5 ;
goldmas 32:7f8e3ee2adac 721 SendMsgCan(VENT_AT, &choix_groupe, sizeof(choix_groupe)) ;
goldmas 32:7f8e3ee2adac 722 break;
goldmas 32:7f8e3ee2adac 723 case 12:
goldmas 32:7f8e3ee2adac 724 choix_groupe = 5 ;
goldmas 32:7f8e3ee2adac 725 SendMsgCan(VENT_RE, &choix_groupe, sizeof(choix_groupe)) ;
gabrieltetar 21:d137ec53c3a9 726 break;
gabrieltetar 21:d137ec53c3a9 727 }
gabrieltetar 21:d137ec53c3a9 728 } else if(TEST_PLUS.Touched()) {
gabrieltetar 21:d137ec53c3a9 729 while (TEST_PLUS.Touched());
gabrieltetar 21:d137ec53c3a9 730 TEST_PLUS.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 731 if(maximilien!=6)maximilien++;
gabrieltetar 21:d137ec53c3a9 732 sprintf(toto,"%hd",maximilien);
gabrieltetar 21:d137ec53c3a9 733 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 734 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 735 lcd.DisplayStringAt(50, LINE(20), (unsigned char *)toto, LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 736 } else if(TEST_MOINS.Touched()) {
gabrieltetar 21:d137ec53c3a9 737 while (TEST_MOINS.Touched());
gabrieltetar 21:d137ec53c3a9 738 TEST_MOINS.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 739 if(maximilien!=1)maximilien--;
gabrieltetar 21:d137ec53c3a9 740 sprintf(toto,"%hd",maximilien);
gabrieltetar 21:d137ec53c3a9 741 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 742 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 743 lcd.DisplayStringAt(50, LINE(20), (unsigned char *)toto, LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 744 }
gabrieltetar 21:d137ec53c3a9 745 }
goldmas 34:c314feaa0d3e 746 break;*/
gabrieltetar 21:d137ec53c3a9 747
gabrieltetar 24:1a13c998c7ac 748 case TEST_ELECTROV:
gabrieltetar 21:d137ec53c3a9 749 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 750 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 751 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 752 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 753 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"A : Manches B : Pavillon", LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 754 RETOUR.Draw(0xFFFF0000,0);
gabrieltetar 21:d137ec53c3a9 755 TEST_A.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 756 TEST_B.Draw(BLEU, BLANC);
gabrieltetar 24:1a13c998c7ac 757 while(strat_etat_s==TEST_ELECTROV) {
gabrieltetar 21:d137ec53c3a9 758 if(RETOUR.Touched()) {
gabrieltetar 21:d137ec53c3a9 759 while (RETOUR.Touched());
gabrieltetar 24:1a13c998c7ac 760 strat_etat_s=DEMO;
gabrieltetar 21:d137ec53c3a9 761 } else if(TEST_A.Touched()) {
gabrieltetar 21:d137ec53c3a9 762 while (TEST_A.Touched());
gabrieltetar 21:d137ec53c3a9 763 //SendRawId(TEST_ELECTROV_A);
gabrieltetar 21:d137ec53c3a9 764 TEST_A.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 765 } else if(TEST_B.Touched()) {
gabrieltetar 21:d137ec53c3a9 766 while (TEST_B.Touched());
gabrieltetar 21:d137ec53c3a9 767 //SendRawId(TEST_ELECTROV_A);
gabrieltetar 21:d137ec53c3a9 768 TEST_B.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 769 }
gabrieltetar 21:d137ec53c3a9 770 }
gabrieltetar 21:d137ec53c3a9 771 break;
gabrieltetar 24:1a13c998c7ac 772
gabrieltetar 21:d137ec53c3a9 773 case TEST_AUD:
gabrieltetar 21:d137ec53c3a9 774
gabrieltetar 21:d137ec53c3a9 775 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 776 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 777 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 778 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 779 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Test Audio", LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 780 sprintf(toto,"%hd",maximilien);
gabrieltetar 21:d137ec53c3a9 781 lcd.DisplayStringAt(50, LINE(20), (unsigned char *)toto, LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 782 RETOUR.Draw(0xFFFF0000,0);
gabrieltetar 21:d137ec53c3a9 783 TEST_NUM.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 784 TEST_PLUS.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 785 TEST_MOINS.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 786 while(strat_etat_s==TEST_AUD) {
gabrieltetar 21:d137ec53c3a9 787 if(RETOUR.Touched()) {
gabrieltetar 21:d137ec53c3a9 788 while (RETOUR.Touched());
gabrieltetar 21:d137ec53c3a9 789 strat_etat_s=DEMO;
gabrieltetar 21:d137ec53c3a9 790 } else if(TEST_NUM.Touched()) {
gabrieltetar 21:d137ec53c3a9 791 while (TEST_NUM.Touched());
gabrieltetar 21:d137ec53c3a9 792 TEST_NUM.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 793 Debug_Audio(3,maximilien);
gabrieltetar 21:d137ec53c3a9 794 } else if(TEST_PLUS.Touched()) {
gabrieltetar 21:d137ec53c3a9 795 while (TEST_PLUS.Touched());
gabrieltetar 21:d137ec53c3a9 796 TEST_PLUS.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 797 if(maximilien!=20)maximilien++;
gabrieltetar 21:d137ec53c3a9 798 sprintf(toto,"%hd",maximilien);
gabrieltetar 21:d137ec53c3a9 799 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 800 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 801 lcd.DisplayStringAt(50, LINE(20), (unsigned char *)toto, LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 802 } else if(TEST_MOINS.Touched()) {
gabrieltetar 21:d137ec53c3a9 803 while (TEST_MOINS.Touched());
gabrieltetar 21:d137ec53c3a9 804 TEST_MOINS.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 805 if(maximilien!=1)maximilien--;
gabrieltetar 21:d137ec53c3a9 806 sprintf(toto,"%hd",maximilien);
gabrieltetar 21:d137ec53c3a9 807 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 808 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 809 lcd.DisplayStringAt(50, LINE(20), (unsigned char *)toto, LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 810 }
gabrieltetar 21:d137ec53c3a9 811 }
gabrieltetar 21:d137ec53c3a9 812 break;
gabrieltetar 21:d137ec53c3a9 813
gabrieltetar 21:d137ec53c3a9 814 case TEST_SERVO_BRAS:
goldmas 33:c54841d11156 815 char bras_select_0 = 7, bras_select_1 = 0, bras_select_2 = 0, bras_select_3 = 0, bras_select_4 = 0, bras_select_5 = 0 ;
goldmas 33:c54841d11156 816 unsigned char choix_bras;
gabrieltetar 21:d137ec53c3a9 817 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 818 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 819 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 820 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 821 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Test Bras", LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 822 sprintf(toto,"%hd",maximilien);
gabrieltetar 21:d137ec53c3a9 823 lcd.DisplayStringAt(50, LINE(20), (unsigned char *)toto, LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 824 RETOUR.Draw(0xFFFF0000,0);
goldmas 32:7f8e3ee2adac 825 TEST_ATTRAPER.Draw(BLEU, BLANC);
goldmas 32:7f8e3ee2adac 826 TEST_RELACHER.Draw(BLEU, BLANC);
goldmas 32:7f8e3ee2adac 827 TEST_SERVO_0.Draw(BLEU, BLANC);
goldmas 32:7f8e3ee2adac 828 TEST_SERVO_1.Draw(BLEU, BLANC);
goldmas 32:7f8e3ee2adac 829 TEST_SERVO_2.Draw(BLEU, BLANC);
goldmas 32:7f8e3ee2adac 830 TEST_SERVO_3.Draw(BLEU, BLANC);
goldmas 32:7f8e3ee2adac 831 TEST_SERVO_4.Draw(BLEU, BLANC);
goldmas 32:7f8e3ee2adac 832 TEST_SERVO_5.Draw(BLEU, BLANC);
goldmas 32:7f8e3ee2adac 833 while(strat_etat_s==TEST_SERVO_BRAS)
goldmas 32:7f8e3ee2adac 834 {
goldmas 32:7f8e3ee2adac 835 if(RETOUR.Touched())
goldmas 32:7f8e3ee2adac 836 {
gabrieltetar 21:d137ec53c3a9 837 while (RETOUR.Touched());
gabrieltetar 21:d137ec53c3a9 838 strat_etat_s=DEMO;
goldmas 32:7f8e3ee2adac 839 }
goldmas 32:7f8e3ee2adac 840 else if(TEST_SERVO_0.Touched())
goldmas 32:7f8e3ee2adac 841 {
goldmas 32:7f8e3ee2adac 842 while (TEST_SERVO_0.Touched());
goldmas 33:c54841d11156 843 if(bras_select_0 == 0)
goldmas 33:c54841d11156 844 {
goldmas 33:c54841d11156 845 bras_select_0 = 7 ;
goldmas 33:c54841d11156 846 TEST_SERVO_0.Draw(BLEU, BLANC);
goldmas 33:c54841d11156 847 }
goldmas 33:c54841d11156 848 else
goldmas 32:7f8e3ee2adac 849 {
goldmas 32:7f8e3ee2adac 850 bras_select_0 = 0 ;
goldmas 32:7f8e3ee2adac 851 TEST_SERVO_0.Draw(DIY_GREY, BLANC);
goldmas 32:7f8e3ee2adac 852 }
goldmas 32:7f8e3ee2adac 853 }
goldmas 32:7f8e3ee2adac 854 else if(TEST_SERVO_1.Touched())
goldmas 32:7f8e3ee2adac 855 {
goldmas 32:7f8e3ee2adac 856 while (TEST_SERVO_1.Touched());
goldmas 33:c54841d11156 857 if(bras_select_1 == 1)
goldmas 32:7f8e3ee2adac 858 {
goldmas 32:7f8e3ee2adac 859 bras_select_1 = 0 ;
goldmas 33:c54841d11156 860 TEST_SERVO_1.Draw(BLEU, BLANC);
goldmas 32:7f8e3ee2adac 861 }
goldmas 32:7f8e3ee2adac 862 else
goldmas 32:7f8e3ee2adac 863 {
goldmas 32:7f8e3ee2adac 864 bras_select_1 = 1 ;
goldmas 33:c54841d11156 865 TEST_SERVO_1.Draw(DIY_GREY, BLANC);
goldmas 32:7f8e3ee2adac 866 }
goldmas 32:7f8e3ee2adac 867 }
goldmas 32:7f8e3ee2adac 868 else if(TEST_SERVO_2.Touched())
goldmas 32:7f8e3ee2adac 869 {
goldmas 32:7f8e3ee2adac 870 while (TEST_SERVO_2.Touched());
goldmas 33:c54841d11156 871 if(bras_select_2 == 2)
goldmas 32:7f8e3ee2adac 872 {
goldmas 32:7f8e3ee2adac 873 bras_select_2 = 0 ;
goldmas 33:c54841d11156 874 TEST_SERVO_2.Draw(BLEU, BLANC);
goldmas 32:7f8e3ee2adac 875 }
goldmas 32:7f8e3ee2adac 876 else
goldmas 32:7f8e3ee2adac 877 {
goldmas 33:c54841d11156 878 bras_select_2 = 2 ;
goldmas 33:c54841d11156 879 TEST_SERVO_2.Draw(DIY_GREY, BLANC);
gabrieltetar 21:d137ec53c3a9 880 }
goldmas 32:7f8e3ee2adac 881 }
goldmas 32:7f8e3ee2adac 882 else if(TEST_SERVO_3.Touched())
goldmas 32:7f8e3ee2adac 883 {
goldmas 32:7f8e3ee2adac 884 while (TEST_SERVO_3.Touched());
goldmas 33:c54841d11156 885 if(bras_select_3 == 3)
goldmas 32:7f8e3ee2adac 886 {
goldmas 32:7f8e3ee2adac 887 bras_select_3 = 0 ;
goldmas 33:c54841d11156 888 TEST_SERVO_3.Draw(BLEU, BLANC);
goldmas 32:7f8e3ee2adac 889 }
goldmas 32:7f8e3ee2adac 890 else
goldmas 32:7f8e3ee2adac 891 {
goldmas 33:c54841d11156 892 bras_select_3 = 3 ;
goldmas 33:c54841d11156 893 TEST_SERVO_3.Draw(DIY_GREY, BLANC);
goldmas 32:7f8e3ee2adac 894 }
goldmas 32:7f8e3ee2adac 895 }
goldmas 32:7f8e3ee2adac 896 else if(TEST_SERVO_4.Touched())
goldmas 32:7f8e3ee2adac 897 {
goldmas 32:7f8e3ee2adac 898 while (TEST_SERVO_4.Touched());
goldmas 33:c54841d11156 899 if(bras_select_4 == 4)
goldmas 32:7f8e3ee2adac 900 {
goldmas 32:7f8e3ee2adac 901 bras_select_4 = 0 ;
goldmas 33:c54841d11156 902 TEST_SERVO_4.Draw(BLEU, BLANC);
goldmas 32:7f8e3ee2adac 903 }
goldmas 32:7f8e3ee2adac 904 else
goldmas 32:7f8e3ee2adac 905 {
goldmas 33:c54841d11156 906 bras_select_4 = 4 ;
goldmas 33:c54841d11156 907 TEST_SERVO_4.Draw(DIY_GREY, BLANC);
goldmas 32:7f8e3ee2adac 908 }
goldmas 32:7f8e3ee2adac 909 }
goldmas 32:7f8e3ee2adac 910 else if(TEST_SERVO_5.Touched())
goldmas 32:7f8e3ee2adac 911 {
goldmas 32:7f8e3ee2adac 912 while (TEST_SERVO_5.Touched());
goldmas 33:c54841d11156 913 if(bras_select_5 == 5)
goldmas 32:7f8e3ee2adac 914 {
goldmas 32:7f8e3ee2adac 915 bras_select_5 = 0 ;
goldmas 33:c54841d11156 916 TEST_SERVO_5.Draw(BLEU, BLANC);
goldmas 32:7f8e3ee2adac 917 }
goldmas 32:7f8e3ee2adac 918 else
goldmas 32:7f8e3ee2adac 919 {
goldmas 33:c54841d11156 920 bras_select_5 = 5 ;
goldmas 33:c54841d11156 921 TEST_SERVO_5.Draw(DIY_GREY, BLANC);
goldmas 32:7f8e3ee2adac 922 }
goldmas 32:7f8e3ee2adac 923 }
goldmas 32:7f8e3ee2adac 924 else if (TEST_ATTRAPER.Touched())
goldmas 32:7f8e3ee2adac 925 {
goldmas 33:c54841d11156 926 while(TEST_ATTRAPER.Touched()) ;
goldmas 33:c54841d11156 927 unsigned char message_droit_at, message_gauche_at, nombre_de_chiffre_droite, nombre_de_chiffre_gauche;
goldmas 33:c54841d11156 928 message_droit_at = 100 * bras_select_2 + 10 * bras_select_1 + bras_select_0 ;
goldmas 33:c54841d11156 929 message_gauche_at = 100 * bras_select_5 + 10 * bras_select_4 + bras_select_3 ;
goldmas 33:c54841d11156 930
goldmas 33:c54841d11156 931 switch (message_gauche_at)
goldmas 33:c54841d11156 932 {
goldmas 33:c54841d11156 933 case 31 : //on dépasse la taille d'un char donc on met la valeur en comptant le dépassement
goldmas 33:c54841d11156 934 choix_bras = 66 ;
goldmas 33:c54841d11156 935 SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 936 waitingAckFrom = 0;
goldmas 33:c54841d11156 937 waitingAckID =0;
goldmas 33:c54841d11156 938 break ;
goldmas 33:c54841d11156 939 case 28 : //on dépasse la taille d'un char donc on met la valeur en comptant le dépassement
goldmas 33:c54841d11156 940 choix_bras = 54 ;
goldmas 33:c54841d11156 941 SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 942 waitingAckFrom = 0;
goldmas 33:c54841d11156 943 waitingAckID =0;
goldmas 33:c54841d11156 944 break ;
goldmas 33:c54841d11156 945 case 247 : //on dépasse la taille d'un char donc on met la valeur en comptant le dépassement
goldmas 33:c54841d11156 946 choix_bras = 53 ;
goldmas 33:c54841d11156 947 SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 948 waitingAckFrom = 0;
goldmas 33:c54841d11156 949 waitingAckID =0;
goldmas 33:c54841d11156 950 break ;
goldmas 33:c54841d11156 951 case 43 :
goldmas 33:c54841d11156 952 choix_bras = 43 ;
goldmas 33:c54841d11156 953 SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 954 waitingAckFrom = 0;
goldmas 33:c54841d11156 955 waitingAckID =0;
goldmas 33:c54841d11156 956 break ;
goldmas 33:c54841d11156 957 case 244 : //on dépasse la taille d'un char donc on met la valeur en comptant le dépassement
goldmas 33:c54841d11156 958 choix_bras = 5 ;
goldmas 33:c54841d11156 959 SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 960 waitingAckFrom = 0;
goldmas 33:c54841d11156 961 waitingAckID =0;
goldmas 33:c54841d11156 962 break ;
goldmas 33:c54841d11156 963 case 40 :
goldmas 33:c54841d11156 964 choix_bras = 4 ;
goldmas 33:c54841d11156 965 SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 966 waitingAckFrom = 0;
goldmas 33:c54841d11156 967 waitingAckID =0;
goldmas 33:c54841d11156 968 break ;
goldmas 33:c54841d11156 969 case 3 :
goldmas 33:c54841d11156 970 choix_bras = 3 ;
goldmas 33:c54841d11156 971 SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 972 waitingAckFrom = 0;
goldmas 33:c54841d11156 973 waitingAckID =0;
goldmas 33:c54841d11156 974 break ;
goldmas 33:c54841d11156 975 }
goldmas 33:c54841d11156 976
goldmas 33:c54841d11156 977 switch (message_droit_at)
goldmas 33:c54841d11156 978 {
goldmas 33:c54841d11156 979 case 210 :
goldmas 33:c54841d11156 980 choix_bras = 210 ;
goldmas 33:c54841d11156 981 SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 982 waitingAckFrom = 0;
goldmas 33:c54841d11156 983 waitingAckID =0;
goldmas 33:c54841d11156 984 break ;
goldmas 33:c54841d11156 985 case 217 :
goldmas 33:c54841d11156 986 choix_bras = 21 ;
goldmas 38:9d6a3ccc0582 987 GoStraight(-40, 0, 0, 0);
goldmas 33:c54841d11156 988 SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 989 waitingAckFrom = 0;
goldmas 33:c54841d11156 990 waitingAckID =0;
goldmas 33:c54841d11156 991 break ;
goldmas 33:c54841d11156 992 case 200 :
goldmas 33:c54841d11156 993 choix_bras = 20 ;
goldmas 38:9d6a3ccc0582 994 GoStraight(-50, 0, 0, 0);
goldmas 33:c54841d11156 995 SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 996 waitingAckFrom = 0;
goldmas 33:c54841d11156 997 waitingAckID =0;
goldmas 33:c54841d11156 998 break ;
goldmas 33:c54841d11156 999 case 10 :
goldmas 33:c54841d11156 1000 choix_bras = 10 ;
goldmas 38:9d6a3ccc0582 1001 GoStraight(-45, 0, 0, 0);
goldmas 33:c54841d11156 1002 SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 1003 waitingAckFrom = 0;
goldmas 33:c54841d11156 1004 waitingAckID =0;
goldmas 33:c54841d11156 1005 break ;
goldmas 33:c54841d11156 1006 case 207 :
goldmas 33:c54841d11156 1007 choix_bras = 2 ;
goldmas 33:c54841d11156 1008 SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 1009 waitingAckFrom = 0;
goldmas 33:c54841d11156 1010 waitingAckID =0;
goldmas 33:c54841d11156 1011 break ;
goldmas 33:c54841d11156 1012 case 17 :
goldmas 33:c54841d11156 1013 choix_bras = 1 ;
goldmas 33:c54841d11156 1014 SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 1015 waitingAckFrom = 0;
goldmas 33:c54841d11156 1016 waitingAckID =0;
goldmas 33:c54841d11156 1017 break ;
goldmas 33:c54841d11156 1018 case 0 :
goldmas 33:c54841d11156 1019 choix_bras = 0 ;
goldmas 33:c54841d11156 1020 SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 1021 waitingAckFrom = 0;
goldmas 33:c54841d11156 1022 waitingAckID =0;
goldmas 33:c54841d11156 1023 break ;
goldmas 33:c54841d11156 1024 }
goldmas 33:c54841d11156 1025
goldmas 33:c54841d11156 1026 message_droit_at = 0 ;
goldmas 33:c54841d11156 1027 message_gauche_at = 0 ;
goldmas 33:c54841d11156 1028
goldmas 33:c54841d11156 1029 TEST_ATTRAPER.Draw(BLEU, BLANC);
goldmas 33:c54841d11156 1030 }
goldmas 33:c54841d11156 1031 else if (TEST_RELACHER.Touched())
goldmas 33:c54841d11156 1032 {
goldmas 33:c54841d11156 1033 while(TEST_RELACHER.Touched());
goldmas 33:c54841d11156 1034 unsigned char message_droit_re, message_gauche_re;
goldmas 33:c54841d11156 1035 message_droit_re = 100 * bras_select_2 + 10 * bras_select_1 + bras_select_0 ;
goldmas 33:c54841d11156 1036 message_gauche_re = 100 * bras_select_5 + 10 * bras_select_4 + bras_select_3 ;
goldmas 33:c54841d11156 1037 switch (message_droit_re)
goldmas 33:c54841d11156 1038 {
goldmas 33:c54841d11156 1039 case 210 :
goldmas 33:c54841d11156 1040 choix_bras = 210 ;
goldmas 33:c54841d11156 1041 SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 1042 waitingAckFrom = 0;
goldmas 33:c54841d11156 1043 waitingAckID =0;
goldmas 33:c54841d11156 1044 break ;
goldmas 33:c54841d11156 1045 case 217 :
goldmas 33:c54841d11156 1046 choix_bras = 21 ;
goldmas 33:c54841d11156 1047 SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 1048 waitingAckFrom = 0;
goldmas 33:c54841d11156 1049 waitingAckID =0;
goldmas 33:c54841d11156 1050 break ;
goldmas 33:c54841d11156 1051 case 200 :
goldmas 33:c54841d11156 1052 choix_bras = 20 ;
goldmas 33:c54841d11156 1053 SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 1054 waitingAckFrom = 0;
goldmas 33:c54841d11156 1055 waitingAckID =0;
goldmas 33:c54841d11156 1056 break ;
goldmas 33:c54841d11156 1057 case 10 :
goldmas 33:c54841d11156 1058 choix_bras = 10 ;
goldmas 33:c54841d11156 1059 SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 1060 waitingAckFrom = 0;
goldmas 33:c54841d11156 1061 waitingAckID =0;
goldmas 33:c54841d11156 1062 break ;
goldmas 33:c54841d11156 1063 case 207 :
goldmas 33:c54841d11156 1064 choix_bras = 2 ;
goldmas 33:c54841d11156 1065 SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 1066 waitingAckFrom = 0;
goldmas 33:c54841d11156 1067 waitingAckID =0;
goldmas 33:c54841d11156 1068 break ;
goldmas 33:c54841d11156 1069 case 17 :
goldmas 33:c54841d11156 1070 choix_bras = 1 ;
goldmas 33:c54841d11156 1071 SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 1072 waitingAckFrom = 0;
goldmas 33:c54841d11156 1073 waitingAckID =0;
goldmas 33:c54841d11156 1074 break ;
goldmas 33:c54841d11156 1075 case 0 :
goldmas 33:c54841d11156 1076 choix_bras = 0 ;
goldmas 33:c54841d11156 1077 SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 1078 waitingAckFrom = 0;
goldmas 33:c54841d11156 1079 waitingAckID =0;
goldmas 33:c54841d11156 1080 break ;
goldmas 33:c54841d11156 1081 }
goldmas 33:c54841d11156 1082
goldmas 33:c54841d11156 1083 switch (message_gauche_re)
goldmas 33:c54841d11156 1084 {
goldmas 33:c54841d11156 1085 case 31 :
goldmas 33:c54841d11156 1086 choix_bras = 66 ;
goldmas 33:c54841d11156 1087 SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 1088 waitingAckFrom = 0;
goldmas 33:c54841d11156 1089 waitingAckID =0;
goldmas 33:c54841d11156 1090 break ;
goldmas 33:c54841d11156 1091 case 28 :
goldmas 33:c54841d11156 1092 choix_bras = 54 ;
goldmas 33:c54841d11156 1093 SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 1094 waitingAckFrom = 0;
goldmas 33:c54841d11156 1095 waitingAckID =0;
goldmas 33:c54841d11156 1096 break ;
goldmas 33:c54841d11156 1097 case 247 :
goldmas 33:c54841d11156 1098 choix_bras = 53 ;
goldmas 33:c54841d11156 1099 SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 1100 waitingAckFrom = 0;
goldmas 33:c54841d11156 1101 waitingAckID =0;
goldmas 33:c54841d11156 1102 break ;
goldmas 33:c54841d11156 1103 case 43 :
goldmas 33:c54841d11156 1104 choix_bras = 43 ;
goldmas 33:c54841d11156 1105 SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 1106 waitingAckFrom = 0;
goldmas 33:c54841d11156 1107 waitingAckID =0;
goldmas 33:c54841d11156 1108 break ;
goldmas 33:c54841d11156 1109 case 244 :
goldmas 33:c54841d11156 1110 choix_bras = 5 ;
goldmas 33:c54841d11156 1111 SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 1112 waitingAckFrom = 0;
goldmas 33:c54841d11156 1113 waitingAckID =0;
goldmas 33:c54841d11156 1114 break ;
goldmas 33:c54841d11156 1115 case 40 :
goldmas 33:c54841d11156 1116 choix_bras = 4 ;
goldmas 33:c54841d11156 1117 SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 1118 waitingAckFrom = 0;
goldmas 33:c54841d11156 1119 waitingAckID =0;
goldmas 33:c54841d11156 1120 break ;
goldmas 33:c54841d11156 1121 case 3 :
goldmas 33:c54841d11156 1122 choix_bras = 3 ;
goldmas 33:c54841d11156 1123 SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 1124 waitingAckFrom = 0;
goldmas 33:c54841d11156 1125 waitingAckID =0;
goldmas 33:c54841d11156 1126 break ;
goldmas 33:c54841d11156 1127 }
goldmas 33:c54841d11156 1128 message_droit_re = 0 ;
goldmas 33:c54841d11156 1129 message_gauche_re = 0 ;
goldmas 33:c54841d11156 1130
goldmas 33:c54841d11156 1131 TEST_RELACHER.Draw(BLEU, BLANC);
goldmas 32:7f8e3ee2adac 1132
gabrieltetar 21:d137ec53c3a9 1133 }
gabrieltetar 21:d137ec53c3a9 1134 }
gabrieltetar 21:d137ec53c3a9 1135 break;
gabrieltetar 21:d137ec53c3a9 1136
gabrieltetar 21:d137ec53c3a9 1137 case TEST_COULEUR:
gabrieltetar 21:d137ec53c3a9 1138 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 1139 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Test Couleur", LEFT_MODE);
gabrieltetar 24:1a13c998c7ac 1140 TEST_A.Draw(BLEU, BLANC);
gabrieltetar 24:1a13c998c7ac 1141 TEST_B.Draw(BLEU, BLANC);
gabrieltetar 24:1a13c998c7ac 1142 TEST_C.Draw(BLEU, BLANC);
gabrieltetar 24:1a13c998c7ac 1143 TEST_D.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 1144 RETOUR.Draw(0xFFFF0000,0);
gabrieltetar 21:d137ec53c3a9 1145 while(strat_etat_s==TEST_COULEUR) {
gabrieltetar 21:d137ec53c3a9 1146 if(RETOUR.Touched()) {
gabrieltetar 21:d137ec53c3a9 1147 while (RETOUR.Touched());
gabrieltetar 21:d137ec53c3a9 1148 strat_etat_s=DEMO;
gabrieltetar 21:d137ec53c3a9 1149 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 24:1a13c998c7ac 1150 }else if(TEST_A.Touched()) {
gabrieltetar 24:1a13c998c7ac 1151 while (TEST_A.Touched());
gabrieltetar 24:1a13c998c7ac 1152 SendRawId(TEST_BRAS_A);
gabrieltetar 24:1a13c998c7ac 1153 TEST_A.Draw(BLEU, BLANC);
gabrieltetar 24:1a13c998c7ac 1154 } else if(TEST_B.Touched()) {
gabrieltetar 24:1a13c998c7ac 1155 while (TEST_B.Touched());
gabrieltetar 24:1a13c998c7ac 1156 SendRawId(TEST_BRAS_B);
gabrieltetar 24:1a13c998c7ac 1157 TEST_B.Draw(BLEU, BLANC);
gabrieltetar 24:1a13c998c7ac 1158 } else if(TEST_C.Touched()) {
gabrieltetar 24:1a13c998c7ac 1159 while (TEST_C.Touched());
gabrieltetar 24:1a13c998c7ac 1160 SendRawId(TEST_BRAS_C);
gabrieltetar 24:1a13c998c7ac 1161 TEST_C.Draw(BLEU, BLANC);
gabrieltetar 24:1a13c998c7ac 1162 } else if(TEST_D.Touched()) {
gabrieltetar 24:1a13c998c7ac 1163 while (TEST_D.Touched());
gabrieltetar 24:1a13c998c7ac 1164 SendRawId(TEST_BRAS_D);
gabrieltetar 24:1a13c998c7ac 1165 TEST_D.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 1166 }
gabrieltetar 21:d137ec53c3a9 1167 }
gabrieltetar 21:d137ec53c3a9 1168 break;
gabrieltetar 21:d137ec53c3a9 1169
gabrieltetar 21:d137ec53c3a9 1170 case TEST_MOTEUR:
gabrieltetar 21:d137ec53c3a9 1171 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 1172 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 1173 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 1174 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 1175 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Test Moteur", LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 1176 RETOUR.Draw(0xFFFF0000,0);
gabrieltetar 21:d137ec53c3a9 1177 TEST_A.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 1178 TEST_B.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 1179 while(strat_etat_s==TEST_MOTEUR) {
gabrieltetar 21:d137ec53c3a9 1180 if(RETOUR.Touched()) {
gabrieltetar 21:d137ec53c3a9 1181 while (RETOUR.Touched());
gabrieltetar 21:d137ec53c3a9 1182 strat_etat_s=DEMO;
gabrieltetar 21:d137ec53c3a9 1183 } else if(TEST_A.Touched()) {
gabrieltetar 21:d137ec53c3a9 1184 while (TEST_A.Touched());
gabrieltetar 21:d137ec53c3a9 1185 BendRadius(150,1800,1,0);
gabrieltetar 21:d137ec53c3a9 1186 TEST_A.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 1187 } else if(TEST_B.Touched()) {
gabrieltetar 21:d137ec53c3a9 1188 while (TEST_B.Touched());
gabrieltetar 21:d137ec53c3a9 1189 BendRadius(150,1800,0,0);
gabrieltetar 21:d137ec53c3a9 1190 TEST_B.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 1191 }
gabrieltetar 21:d137ec53c3a9 1192 }
gabrieltetar 21:d137ec53c3a9 1193 break; ///////////////////////////////////////////FIN DES DEMOS/////////////////////////////////////////////////
gabrieltetar 21:d137ec53c3a9 1194
gabrieltetar 21:d137ec53c3a9 1195
gabrieltetar 21:d137ec53c3a9 1196 case SELECT_SIDE : // CHOIX DU COTE DU TERRAIN + INVERSION DE LA STRAT SI COTE ORANGE+ ENVOI DU COTE A LA CARTE CAPTEUR/ACTIONNEURS
gabrieltetar 21:d137ec53c3a9 1197 lcd.Clear(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 1198 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 1199 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 1200
gabrieltetar 21:d137ec53c3a9 1201 lcd.DisplayStringAt(70, LINE(0), (uint8_t *)"Choisir le cote", LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 1202 COTE_JAUNE.Draw(JAUNE, 0);
gabrieltetar 21:d137ec53c3a9 1203 COTE_VIOLET.Draw(VIOLET, 0);
gabrieltetar 21:d137ec53c3a9 1204 RETOUR.Draw(LCD_COLOR_RED, 0);
gabrieltetar 21:d137ec53c3a9 1205
gabrieltetar 21:d137ec53c3a9 1206
gabrieltetar 21:d137ec53c3a9 1207 while (strat_etat_s == SELECT_SIDE) {
gabrieltetar 21:d137ec53c3a9 1208 canProcessRx();
gabrieltetar 21:d137ec53c3a9 1209 if(COTE_JAUNE.Touched()) {
maximilienlv 28:7f2990747e09 1210 Cote = 0x1;
gabrieltetar 21:d137ec53c3a9 1211 InversStrat = Cote;
goldmas 36:c37dbe2be916 1212 strat_etat_s = SELECT_ROB;
gabrieltetar 21:d137ec53c3a9 1213 CANMessage trame_Tx = CANMessage();
gabrieltetar 21:d137ec53c3a9 1214 trame_Tx.len = 1;
gabrieltetar 21:d137ec53c3a9 1215 trame_Tx.format = CANStandard;
gabrieltetar 21:d137ec53c3a9 1216 trame_Tx.type = CANData;
gabrieltetar 21:d137ec53c3a9 1217 trame_Tx.id=CHOICE_COLOR;
gabrieltetar 21:d137ec53c3a9 1218 trame_Tx.data[0]=Cote;
gabrieltetar 21:d137ec53c3a9 1219 can2.write(trame_Tx);
gabrieltetar 21:d137ec53c3a9 1220 while(COTE_JAUNE.Touched());
gabrieltetar 21:d137ec53c3a9 1221
gabrieltetar 21:d137ec53c3a9 1222 }
gabrieltetar 21:d137ec53c3a9 1223
gabrieltetar 21:d137ec53c3a9 1224 if(COTE_VIOLET.Touched()) {
maximilienlv 28:7f2990747e09 1225 Cote = 0x0;
gabrieltetar 21:d137ec53c3a9 1226 InversStrat= Cote;
goldmas 36:c37dbe2be916 1227 strat_etat_s = SELECT_ROB;
gabrieltetar 21:d137ec53c3a9 1228 CANMessage trame_Tx = CANMessage();
gabrieltetar 21:d137ec53c3a9 1229 trame_Tx.len = 1;
gabrieltetar 21:d137ec53c3a9 1230 trame_Tx.format = CANStandard;
gabrieltetar 21:d137ec53c3a9 1231 trame_Tx.type = CANData;
gabrieltetar 21:d137ec53c3a9 1232 trame_Tx.id=CHOICE_COLOR;
gabrieltetar 21:d137ec53c3a9 1233 trame_Tx.data[0]=Cote;
gabrieltetar 21:d137ec53c3a9 1234 can2.write(trame_Tx);
gabrieltetar 21:d137ec53c3a9 1235 while(COTE_VIOLET.Touched());
gabrieltetar 21:d137ec53c3a9 1236 }
gabrieltetar 21:d137ec53c3a9 1237
gabrieltetar 21:d137ec53c3a9 1238 if(RETOUR.Touched()) {
gabrieltetar 21:d137ec53c3a9 1239 strat_etat_s = CHOIX;
gabrieltetar 21:d137ec53c3a9 1240 while(RETOUR.Touched());
gabrieltetar 21:d137ec53c3a9 1241 }
gabrieltetar 21:d137ec53c3a9 1242 }
gabrieltetar 21:d137ec53c3a9 1243
gabrieltetar 21:d137ec53c3a9 1244 break;
goldmas 36:c37dbe2be916 1245
goldmas 36:c37dbe2be916 1246 case SELECT_ROB : // CHOIX DU SENS DE RECALAGE EN HAUT OU EN BAS
goldmas 36:c37dbe2be916 1247 lcd.Clear(LCD_COLOR_WHITE);
goldmas 36:c37dbe2be916 1248 lcd.SetBackColor(LCD_COLOR_WHITE);
goldmas 36:c37dbe2be916 1249 lcd.SetTextColor(LCD_COLOR_BLACK);
goldmas 36:c37dbe2be916 1250 lcd.DisplayStringAt(70, LINE(0), (uint8_t *)"Choisir la hauteur", LEFT_MODE);
goldmas 36:c37dbe2be916 1251
goldmas 36:c37dbe2be916 1252 if(Cote==0)
goldmas 36:c37dbe2be916 1253 {
goldmas 36:c37dbe2be916 1254 COTE_HAUT.Draw(VIOLET, 0);
goldmas 36:c37dbe2be916 1255 COTE_BAS.Draw(VIOLET, 0);
goldmas 36:c37dbe2be916 1256 }
goldmas 36:c37dbe2be916 1257 else if(Cote==1)
goldmas 36:c37dbe2be916 1258 {
goldmas 36:c37dbe2be916 1259 COTE_HAUT.Draw(JAUNE, 0);
goldmas 36:c37dbe2be916 1260 COTE_BAS.Draw(JAUNE, 0);
goldmas 36:c37dbe2be916 1261 }
goldmas 36:c37dbe2be916 1262 RETOUR.Draw(LCD_COLOR_RED, 0);
gabrieltetar 21:d137ec53c3a9 1263
goldmas 36:c37dbe2be916 1264
goldmas 36:c37dbe2be916 1265 while (strat_etat_s == SELECT_ROB)
goldmas 36:c37dbe2be916 1266 {
goldmas 36:c37dbe2be916 1267 canProcessRx();
goldmas 36:c37dbe2be916 1268 if(COTE_HAUT.Touched())
goldmas 36:c37dbe2be916 1269 {
goldmas 36:c37dbe2be916 1270 Hauteur = 0x1;
goldmas 36:c37dbe2be916 1271 strat_etat_s = TACTIQUE;
goldmas 36:c37dbe2be916 1272 while(COTE_HAUT.Touched());
goldmas 36:c37dbe2be916 1273 }
goldmas 36:c37dbe2be916 1274 if(COTE_BAS.Touched()) {
goldmas 36:c37dbe2be916 1275 Hauteur = 0x0;
goldmas 36:c37dbe2be916 1276 strat_etat_s = TACTIQUE;
goldmas 36:c37dbe2be916 1277 while(COTE_BAS.Touched());
goldmas 36:c37dbe2be916 1278 }
goldmas 36:c37dbe2be916 1279
goldmas 36:c37dbe2be916 1280 if(RETOUR.Touched()) {
goldmas 36:c37dbe2be916 1281 strat_etat_s = SELECT_SIDE;
goldmas 36:c37dbe2be916 1282 while(RETOUR.Touched());
goldmas 36:c37dbe2be916 1283 }
goldmas 36:c37dbe2be916 1284 }
goldmas 36:c37dbe2be916 1285 break;
goldmas 36:c37dbe2be916 1286
gabrieltetar 21:d137ec53c3a9 1287 case TACTIQUE : //AFFICHE LA LISTE DES STRATS AFIN DE SELECTIONNER CELLE VOULUE
slowness 29:ff575aff301f 1288 if (Cote == 1) {
gabrieltetar 21:d137ec53c3a9 1289 lcd.Clear(JAUNE);
gabrieltetar 21:d137ec53c3a9 1290 lcd.SetBackColor(JAUNE);
slowness 29:ff575aff301f 1291 } else if (Cote == 0) {
gabrieltetar 21:d137ec53c3a9 1292 lcd.Clear(VIOLET);
gabrieltetar 21:d137ec53c3a9 1293 lcd.SetBackColor(VIOLET);
gabrieltetar 21:d137ec53c3a9 1294 } else {
gabrieltetar 21:d137ec53c3a9 1295 lcd.Clear(BLEU);
gabrieltetar 21:d137ec53c3a9 1296 lcd.SetBackColor(BLEU);
gabrieltetar 21:d137ec53c3a9 1297 }
gabrieltetar 21:d137ec53c3a9 1298
gabrieltetar 21:d137ec53c3a9 1299 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 1300
gabrieltetar 21:d137ec53c3a9 1301 lcd.DisplayStringAt(20, LINE(0), (uint8_t *)"Choisir une strategie", LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 1302
gabrieltetar 21:d137ec53c3a9 1303 nbStrat = Bouton_Strat(); // retourne valeur de Strategie si bouton strat renvoi -1 on reviens en arriere
gabrieltetar 21:d137ec53c3a9 1304 if (nbStrat == -1) {
gabrieltetar 21:d137ec53c3a9 1305 strat_etat_s = SELECT_SIDE;
gabrieltetar 21:d137ec53c3a9 1306 } else {
gabrieltetar 21:d137ec53c3a9 1307 strat_etat_s = DETAILS;
gabrieltetar 21:d137ec53c3a9 1308 }
gabrieltetar 21:d137ec53c3a9 1309 wait(0.1);
gabrieltetar 21:d137ec53c3a9 1310 break;
gabrieltetar 21:d137ec53c3a9 1311
gabrieltetar 21:d137ec53c3a9 1312 case DETAILS : //SECONDE VALIDATION DE LA STRAT
gabrieltetar 21:d137ec53c3a9 1313 lcd.Clear(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 1314 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 1315 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 1316 CHECK.Draw(VERT);
gabrieltetar 21:d137ec53c3a9 1317 RETOUR.Draw(LCD_COLOR_RED);
gabrieltetar 21:d137ec53c3a9 1318
gabrieltetar 21:d137ec53c3a9 1319 SelectionStrat(nbStrat); //affiche la stratégie selectionnée
gabrieltetar 21:d137ec53c3a9 1320
gabrieltetar 21:d137ec53c3a9 1321 while (strat_etat_s == DETAILS) {
gabrieltetar 21:d137ec53c3a9 1322 canProcessRx();
gabrieltetar 21:d137ec53c3a9 1323 if (CHECK.Touched()) {
gabrieltetar 21:d137ec53c3a9 1324 if(gameEtat == ETAT_CONFIG) {
gabrieltetar 21:d137ec53c3a9 1325 gameEtat = ETAT_GAME_INIT;
gabrieltetar 21:d137ec53c3a9 1326 strat_etat_s=LECTURE;
gabrieltetar 21:d137ec53c3a9 1327
gabrieltetar 21:d137ec53c3a9 1328 }
gabrieltetar 21:d137ec53c3a9 1329 while(CHECK.Touched());
gabrieltetar 21:d137ec53c3a9 1330 }
gabrieltetar 21:d137ec53c3a9 1331
gabrieltetar 21:d137ec53c3a9 1332 if(RETOUR.Touched()) {
gabrieltetar 21:d137ec53c3a9 1333 strat_etat_s = TACTIQUE;
gabrieltetar 21:d137ec53c3a9 1334 while(RETOUR.Touched());
gabrieltetar 21:d137ec53c3a9 1335 }
gabrieltetar 21:d137ec53c3a9 1336 }
gabrieltetar 21:d137ec53c3a9 1337 break;
gabrieltetar 21:d137ec53c3a9 1338
gabrieltetar 21:d137ec53c3a9 1339
gabrieltetar 21:d137ec53c3a9 1340 case LECTURE :
gabrieltetar 21:d137ec53c3a9 1341 break;
gabrieltetar 21:d137ec53c3a9 1342 case AFF_WAIT_JACK : //FONCTIONS D'AFFICHAGE DE L'ATTENTE DU JACK
gabrieltetar 21:d137ec53c3a9 1343 lcd.Clear(BLANC);
gabrieltetar 21:d137ec53c3a9 1344 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 1345 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 1346
gabrieltetar 21:d137ec53c3a9 1347 if (Cote == 0) {
goldmas 35:2a745eeb7922 1348 lcd.Clear(LCD_COLOR_WHITE);
goldmas 35:2a745eeb7922 1349 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 1350 } else if (Cote == 1) {
goldmas 35:2a745eeb7922 1351 lcd.Clear(LCD_COLOR_WHITE);
goldmas 35:2a745eeb7922 1352 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 1353 } else {
gabrieltetar 21:d137ec53c3a9 1354 lcd.Clear(VERT);
gabrieltetar 21:d137ec53c3a9 1355 lcd.SetBackColor(VERT);
gabrieltetar 21:d137ec53c3a9 1356 }
gabrieltetar 21:d137ec53c3a9 1357 canProcessRx();
gabrieltetar 21:d137ec53c3a9 1358 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"En attente du Jack", CENTER_MODE);
gabrieltetar 21:d137ec53c3a9 1359 strat_etat_s=WAIT_JACK;
goldmas 35:2a745eeb7922 1360
gabrieltetar 21:d137ec53c3a9 1361 break;
gabrieltetar 21:d137ec53c3a9 1362
goldmas 35:2a745eeb7922 1363 case WAIT_JACK :
goldmas 35:2a745eeb7922 1364 if(unique == 0)
goldmas 35:2a745eeb7922 1365 {
goldmas 35:2a745eeb7922 1366 lcd.SetTextColor(LCD_COLOR_BLUE);
goldmas 35:2a745eeb7922 1367 lcd.DrawRect(0,50,400,320);
goldmas 35:2a745eeb7922 1368 lcd.DisplayStringAt(100, LINE(8), (unsigned char *)"Score :", LEFT_MODE);
goldmas 35:2a745eeb7922 1369 lcd.SetTextColor(LCD_COLOR_RED);
goldmas 35:2a745eeb7922 1370 lcd.DrawRect(0,400,400,320);
goldmas 38:9d6a3ccc0582 1371 lcd.DisplayStringAt(100, LINE(28), (unsigned char *)"Timer :", LEFT_MODE);
goldmas 35:2a745eeb7922 1372 unique = 1;
goldmas 35:2a745eeb7922 1373 }
goldmas 38:9d6a3ccc0582 1374
goldmas 35:2a745eeb7922 1375
goldmas 35:2a745eeb7922 1376 lcd.SetTextColor(LCD_COLOR_BLACK);
goldmas 35:2a745eeb7922 1377
goldmas 38:9d6a3ccc0582 1378 lcd.DisplayStringAt(100, LINE(15), (unsigned char *)"girou :", LEFT_MODE);
goldmas 38:9d6a3ccc0582 1379 sprintf(toto,"%02d",val_girou);
goldmas 35:2a745eeb7922 1380 lcd.DisplayStringAt(250, LINE(15), (unsigned char *)toto, LEFT_MODE);
goldmas 35:2a745eeb7922 1381
goldmas 38:9d6a3ccc0582 1382 lcd.DisplayStringAt(100, LINE(16), (unsigned char *)"debug :", LEFT_MODE);
goldmas 38:9d6a3ccc0582 1383 sprintf(toto,"%02d",debug_bon_port);
goldmas 35:2a745eeb7922 1384 lcd.DisplayStringAt(250, LINE(16), (unsigned char *)toto, LEFT_MODE);
goldmas 35:2a745eeb7922 1385
goldmas 35:2a745eeb7922 1386
goldmas 38:9d6a3ccc0582 1387 lcd.DisplayStringAt(100, LINE(10), (unsigned char *)"g_vert :", LEFT_MODE);
goldmas 38:9d6a3ccc0582 1388 sprintf(toto,"%04d",gobelet_vert);
goldmas 38:9d6a3ccc0582 1389 lcd.DisplayStringAt(250, LINE(10), (unsigned char *)toto, LEFT_MODE);
goldmas 38:9d6a3ccc0582 1390
goldmas 38:9d6a3ccc0582 1391 lcd.DisplayStringAt(100, LINE(11), (unsigned char *)"g_rouge :", LEFT_MODE);
goldmas 35:2a745eeb7922 1392 sprintf(toto,"%04d",gobelet_rouge);
goldmas 38:9d6a3ccc0582 1393 lcd.DisplayStringAt(250, LINE(11), (unsigned char *)toto, LEFT_MODE);
goldmas 35:2a745eeb7922 1394
goldmas 38:9d6a3ccc0582 1395 lcd.DisplayStringAt(100, LINE(12), (unsigned char *)"g_port :", LEFT_MODE);
goldmas 35:2a745eeb7922 1396 sprintf(toto,"%04d",gobelet_port);
goldmas 38:9d6a3ccc0582 1397 lcd.DisplayStringAt(250, LINE(12), (unsigned char *)toto, LEFT_MODE);
goldmas 35:2a745eeb7922 1398
goldmas 38:9d6a3ccc0582 1399
goldmas 35:2a745eeb7922 1400 actual_time = gameTimer.read();
goldmas 38:9d6a3ccc0582 1401 // if(actual_time != old_time)
goldmas 38:9d6a3ccc0582 1402 // {
goldmas 35:2a745eeb7922 1403 lcd.SetTextColor(LCD_COLOR_BLUE);
goldmas 35:2a745eeb7922 1404 sprintf(toto,"%hd",score_final);
goldmas 35:2a745eeb7922 1405 lcd.DisplayStringAt(250, LINE(8), (unsigned char *)toto, LEFT_MODE);
goldmas 35:2a745eeb7922 1406
goldmas 35:2a745eeb7922 1407 lcd.SetTextColor(LCD_COLOR_RED);
goldmas 35:2a745eeb7922 1408 sprintf(toto,"%hd",actual_time);
goldmas 38:9d6a3ccc0582 1409 lcd.DisplayStringAt(250, LINE(28), (unsigned char *)toto, LEFT_MODE);
goldmas 38:9d6a3ccc0582 1410 // old_time = actual_time;
goldmas 38:9d6a3ccc0582 1411 // }
gabrieltetar 21:d137ec53c3a9 1412 break;
goldmas 35:2a745eeb7922 1413
goldmas 35:2a745eeb7922 1414
gabrieltetar 21:d137ec53c3a9 1415 case FIN : //AFFICHAGE DE FIN AVEC LE SCORE FINAL
goldmas 35:2a745eeb7922 1416 // lcd.Clear(LCD_COLOR_WHITE);
goldmas 35:2a745eeb7922 1417 // lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 1418
gabrieltetar 21:d137ec53c3a9 1419
gabrieltetar 21:d137ec53c3a9 1420 while(1); // force le redemarage du robot
gabrieltetar 21:d137ec53c3a9 1421 //break;
goldmas 35:2a745eeb7922 1422 }
gabrieltetar 21:d137ec53c3a9 1423 }
gabrieltetar 21:d137ec53c3a9 1424 /****************************************************************************************/
gabrieltetar 21:d137ec53c3a9 1425 /* FUNCTION NAME: Bouton_Strat */
gabrieltetar 21:d137ec53c3a9 1426 /* DESCRIPTION : Sélection de la strat sur le lcd puis envoie sur CAN (à modifier!) */
gabrieltetar 21:d137ec53c3a9 1427 /****************************************************************************************/
gabrieltetar 21:d137ec53c3a9 1428 signed char Bouton_Strat (void)
gabrieltetar 21:d137ec53c3a9 1429 {
gabrieltetar 21:d137ec53c3a9 1430 char Ack_strat = 0;
gabrieltetar 21:d137ec53c3a9 1431 signed char Strat = 0;
gabrieltetar 21:d137ec53c3a9 1432 Button STRAT_1 (0, 30, 190, 110, strat_sd[0]);
gabrieltetar 21:d137ec53c3a9 1433 Button STRAT_2 (210, 30, 190, 110, strat_sd[1]);
gabrieltetar 21:d137ec53c3a9 1434 Button STRAT_3 (0, 150, 190, 110, strat_sd[2]);
gabrieltetar 21:d137ec53c3a9 1435 Button STRAT_4 (210, 150, 190, 110, strat_sd[3]);
gabrieltetar 21:d137ec53c3a9 1436 Button STRAT_5 (0, 270, 190, 110,strat_sd[4]);
gabrieltetar 21:d137ec53c3a9 1437 Button STRAT_6 (210, 270, 190, 110, strat_sd[5]);
gabrieltetar 21:d137ec53c3a9 1438 Button STRAT_7 (0, 390, 190, 110, strat_sd[6]);
gabrieltetar 21:d137ec53c3a9 1439 Button STRAT_8 (210, 390, 190, 110, strat_sd[7]);
gabrieltetar 21:d137ec53c3a9 1440 Button STRAT_9 (0, 510, 190, 110, strat_sd[8]);
gabrieltetar 21:d137ec53c3a9 1441 Button STRAT_10 (210, 510, 190, 110, strat_sd[9]);
gabrieltetar 21:d137ec53c3a9 1442 Button RETOUR (0, 680, 400, 110, "--Precedent--");
gabrieltetar 21:d137ec53c3a9 1443 //Definition des boutons
gabrieltetar 21:d137ec53c3a9 1444
gabrieltetar 21:d137ec53c3a9 1445 Ack_strat = 0;
gabrieltetar 21:d137ec53c3a9 1446 Strat = 0;
gabrieltetar 21:d137ec53c3a9 1447 STRAT_1.Draw(0xFFF0F0F0, 0);
gabrieltetar 21:d137ec53c3a9 1448 STRAT_2.Draw(0xFFF0F0F0, 0);
gabrieltetar 21:d137ec53c3a9 1449 STRAT_3.Draw(0xFFF0F0F0, 0);
gabrieltetar 21:d137ec53c3a9 1450 STRAT_4.Draw(0xFFF0F0F0, 0);
gabrieltetar 21:d137ec53c3a9 1451 STRAT_5.Draw(0xFFF0F0F0, 0);
gabrieltetar 21:d137ec53c3a9 1452 STRAT_6.Draw(0xFFF0F0F0, 0);
gabrieltetar 21:d137ec53c3a9 1453 STRAT_7.Draw(0xFFF0F0F0, 0);
gabrieltetar 21:d137ec53c3a9 1454 STRAT_8.Draw(0xFFF0F0F0, 0);
gabrieltetar 21:d137ec53c3a9 1455 STRAT_9.Draw(0xFFF0F0F0, 0);
gabrieltetar 21:d137ec53c3a9 1456 STRAT_10.Draw(0xFFF0F0F0, 0);
gabrieltetar 21:d137ec53c3a9 1457 RETOUR.Draw(0xFFFF0000, 0);
gabrieltetar 21:d137ec53c3a9 1458
gabrieltetar 21:d137ec53c3a9 1459 while(Ack_strat == 0) {
gabrieltetar 21:d137ec53c3a9 1460 canProcessRx();
gabrieltetar 21:d137ec53c3a9 1461 CANMessage msgTx=CANMessage();
gabrieltetar 21:d137ec53c3a9 1462 //msgTx.id=ECRAN_CHOICE_STRAT;
gabrieltetar 21:d137ec53c3a9 1463 if (RETOUR.Touched())
gabrieltetar 21:d137ec53c3a9 1464 return -1;
gabrieltetar 21:d137ec53c3a9 1465 while(RETOUR.Touched());
gabrieltetar 21:d137ec53c3a9 1466 //////////////////////////////STRATEGIE N°1
gabrieltetar 21:d137ec53c3a9 1467 if (STRAT_1.Touched()) {
gabrieltetar 21:d137ec53c3a9 1468 Strat = 0;
gabrieltetar 21:d137ec53c3a9 1469 //msgTx.data[0] = 0x1;
gabrieltetar 21:d137ec53c3a9 1470 //can2.write(msgTx);
gabrieltetar 21:d137ec53c3a9 1471 while(STRAT_1.Touched());
gabrieltetar 21:d137ec53c3a9 1472 Ack_strat =1;
gabrieltetar 21:d137ec53c3a9 1473 }
gabrieltetar 21:d137ec53c3a9 1474 /////////////////////////////STRATEGIE N°2
gabrieltetar 21:d137ec53c3a9 1475 if (STRAT_2.Touched()) {
gabrieltetar 21:d137ec53c3a9 1476 Strat = 1;
gabrieltetar 21:d137ec53c3a9 1477 //msgTx.data[0] = 0x2;
gabrieltetar 21:d137ec53c3a9 1478 //can2.write(msgTx);
gabrieltetar 21:d137ec53c3a9 1479 while(STRAT_2.Touched());
gabrieltetar 21:d137ec53c3a9 1480 Ack_strat =1;
gabrieltetar 21:d137ec53c3a9 1481 }
gabrieltetar 21:d137ec53c3a9 1482 //////////////////////////////STRATEGIE N°3
gabrieltetar 21:d137ec53c3a9 1483 if (STRAT_3.Touched()) {
gabrieltetar 21:d137ec53c3a9 1484 Strat = 2;
gabrieltetar 21:d137ec53c3a9 1485 //msgTx.data[0] = 0x3;
gabrieltetar 21:d137ec53c3a9 1486 //can2.write(msgTx);
gabrieltetar 21:d137ec53c3a9 1487 while(STRAT_3.Touched());
gabrieltetar 21:d137ec53c3a9 1488 Ack_strat =1;
gabrieltetar 21:d137ec53c3a9 1489 }
gabrieltetar 21:d137ec53c3a9 1490 /////////////////////////////STRATEGIE N°4
gabrieltetar 21:d137ec53c3a9 1491 if (STRAT_4.Touched()) {
gabrieltetar 21:d137ec53c3a9 1492 Strat = 3;
gabrieltetar 21:d137ec53c3a9 1493 //msgTx.data[0] = 0x4;
gabrieltetar 21:d137ec53c3a9 1494 //can2.write(msgTx);
gabrieltetar 21:d137ec53c3a9 1495 while(STRAT_4.Touched());
gabrieltetar 21:d137ec53c3a9 1496 Ack_strat =1;
gabrieltetar 21:d137ec53c3a9 1497 }
gabrieltetar 21:d137ec53c3a9 1498 ///////////////////////////////STRATEGIE N°5
gabrieltetar 21:d137ec53c3a9 1499 if (STRAT_5.Touched()) {
gabrieltetar 21:d137ec53c3a9 1500 Strat = 4;
gabrieltetar 21:d137ec53c3a9 1501 //msgTx.data[0] = 0x5;
gabrieltetar 21:d137ec53c3a9 1502 //can2.write(msgTx);
gabrieltetar 21:d137ec53c3a9 1503 while(STRAT_5.Touched());
gabrieltetar 21:d137ec53c3a9 1504 Ack_strat =1;
gabrieltetar 21:d137ec53c3a9 1505 }
gabrieltetar 21:d137ec53c3a9 1506 ////////////////////////////////STRATEGIE N°6
gabrieltetar 21:d137ec53c3a9 1507 if (STRAT_6.Touched()) {
gabrieltetar 21:d137ec53c3a9 1508 Strat = 5;
gabrieltetar 21:d137ec53c3a9 1509 //msgTx.data[0] = 0x6;
gabrieltetar 21:d137ec53c3a9 1510 //can2.write(msgTx);
gabrieltetar 21:d137ec53c3a9 1511 while(STRAT_6.Touched());
gabrieltetar 21:d137ec53c3a9 1512 Ack_strat =1;
gabrieltetar 21:d137ec53c3a9 1513 }
gabrieltetar 21:d137ec53c3a9 1514 /////////////////////////////////STRATEGIE N°7
gabrieltetar 21:d137ec53c3a9 1515 if (STRAT_7.Touched()) {
gabrieltetar 21:d137ec53c3a9 1516 Strat = 6;
gabrieltetar 21:d137ec53c3a9 1517 //msgTx.data[0] = 0x7;
gabrieltetar 21:d137ec53c3a9 1518 //can2.write(msgTx);
gabrieltetar 21:d137ec53c3a9 1519 while(STRAT_7.Touched());
gabrieltetar 21:d137ec53c3a9 1520 Ack_strat =1;
gabrieltetar 21:d137ec53c3a9 1521 }
gabrieltetar 21:d137ec53c3a9 1522 /////////////////////////////////STRATEGIE N°8
gabrieltetar 21:d137ec53c3a9 1523 if (STRAT_8.Touched()) {
gabrieltetar 21:d137ec53c3a9 1524 Strat = 7;
gabrieltetar 21:d137ec53c3a9 1525 //msgTx.data[0] = 0x8;
gabrieltetar 21:d137ec53c3a9 1526 //can2.write(msgTx);
gabrieltetar 21:d137ec53c3a9 1527 while(STRAT_8.Touched());
gabrieltetar 21:d137ec53c3a9 1528 Ack_strat =1;
gabrieltetar 21:d137ec53c3a9 1529 }
gabrieltetar 21:d137ec53c3a9 1530 /////////////////////////////////STRATEGIE N°9
gabrieltetar 21:d137ec53c3a9 1531 if (STRAT_9.Touched()) {
gabrieltetar 21:d137ec53c3a9 1532 Strat = 8;
gabrieltetar 21:d137ec53c3a9 1533 //msgTx.data[0] = 0x9;
gabrieltetar 21:d137ec53c3a9 1534 //can2.write(msgTx);
gabrieltetar 21:d137ec53c3a9 1535 while(STRAT_9.Touched());
gabrieltetar 21:d137ec53c3a9 1536 Ack_strat =1;
gabrieltetar 21:d137ec53c3a9 1537 }
gabrieltetar 21:d137ec53c3a9 1538 ///////////////////////////////////STRATEGIE N°10
gabrieltetar 21:d137ec53c3a9 1539 if (STRAT_10.Touched()) {
gabrieltetar 21:d137ec53c3a9 1540 Strat = 9;
gabrieltetar 21:d137ec53c3a9 1541 //msgTx.data[0] = 0xA;
gabrieltetar 21:d137ec53c3a9 1542 //can2.write(msgTx);
gabrieltetar 21:d137ec53c3a9 1543 while(STRAT_10.Touched());
gabrieltetar 21:d137ec53c3a9 1544 Ack_strat =1;
gabrieltetar 21:d137ec53c3a9 1545 }
gabrieltetar 21:d137ec53c3a9 1546
gabrieltetar 21:d137ec53c3a9 1547 }
gabrieltetar 21:d137ec53c3a9 1548 return Strat;
gabrieltetar 21:d137ec53c3a9 1549
gabrieltetar 21:d137ec53c3a9 1550 }
gabrieltetar 21:d137ec53c3a9 1551 /****************************************************************************************/
gabrieltetar 21:d137ec53c3a9 1552 /* FUNCTION NAME: SelectionStrat */
gabrieltetar 21:d137ec53c3a9 1553 /* DESCRIPTION : Affiche la Stratégie sélectionnée sur l'ihm */
gabrieltetar 21:d137ec53c3a9 1554 /****************************************************************************************/
gabrieltetar 21:d137ec53c3a9 1555
gabrieltetar 21:d137ec53c3a9 1556
gabrieltetar 21:d137ec53c3a9 1557 void SelectionStrat (unsigned char Strategie)
gabrieltetar 21:d137ec53c3a9 1558 {
gabrieltetar 21:d137ec53c3a9 1559 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 1560 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 1561
gabrieltetar 21:d137ec53c3a9 1562 switch (Strategie+1) {
gabrieltetar 21:d137ec53c3a9 1563 case 0x1 :
gabrieltetar 21:d137ec53c3a9 1564 //description de Strategie n°1
gabrieltetar 21:d137ec53c3a9 1565 lcd.DisplayStringAt(150, 0, (uint8_t *)strat_sd[Strategie], LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 1566 break;
gabrieltetar 21:d137ec53c3a9 1567
gabrieltetar 21:d137ec53c3a9 1568 case 0x2 :
gabrieltetar 21:d137ec53c3a9 1569 //description de Strategie n°2
gabrieltetar 21:d137ec53c3a9 1570 lcd.DisplayStringAt(150,0, (uint8_t *)strat_sd[Strategie], LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 1571 break;
gabrieltetar 21:d137ec53c3a9 1572
gabrieltetar 21:d137ec53c3a9 1573 case 0x3 :
gabrieltetar 21:d137ec53c3a9 1574 //description de Strategie n°3
gabrieltetar 21:d137ec53c3a9 1575 lcd.DisplayStringAt(150,0, (uint8_t *)strat_sd[Strategie], LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 1576 break;
gabrieltetar 21:d137ec53c3a9 1577
gabrieltetar 21:d137ec53c3a9 1578 case 0x4 :
gabrieltetar 21:d137ec53c3a9 1579 //description de Strategie n°4
gabrieltetar 21:d137ec53c3a9 1580 lcd.DisplayStringAt(150,0, (uint8_t *)strat_sd[Strategie], LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 1581 break;
gabrieltetar 21:d137ec53c3a9 1582
gabrieltetar 21:d137ec53c3a9 1583 case 0x5 :
gabrieltetar 21:d137ec53c3a9 1584 //description de Strategie n°5
gabrieltetar 21:d137ec53c3a9 1585 lcd.DisplayStringAt(150,0, (uint8_t *)strat_sd[Strategie], LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 1586 break;
gabrieltetar 21:d137ec53c3a9 1587
gabrieltetar 21:d137ec53c3a9 1588 case 0x6 :
gabrieltetar 21:d137ec53c3a9 1589 //description de Strategie n°5
gabrieltetar 21:d137ec53c3a9 1590 lcd.DisplayStringAt(150,0, (uint8_t *)strat_sd[Strategie], LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 1591 break;
gabrieltetar 21:d137ec53c3a9 1592
gabrieltetar 21:d137ec53c3a9 1593 case 0x7 :
gabrieltetar 21:d137ec53c3a9 1594 //description de Strategie n°5
gabrieltetar 21:d137ec53c3a9 1595 lcd.DisplayStringAt(150,0, (uint8_t *)strat_sd[Strategie], LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 1596 break;
gabrieltetar 21:d137ec53c3a9 1597
gabrieltetar 21:d137ec53c3a9 1598 case 0x8 :
gabrieltetar 21:d137ec53c3a9 1599 //description de Strategie n°5
gabrieltetar 21:d137ec53c3a9 1600 lcd.DisplayStringAt(150,0, (uint8_t *)strat_sd[Strategie], LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 1601 break;
gabrieltetar 21:d137ec53c3a9 1602
gabrieltetar 21:d137ec53c3a9 1603 case 0x9 :
gabrieltetar 21:d137ec53c3a9 1604 //description de Strategie n°5
gabrieltetar 21:d137ec53c3a9 1605 lcd.DisplayStringAt(150,0, (uint8_t *)strat_sd[Strategie], LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 1606 break;
gabrieltetar 21:d137ec53c3a9 1607
gabrieltetar 21:d137ec53c3a9 1608 case 0xA :
gabrieltetar 21:d137ec53c3a9 1609 //description de Strategie n°5
gabrieltetar 21:d137ec53c3a9 1610 lcd.DisplayStringAt(150,0, (uint8_t *)strat_sd[Strategie], LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 1611 break;
gabrieltetar 21:d137ec53c3a9 1612 }
gabrieltetar 27:ff70537a7619 1613 }
gabrieltetar 27:ff70537a7619 1614
gabrieltetar 27:ff70537a7619 1615 void DrawC (int l,int h,int x, int y, unsigned char fill){
gabrieltetar 27:ff70537a7619 1616 Point c[8]={{l,0},{l,h/6},{l/5,h/3},{l/5,2*(h/3)},{l,5*(h/6)},{l,h},{0,5*(h/6)},{0,h/6}};
gabrieltetar 27:ff70537a7619 1617 for(int a=0;a<8;a++){
gabrieltetar 27:ff70537a7619 1618 c[a].X+=x;
gabrieltetar 27:ff70537a7619 1619 c[a].Y+=y;
gabrieltetar 27:ff70537a7619 1620 }
gabrieltetar 27:ff70537a7619 1621 lcd.DrawPolygon(c, 8);
gabrieltetar 27:ff70537a7619 1622
gabrieltetar 27:ff70537a7619 1623 }
gabrieltetar 27:ff70537a7619 1624 void DrawR (int l,int h,int x, int y, unsigned char fill){
gabrieltetar 27:ff70537a7619 1625 Point r[10]={{0,0},{5*(l/6),0},{l,h/3},{5*(l/6),h/2},{l/2,h/2},{l,h},{2*(l/3),h},{l/4,h/2},{l/4,h},{0,h}};
gabrieltetar 27:ff70537a7619 1626 for(int a=0;a<10;a++){
gabrieltetar 27:ff70537a7619 1627 r[a].X+=x;
gabrieltetar 27:ff70537a7619 1628 r[a].Y+=y;
gabrieltetar 27:ff70537a7619 1629 }
gabrieltetar 27:ff70537a7619 1630 lcd.DrawPolygon(r, 10);
gabrieltetar 27:ff70537a7619 1631 }
gabrieltetar 27:ff70537a7619 1632 void DrawA (int l,int h,int x, int y, unsigned char fill){
gabrieltetar 27:ff70537a7619 1633 Point a[8]={{l/4,0},{3*(l/4),0},{l,h},{5*(l/6),h},{4*(l/6),h/2},{2*(l/6),h/2},{l/6,h},{0,h}};
gabrieltetar 27:ff70537a7619 1634 for(int z=0;z<8;z++){
gabrieltetar 27:ff70537a7619 1635 a[z].X+=x;
gabrieltetar 27:ff70537a7619 1636 a[z].Y+=y;
gabrieltetar 27:ff70537a7619 1637 }
gabrieltetar 27:ff70537a7619 1638 lcd.DrawPolygon(a, 8);
gabrieltetar 27:ff70537a7619 1639 }
gabrieltetar 27:ff70537a7619 1640 void DrawCheck (int l,int h,int x, int y, int cochage){
gabrieltetar 27:ff70537a7619 1641 if(x<3)x=3;
gabrieltetar 27:ff70537a7619 1642 if(cochage == 1){
gabrieltetar 27:ff70537a7619 1643 lcd.SetTextColor(VERT_F);
gabrieltetar 27:ff70537a7619 1644 lcd.DrawLine(x,y-(h/2),x+l/2,y+h/2);
gabrieltetar 27:ff70537a7619 1645 lcd.DrawLine(x-1,y-(h/2),x+l/2,y+h/2+1);
gabrieltetar 27:ff70537a7619 1646 lcd.DrawLine(x-2,y-(h/2),x+l/2,y+h/2+2);
gabrieltetar 27:ff70537a7619 1647 lcd.DrawLine(x+l/2,y+h/2,x+(4*(l/3)),y);
gabrieltetar 27:ff70537a7619 1648 lcd.DrawLine(x+l/2,y+h/2+1,x+(4*(l/3))+1,y);
gabrieltetar 27:ff70537a7619 1649 lcd.DrawLine(x+l/2,y+h/2+2,x+(4*(l/3))+2,y);
gabrieltetar 27:ff70537a7619 1650 lcd.SetTextColor(NOIR);
gabrieltetar 27:ff70537a7619 1651 } else {
gabrieltetar 27:ff70537a7619 1652 Point a[4]={{0,0},{l,0},{l,h},{0,h}};
gabrieltetar 27:ff70537a7619 1653 for(int z=0;z<8;z++){
gabrieltetar 27:ff70537a7619 1654 a[z].X+=x;
gabrieltetar 27:ff70537a7619 1655 a[z].Y+=y;
gabrieltetar 27:ff70537a7619 1656 }
gabrieltetar 27:ff70537a7619 1657 lcd.DrawPolygon(a, 4);
gabrieltetar 27:ff70537a7619 1658 }
gabrieltetar 21:d137ec53c3a9 1659 }