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:
Wed May 12 14:40:52 2021 +0000
Revision:
33:c54841d11156
Parent:
32:7f8e3ee2adac
Child:
34:c314feaa0d3e
adaptation manche a air et demo bras avec new ident fct;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gabrieltetar 21:d137ec53c3a9 1 #include "global.h"
gabrieltetar 21:d137ec53c3a9 2
gabrieltetar 21:d137ec53c3a9 3 #define VERT 0xFF00FF00
gabrieltetar 21:d137ec53c3a9 4 #define ROUGE 0xFFFF0000
gabrieltetar 21:d137ec53c3a9 5 #define BLEU 0xFF0000FF
gabrieltetar 21:d137ec53c3a9 6 #define JAUNE 0xFFFDD835//FEFE00
gabrieltetar 21:d137ec53c3a9 7 #define BLANC 0xFF000000
gabrieltetar 21:d137ec53c3a9 8 #define ORANGE 0xFFFFA500
gabrieltetar 21:d137ec53c3a9 9 #define NOIR 0xFF000000
gabrieltetar 21:d137ec53c3a9 10 #define DIY_GREY 0xFFDFDFDF
gabrieltetar 21:d137ec53c3a9 11 #define VIOLET 0xFF4527A0
gabrieltetar 27:ff70537a7619 12 #define VERT_F 0xFF00C400
gabrieltetar 21:d137ec53c3a9 13 TS_DISCO_F469NI ts;
gabrieltetar 21:d137ec53c3a9 14 LCD_DISCO_F469NI lcd;
gabrieltetar 21:d137ec53c3a9 15
gabrieltetar 21:d137ec53c3a9 16
gabrieltetar 21:d137ec53c3a9 17 TS_StateTypeDef TS_State;
gabrieltetar 21:d137ec53c3a9 18
gabrieltetar 21:d137ec53c3a9 19
gabrieltetar 21:d137ec53c3a9 20 /////////////////DEFINITION DES BOUTONS////////////////////
gabrieltetar 21:d137ec53c3a9 21 Button COTE_JAUNE(0, 25, 400, 300, "JAUNE");
goldmas 33:c54841d11156 22 Button COTE_VIOLET(0, 350, 400, 300, "BLEU");
gabrieltetar 21:d137ec53c3a9 23 Button RETOUR (0, 680, 400, 110, "--Precedent--");
gabrieltetar 21:d137ec53c3a9 24 Button LANCER (0, 200, 400, 200, "--LANCER--");
gabrieltetar 21:d137ec53c3a9 25 Button CHECK (0, 420, 400, 200, "Valider");
gabrieltetar 21:d137ec53c3a9 26 Button MATCH (0, 50, 400, 320, "Match");
gabrieltetar 21:d137ec53c3a9 27 Button DEMONSTRATION (0, 400, 400, 320, "Demo");
gabrieltetar 21:d137ec53c3a9 28 //menu demo
gabrieltetar 21:d137ec53c3a9 29 Button TEST_VENT(0, 25, 400, 100, "Test ventouses");
gabrieltetar 21:d137ec53c3a9 30 Button TEST_MOT(0, 135, 400, 100, "Test moteur");
gabrieltetar 21:d137ec53c3a9 31 Button TEST_COUL(0,245,400,100,"Test capteurs couleur");
gabrieltetar 21:d137ec53c3a9 32 Button TEST_BRAS(0,355,400,100,"Test Bras");
gabrieltetar 21:d137ec53c3a9 33 Button TEST_AUDIO(0,465,400,100,"Test Audio");
gabrieltetar 22:c7763a7ec6c7 34
gabrieltetar 22:c7763a7ec6c7 35 Button TEST_NEXT(0,575,400,100,"------>");
gabrieltetar 22:c7763a7ec6c7 36 Button TEST_DIV(0,25,400,100,"Test Divers");
gabrieltetar 22:c7763a7ec6c7 37 Button TEST_ASSERV(0, 135, 400, 100, "Test asserv");
gabrieltetar 21:d137ec53c3a9 38 //menu demo/demo/
gabrieltetar 21:d137ec53c3a9 39 Button TEST_A(0,25,195,100,"A");
gabrieltetar 21:d137ec53c3a9 40 Button TEST_B(205,25,195,100,"B");
gabrieltetar 21:d137ec53c3a9 41 Button TEST_C(0,135,195,100,"C");
gabrieltetar 21:d137ec53c3a9 42 Button TEST_D(205,135,195,100,"D");
gabrieltetar 22:c7763a7ec6c7 43 Button TEST_NUM(0,245,400,100,"Num");
goldmas 32:7f8e3ee2adac 44 Button TEST_ATTRAPER(0,300,400,100,"Attraper");
goldmas 32:7f8e3ee2adac 45 Button TEST_RELACHER(0,450,400,100,"Relacher");
goldmas 32:7f8e3ee2adac 46
gabrieltetar 21:d137ec53c3a9 47 Button TEST_PLUS(205,355,195,100,"+");
gabrieltetar 21:d137ec53c3a9 48 Button TEST_MOINS(0,355,195,100,"-");
goldmas 32:7f8e3ee2adac 49 Button TEST_SERVO_0(0,50,120,100,"Bras 0");
goldmas 32:7f8e3ee2adac 50 Button TEST_SERVO_1(140,50,120,100,"Bras 1");
goldmas 32:7f8e3ee2adac 51 Button TEST_SERVO_2(280,50,120,100,"Bras 2");
goldmas 32:7f8e3ee2adac 52 Button TEST_SERVO_3(0,160,120,100,"Bras 3");
goldmas 32:7f8e3ee2adac 53 Button TEST_SERVO_4(140,160,120,100,"Bras 4");
goldmas 32:7f8e3ee2adac 54 Button TEST_SERVO_5(280,160,120,100,"Bras 5");
gabrieltetar 22:c7763a7ec6c7 55 Button FORCE_LAUNCH(0, 600, 400, 100, "Force Launch");
gabrieltetar 21:d137ec53c3a9 56 Button SUIVANT(0,380,200,100,"Suivant");
gabrieltetar 21:d137ec53c3a9 57 ////////////////////////////////////////////////////////////
gabrieltetar 24:1a13c998c7ac 58
gabrieltetar 21:d137ec53c3a9 59 signed char Bouton_Strat (void);
gabrieltetar 27:ff70537a7619 60 void DrawC (int l,int h,int x, int y, unsigned char fill);
gabrieltetar 27:ff70537a7619 61 void DrawR (int l,int h,int x, int y, unsigned char fill);
gabrieltetar 27:ff70537a7619 62 void DrawA (int l,int h,int x, int y, unsigned char fill);
gabrieltetar 24:1a13c998c7ac 63
gabrieltetar 21:d137ec53c3a9 64 void SelectionStrat (unsigned char numeroStrat);
gabrieltetar 21:d137ec53c3a9 65
gabrieltetar 21:d137ec53c3a9 66 /****************************************************************************************/
gabrieltetar 21:d137ec53c3a9 67 /* FUNCTION NAME: automate_etat_ihm */
gabrieltetar 21:d137ec53c3a9 68 /* DESCRIPTION : Automate de gestion de l'affichage */
gabrieltetar 21:d137ec53c3a9 69 /****************************************************************************************/
gabrieltetar 21:d137ec53c3a9 70 void automate_etat_ihm(void)
gabrieltetar 21:d137ec53c3a9 71 {
goldmas 32:7f8e3ee2adac 72 char toto[12];
gabrieltetar 21:d137ec53c3a9 73 int j;
goldmas 32:7f8e3ee2adac 74 unsigned char maximilien=1, choix_groupe;
gabrieltetar 21:d137ec53c3a9 75 if (j==0) {
gabrieltetar 21:d137ec53c3a9 76 ts.Init(lcd.GetXSize(), lcd.GetYSize());
gabrieltetar 21:d137ec53c3a9 77 j++;
gabrieltetar 21:d137ec53c3a9 78 }
gabrieltetar 21:d137ec53c3a9 79 ts.GetState(&TS_State);
gabrieltetar 21:d137ec53c3a9 80 switch (strat_etat_s) {
gabrieltetar 24:1a13c998c7ac 81 case INIT : //intialise l'écran et passe à l'attente d'initialisation des cartes
gabrieltetar 21:d137ec53c3a9 82 ts.GetState(&TS_State);
gabrieltetar 22:c7763a7ec6c7 83 canProcessRx();
gabrieltetar 24:1a13c998c7ac 84 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 24:1a13c998c7ac 85 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 24:1a13c998c7ac 86 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 24:1a13c998c7ac 87 wait(0.15);
gabrieltetar 27:ff70537a7619 88 DrawC(95,150,0,50,0);
gabrieltetar 27:ff70537a7619 89 DrawR(95,150,105,50,0);
gabrieltetar 27:ff70537a7619 90 DrawA(95,150,210,50,0);
gabrieltetar 27:ff70537a7619 91 DrawC(95,150,315,50,0);
gabrieltetar 27:ff70537a7619 92 DrawCheck(30,30,50,243,0);
gabrieltetar 27:ff70537a7619 93 DrawCheck(30,30,50,293,0);
gabrieltetar 27:ff70537a7619 94 DrawCheck(30,30,50,343,0);
gabrieltetar 27:ff70537a7619 95 DrawCheck(30,30,50,393,0);
gabrieltetar 27:ff70537a7619 96 lcd.DisplayStringAt(100, 250, (uint8_t *)"Init CAN", LEFT_MODE);
slowness 29:ff575aff301f 97 DrawCheck(30,30,50,243,can_present);
gabrieltetar 27:ff70537a7619 98 lcd.DisplayStringAt(100, 300, (uint8_t *)"Micro SD", LEFT_MODE);
slowness 29:ff575aff301f 99 DrawCheck(30,30,50,293,sd_present);
gabrieltetar 27:ff70537a7619 100 lcd.DisplayStringAt(100, 350, (uint8_t *)"Carte Moteur", LEFT_MODE);
gabrieltetar 27:ff70537a7619 101 lcd.DisplayStringAt(100, 400, (uint8_t *)"Balise IR", LEFT_MODE);
gabrieltetar 24:1a13c998c7ac 102 FORCE_LAUNCH.Draw(0xFFFF0000, 0);
gabrieltetar 24:1a13c998c7ac 103
gabrieltetar 24:1a13c998c7ac 104 strat_etat_s=ATT;
gabrieltetar 24:1a13c998c7ac 105 break;
gabrieltetar 24:1a13c998c7ac 106
gabrieltetar 24:1a13c998c7ac 107 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 108 if (flag_check_carte==1) {
gabrieltetar 24:1a13c998c7ac 109 strat_etat_s = CHOIX;
gabrieltetar 24:1a13c998c7ac 110 gameEtat = ETAT_CONFIG;
gabrieltetar 24:1a13c998c7ac 111 } else if (FORCE_LAUNCH.Touched()) {
gabrieltetar 24:1a13c998c7ac 112 strat_etat_s = CHOIX;
gabrieltetar 24:1a13c998c7ac 113 gameEtat = ETAT_CONFIG;
gabrieltetar 24:1a13c998c7ac 114 while(FORCE_LAUNCH.Touched());
gabrieltetar 21:d137ec53c3a9 115 }
gabrieltetar 24:1a13c998c7ac 116
gabrieltetar 21:d137ec53c3a9 117 break;
gabrieltetar 24:1a13c998c7ac 118
gabrieltetar 24:1a13c998c7ac 119
gabrieltetar 21:d137ec53c3a9 120 case CHOIX : //Match ou DEMO
gabrieltetar 21:d137ec53c3a9 121 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 122 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 123 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 124 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Match ou demonstration ?", LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 125 DEMONSTRATION.Draw(LCD_COLOR_LIGHTGREEN, 0);
gabrieltetar 21:d137ec53c3a9 126 MATCH.Draw(0xFFF01010, 0);
gabrieltetar 21:d137ec53c3a9 127 while(strat_etat_s == CHOIX) {
gabrieltetar 21:d137ec53c3a9 128 canProcessRx();
gabrieltetar 21:d137ec53c3a9 129 if(DEMONSTRATION.Touched()) {
gabrieltetar 21:d137ec53c3a9 130 strat_etat_s = DEMO;
gabrieltetar 21:d137ec53c3a9 131 while(DEMONSTRATION.Touched());
gabrieltetar 21:d137ec53c3a9 132 }
gabrieltetar 21:d137ec53c3a9 133
gabrieltetar 21:d137ec53c3a9 134 if(MATCH.Touched()) {
gabrieltetar 21:d137ec53c3a9 135 strat_etat_s = SELECT_SIDE;
gabrieltetar 21:d137ec53c3a9 136 while(MATCH.Touched());
gabrieltetar 21:d137ec53c3a9 137 }
gabrieltetar 21:d137ec53c3a9 138
gabrieltetar 21:d137ec53c3a9 139 }
gabrieltetar 21:d137ec53c3a9 140 break;
gabrieltetar 21:d137ec53c3a9 141
gabrieltetar 21:d137ec53c3a9 142 case DEMO :
gabrieltetar 21:d137ec53c3a9 143 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 144 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 145 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 22:c7763a7ec6c7 146 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"DEMO 1/2", LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 147 RETOUR.Draw(0xFFFF0000, 0);
gabrieltetar 21:d137ec53c3a9 148 TEST_VENT.Draw(VERT, 0);
gabrieltetar 21:d137ec53c3a9 149 TEST_MOT.Draw(VERT, 0);
gabrieltetar 21:d137ec53c3a9 150 TEST_COUL.Draw(VERT, 0);
gabrieltetar 21:d137ec53c3a9 151 TEST_BRAS.Draw(VERT, 0);
gabrieltetar 21:d137ec53c3a9 152 TEST_AUDIO.Draw(VERT, 0);
gabrieltetar 22:c7763a7ec6c7 153 TEST_NEXT.Draw(BLEU, 0);
gabrieltetar 21:d137ec53c3a9 154 maximilien=0;
gabrieltetar 21:d137ec53c3a9 155 while (strat_etat_s == DEMO) {
gabrieltetar 21:d137ec53c3a9 156 canProcessRx();
gabrieltetar 21:d137ec53c3a9 157 if(TEST_VENT.Touched()) {
gabrieltetar 21:d137ec53c3a9 158 while(TEST_VENT.Touched());
gabrieltetar 21:d137ec53c3a9 159 strat_etat_s = TEST_VENTOUSE;
gabrieltetar 21:d137ec53c3a9 160 } else if(TEST_MOT.Touched()) {
gabrieltetar 21:d137ec53c3a9 161 while(TEST_MOT.Touched());
gabrieltetar 21:d137ec53c3a9 162 strat_etat_s = TEST_MOTEUR;
gabrieltetar 22:c7763a7ec6c7 163 } else if(TEST_NEXT.Touched()) {
gabrieltetar 22:c7763a7ec6c7 164 while(TEST_NEXT.Touched());
gabrieltetar 22:c7763a7ec6c7 165 strat_etat_s = DEMO2;
gabrieltetar 21:d137ec53c3a9 166 } else if (TEST_COUL.Touched()) {
gabrieltetar 21:d137ec53c3a9 167 while(TEST_COUL.Touched());
gabrieltetar 21:d137ec53c3a9 168 strat_etat_s =TEST_COULEUR ;
gabrieltetar 21:d137ec53c3a9 169 } else if (TEST_BRAS.Touched()) {
gabrieltetar 21:d137ec53c3a9 170 while(TEST_BRAS.Touched());
gabrieltetar 21:d137ec53c3a9 171 strat_etat_s =TEST_SERVO_BRAS ;
gabrieltetar 21:d137ec53c3a9 172 } else if(TEST_AUDIO.Touched()) {
gabrieltetar 21:d137ec53c3a9 173 while(TEST_AUDIO.Touched());
gabrieltetar 21:d137ec53c3a9 174 strat_etat_s=TEST_AUD;
gabrieltetar 21:d137ec53c3a9 175 } else if(RETOUR.Touched()) {
gabrieltetar 21:d137ec53c3a9 176 while(RETOUR.Touched());
gabrieltetar 21:d137ec53c3a9 177 strat_etat_s = CHOIX;
gabrieltetar 21:d137ec53c3a9 178 }
gabrieltetar 21:d137ec53c3a9 179 }
gabrieltetar 21:d137ec53c3a9 180 break;
gabrieltetar 24:1a13c998c7ac 181
gabrieltetar 24:1a13c998c7ac 182 case DEMO2 :
gabrieltetar 22:c7763a7ec6c7 183 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 22:c7763a7ec6c7 184 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 22:c7763a7ec6c7 185 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 22:c7763a7ec6c7 186 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"DEMO 2/2", LEFT_MODE);
gabrieltetar 22:c7763a7ec6c7 187 RETOUR.Draw(0xFFFF0000, 0);
gabrieltetar 22:c7763a7ec6c7 188 TEST_DIV.Draw(VERT, 0);
gabrieltetar 22:c7763a7ec6c7 189 TEST_ASSERV.Draw(VERT, 0);
gabrieltetar 22:c7763a7ec6c7 190 TEST_NEXT.Draw(BLEU, 0);
gabrieltetar 22:c7763a7ec6c7 191 maximilien=0;
gabrieltetar 22:c7763a7ec6c7 192 while (strat_etat_s == DEMO2) {
gabrieltetar 22:c7763a7ec6c7 193 canProcessRx();
gabrieltetar 22:c7763a7ec6c7 194 if(TEST_NEXT.Touched()) {
gabrieltetar 22:c7763a7ec6c7 195 while(TEST_NEXT.Touched());
gabrieltetar 22:c7763a7ec6c7 196 strat_etat_s = DEMO;
gabrieltetar 22:c7763a7ec6c7 197 } else if(TEST_DIV.Touched()) {
gabrieltetar 22:c7763a7ec6c7 198 while(TEST_DIV.Touched());
gabrieltetar 22:c7763a7ec6c7 199 strat_etat_s = TEST_DIVE;
gabrieltetar 22:c7763a7ec6c7 200 } else if(TEST_ASSERV.Touched()) {
gabrieltetar 22:c7763a7ec6c7 201 while(TEST_ASSERV.Touched());
gabrieltetar 22:c7763a7ec6c7 202 strat_etat_s = TEST_ASSERVE;
gabrieltetar 22:c7763a7ec6c7 203 } else if(RETOUR.Touched()) {
gabrieltetar 22:c7763a7ec6c7 204 while(RETOUR.Touched());
gabrieltetar 22:c7763a7ec6c7 205 strat_etat_s = CHOIX;
gabrieltetar 22:c7763a7ec6c7 206 }
gabrieltetar 22:c7763a7ec6c7 207 }
gabrieltetar 24:1a13c998c7ac 208 break;
gabrieltetar 24:1a13c998c7ac 209
gabrieltetar 24:1a13c998c7ac 210 case TEST_ASSERVE:
gabrieltetar 24:1a13c998c7ac 211 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 24:1a13c998c7ac 212 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 24:1a13c998c7ac 213 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 24:1a13c998c7ac 214 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Asservissements", LEFT_MODE);
gabrieltetar 24:1a13c998c7ac 215 RETOUR.Draw(0xFFFF0000,0);
gabrieltetar 24:1a13c998c7ac 216 TEST_A.Draw(BLEU, BLANC);
gabrieltetar 24:1a13c998c7ac 217 TEST_B.Draw(BLEU, BLANC);
gabrieltetar 24:1a13c998c7ac 218 while(strat_etat_s==TEST_ASSERVE) {
gabrieltetar 24:1a13c998c7ac 219 if(RETOUR.Touched()) {
gabrieltetar 24:1a13c998c7ac 220 while (RETOUR.Touched());
gabrieltetar 24:1a13c998c7ac 221 strat_etat_s=DEMO2;
gabrieltetar 24:1a13c998c7ac 222 } else if(TEST_A.Touched()) {
gabrieltetar 24:1a13c998c7ac 223 while (TEST_A.Touched());
gabrieltetar 24:1a13c998c7ac 224 GoToPosition(2000,0,0,0);
gabrieltetar 24:1a13c998c7ac 225 TEST_A.Draw(BLEU, BLANC);
gabrieltetar 24:1a13c998c7ac 226 } else if(TEST_B.Touched()) {
gabrieltetar 24:1a13c998c7ac 227 while (TEST_B.Touched());
gabrieltetar 24:1a13c998c7ac 228 Rotate(3599);
gabrieltetar 24:1a13c998c7ac 229 TEST_B.Draw(BLEU, BLANC);
gabrieltetar 24:1a13c998c7ac 230 }
gabrieltetar 24:1a13c998c7ac 231 }
gabrieltetar 24:1a13c998c7ac 232 break;
gabrieltetar 24:1a13c998c7ac 233
gabrieltetar 24:1a13c998c7ac 234 case TEST_DIVE:
gabrieltetar 24:1a13c998c7ac 235
gabrieltetar 24:1a13c998c7ac 236 while(strat_etat_s==TEST_DIVE) {
gabrieltetar 24:1a13c998c7ac 237 canProcessRx();
gabrieltetar 24:1a13c998c7ac 238 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 24:1a13c998c7ac 239 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 24:1a13c998c7ac 240 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 24:1a13c998c7ac 241 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Coordonnees", LEFT_MODE);
gabrieltetar 24:1a13c998c7ac 242 RETOUR.Draw(0xFFFF0000,0);
gabrieltetar 24:1a13c998c7ac 243 sprintf(toto,"%hd",x_robot);
gabrieltetar 24:1a13c998c7ac 244 lcd.DisplayStringAt(0, LINE(10), (unsigned char *)"X :", LEFT_MODE);
gabrieltetar 24:1a13c998c7ac 245 lcd.DisplayStringAt(50, LINE(10), (unsigned char *)toto, LEFT_MODE);
gabrieltetar 24:1a13c998c7ac 246 sprintf(toto,"%hd",y_robot);
gabrieltetar 24:1a13c998c7ac 247 lcd.DisplayStringAt(0, LINE(11), (unsigned char *)"Y :", LEFT_MODE);
gabrieltetar 24:1a13c998c7ac 248 lcd.DisplayStringAt(50, LINE(11), (unsigned char *)toto, LEFT_MODE);
gabrieltetar 24:1a13c998c7ac 249 sprintf(toto,"%hd",theta_robot);
gabrieltetar 24:1a13c998c7ac 250 lcd.DisplayStringAt(0, LINE(12), (unsigned char *)"T :", LEFT_MODE);
gabrieltetar 24:1a13c998c7ac 251 lcd.DisplayStringAt(50, LINE(12), (unsigned char *) toto, LEFT_MODE);
gabrieltetar 24:1a13c998c7ac 252 if(RETOUR.Touched()) {
gabrieltetar 24:1a13c998c7ac 253 while (RETOUR.Touched());
gabrieltetar 24:1a13c998c7ac 254 strat_etat_s=DEMO2;
gabrieltetar 24:1a13c998c7ac 255 }
gabrieltetar 24:1a13c998c7ac 256 wait(0.2);
gabrieltetar 24:1a13c998c7ac 257 }
gabrieltetar 24:1a13c998c7ac 258 break;
gabrieltetar 21:d137ec53c3a9 259
gabrieltetar 21:d137ec53c3a9 260 case TEST_VENTOUSE:
gabrieltetar 21:d137ec53c3a9 261 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 262 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 263 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 264 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 265 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Test Ventouse", LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 266 sprintf(toto,"%hd",maximilien);
gabrieltetar 21:d137ec53c3a9 267 lcd.DisplayStringAt(50, LINE(20), (unsigned char *)toto, LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 268 RETOUR.Draw(0xFFFF0000,0);
gabrieltetar 21:d137ec53c3a9 269 TEST_A.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 270 TEST_NUM.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 271 TEST_PLUS.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 272 TEST_MOINS.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 273 while(strat_etat_s==TEST_VENTOUSE) {
gabrieltetar 21:d137ec53c3a9 274 if(RETOUR.Touched()) {
gabrieltetar 21:d137ec53c3a9 275 while (RETOUR.Touched());
gabrieltetar 21:d137ec53c3a9 276 strat_etat_s=DEMO;
gabrieltetar 21:d137ec53c3a9 277 } else if(TEST_A.Touched()) {
gabrieltetar 21:d137ec53c3a9 278 while (TEST_A.Touched());
maximilienlv 28:7f2990747e09 279 SendRawId(VENT_ETAT);
gabrieltetar 21:d137ec53c3a9 280 TEST_A.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 281 } else if(TEST_NUM.Touched()) {
gabrieltetar 21:d137ec53c3a9 282 while (TEST_NUM.Touched());
gabrieltetar 21:d137ec53c3a9 283 TEST_NUM.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 284 switch(maximilien){
gabrieltetar 21:d137ec53c3a9 285 case 1:
goldmas 32:7f8e3ee2adac 286 choix_groupe = 0 ;
goldmas 32:7f8e3ee2adac 287 SendMsgCan(VENT_AT, &choix_groupe, sizeof(choix_groupe)) ;
gabrieltetar 21:d137ec53c3a9 288 break;
gabrieltetar 21:d137ec53c3a9 289 case 2:
goldmas 32:7f8e3ee2adac 290 choix_groupe = 0 ;
goldmas 32:7f8e3ee2adac 291 SendMsgCan(VENT_RE, &choix_groupe, sizeof(choix_groupe)) ;
gabrieltetar 21:d137ec53c3a9 292 break;
gabrieltetar 21:d137ec53c3a9 293 case 3:
goldmas 32:7f8e3ee2adac 294 choix_groupe = 1 ;
goldmas 32:7f8e3ee2adac 295 SendMsgCan(VENT_AT, &choix_groupe, sizeof(choix_groupe)) ;
gabrieltetar 21:d137ec53c3a9 296 break;
gabrieltetar 21:d137ec53c3a9 297 case 4:
goldmas 32:7f8e3ee2adac 298 choix_groupe = 1 ;
goldmas 32:7f8e3ee2adac 299 SendMsgCan(VENT_RE, &choix_groupe, sizeof(choix_groupe)) ;
gabrieltetar 21:d137ec53c3a9 300 break;
gabrieltetar 21:d137ec53c3a9 301 case 5:
goldmas 32:7f8e3ee2adac 302 choix_groupe = 2 ;
goldmas 32:7f8e3ee2adac 303 SendMsgCan(VENT_AT, &choix_groupe, sizeof(choix_groupe)) ;
gabrieltetar 21:d137ec53c3a9 304 break;
gabrieltetar 21:d137ec53c3a9 305 case 6:
goldmas 32:7f8e3ee2adac 306 choix_groupe = 2 ;
goldmas 32:7f8e3ee2adac 307 SendMsgCan(VENT_RE, &choix_groupe, sizeof(choix_groupe)) ;
goldmas 32:7f8e3ee2adac 308 break;
goldmas 32:7f8e3ee2adac 309 case 7:
goldmas 32:7f8e3ee2adac 310 choix_groupe = 3 ;
goldmas 32:7f8e3ee2adac 311 SendMsgCan(VENT_AT, &choix_groupe, sizeof(choix_groupe)) ;
goldmas 32:7f8e3ee2adac 312 break;
goldmas 32:7f8e3ee2adac 313 case 8:
goldmas 32:7f8e3ee2adac 314 choix_groupe = 3 ;
goldmas 32:7f8e3ee2adac 315 SendMsgCan(VENT_RE, &choix_groupe, sizeof(choix_groupe)) ;
goldmas 32:7f8e3ee2adac 316 break;
goldmas 32:7f8e3ee2adac 317 case 9:
goldmas 32:7f8e3ee2adac 318 choix_groupe = 4 ;
goldmas 32:7f8e3ee2adac 319 SendMsgCan(VENT_AT, &choix_groupe, sizeof(choix_groupe)) ;
goldmas 32:7f8e3ee2adac 320 break;
goldmas 32:7f8e3ee2adac 321 case 10:
goldmas 32:7f8e3ee2adac 322 choix_groupe = 4 ;
goldmas 32:7f8e3ee2adac 323 SendMsgCan(VENT_RE, &choix_groupe, sizeof(choix_groupe)) ;
goldmas 32:7f8e3ee2adac 324 break;
goldmas 32:7f8e3ee2adac 325 case 11:
goldmas 32:7f8e3ee2adac 326 choix_groupe = 5 ;
goldmas 32:7f8e3ee2adac 327 SendMsgCan(VENT_AT, &choix_groupe, sizeof(choix_groupe)) ;
goldmas 32:7f8e3ee2adac 328 break;
goldmas 32:7f8e3ee2adac 329 case 12:
goldmas 32:7f8e3ee2adac 330 choix_groupe = 5 ;
goldmas 32:7f8e3ee2adac 331 SendMsgCan(VENT_RE, &choix_groupe, sizeof(choix_groupe)) ;
gabrieltetar 21:d137ec53c3a9 332 break;
gabrieltetar 21:d137ec53c3a9 333 }
gabrieltetar 21:d137ec53c3a9 334 } else if(TEST_PLUS.Touched()) {
gabrieltetar 21:d137ec53c3a9 335 while (TEST_PLUS.Touched());
gabrieltetar 21:d137ec53c3a9 336 TEST_PLUS.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 337 if(maximilien!=6)maximilien++;
gabrieltetar 21:d137ec53c3a9 338 sprintf(toto,"%hd",maximilien);
gabrieltetar 21:d137ec53c3a9 339 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 340 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 341 lcd.DisplayStringAt(50, LINE(20), (unsigned char *)toto, LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 342 } else if(TEST_MOINS.Touched()) {
gabrieltetar 21:d137ec53c3a9 343 while (TEST_MOINS.Touched());
gabrieltetar 21:d137ec53c3a9 344 TEST_MOINS.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 345 if(maximilien!=1)maximilien--;
gabrieltetar 21:d137ec53c3a9 346 sprintf(toto,"%hd",maximilien);
gabrieltetar 21:d137ec53c3a9 347 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 348 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 349 lcd.DisplayStringAt(50, LINE(20), (unsigned char *)toto, LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 350 }
gabrieltetar 21:d137ec53c3a9 351 }
gabrieltetar 21:d137ec53c3a9 352 break;
gabrieltetar 21:d137ec53c3a9 353
gabrieltetar 24:1a13c998c7ac 354 case TEST_ELECTROV:
gabrieltetar 21:d137ec53c3a9 355 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 356 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 357 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 358 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 359 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"A : Manches B : Pavillon", LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 360 RETOUR.Draw(0xFFFF0000,0);
gabrieltetar 21:d137ec53c3a9 361 TEST_A.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 362 TEST_B.Draw(BLEU, BLANC);
gabrieltetar 24:1a13c998c7ac 363 while(strat_etat_s==TEST_ELECTROV) {
gabrieltetar 21:d137ec53c3a9 364 if(RETOUR.Touched()) {
gabrieltetar 21:d137ec53c3a9 365 while (RETOUR.Touched());
gabrieltetar 24:1a13c998c7ac 366 strat_etat_s=DEMO;
gabrieltetar 21:d137ec53c3a9 367 } else if(TEST_A.Touched()) {
gabrieltetar 21:d137ec53c3a9 368 while (TEST_A.Touched());
gabrieltetar 21:d137ec53c3a9 369 //SendRawId(TEST_ELECTROV_A);
gabrieltetar 21:d137ec53c3a9 370 TEST_A.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 371 } else if(TEST_B.Touched()) {
gabrieltetar 21:d137ec53c3a9 372 while (TEST_B.Touched());
gabrieltetar 21:d137ec53c3a9 373 //SendRawId(TEST_ELECTROV_A);
gabrieltetar 21:d137ec53c3a9 374 TEST_B.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 375 }
gabrieltetar 21:d137ec53c3a9 376 }
gabrieltetar 21:d137ec53c3a9 377 break;
gabrieltetar 24:1a13c998c7ac 378
gabrieltetar 21:d137ec53c3a9 379 case TEST_AUD:
gabrieltetar 21:d137ec53c3a9 380
gabrieltetar 21:d137ec53c3a9 381 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 382 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 383 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 384 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 385 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Test Audio", LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 386 sprintf(toto,"%hd",maximilien);
gabrieltetar 21:d137ec53c3a9 387 lcd.DisplayStringAt(50, LINE(20), (unsigned char *)toto, LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 388 RETOUR.Draw(0xFFFF0000,0);
gabrieltetar 21:d137ec53c3a9 389 TEST_NUM.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 390 TEST_PLUS.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 391 TEST_MOINS.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 392 while(strat_etat_s==TEST_AUD) {
gabrieltetar 21:d137ec53c3a9 393 if(RETOUR.Touched()) {
gabrieltetar 21:d137ec53c3a9 394 while (RETOUR.Touched());
gabrieltetar 21:d137ec53c3a9 395 strat_etat_s=DEMO;
gabrieltetar 21:d137ec53c3a9 396 } else if(TEST_NUM.Touched()) {
gabrieltetar 21:d137ec53c3a9 397 while (TEST_NUM.Touched());
gabrieltetar 21:d137ec53c3a9 398 TEST_NUM.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 399 Debug_Audio(3,maximilien);
gabrieltetar 21:d137ec53c3a9 400 } else if(TEST_PLUS.Touched()) {
gabrieltetar 21:d137ec53c3a9 401 while (TEST_PLUS.Touched());
gabrieltetar 21:d137ec53c3a9 402 TEST_PLUS.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 403 if(maximilien!=20)maximilien++;
gabrieltetar 21:d137ec53c3a9 404 sprintf(toto,"%hd",maximilien);
gabrieltetar 21:d137ec53c3a9 405 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 406 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 407 lcd.DisplayStringAt(50, LINE(20), (unsigned char *)toto, LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 408 } else if(TEST_MOINS.Touched()) {
gabrieltetar 21:d137ec53c3a9 409 while (TEST_MOINS.Touched());
gabrieltetar 21:d137ec53c3a9 410 TEST_MOINS.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 411 if(maximilien!=1)maximilien--;
gabrieltetar 21:d137ec53c3a9 412 sprintf(toto,"%hd",maximilien);
gabrieltetar 21:d137ec53c3a9 413 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 414 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 415 lcd.DisplayStringAt(50, LINE(20), (unsigned char *)toto, LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 416 }
gabrieltetar 21:d137ec53c3a9 417 }
gabrieltetar 21:d137ec53c3a9 418 break;
gabrieltetar 21:d137ec53c3a9 419
gabrieltetar 21:d137ec53c3a9 420 case TEST_SERVO_BRAS:
goldmas 33:c54841d11156 421 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 422 unsigned char choix_bras;
gabrieltetar 21:d137ec53c3a9 423 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 424 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 425 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 426 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 427 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Test Bras", LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 428 sprintf(toto,"%hd",maximilien);
gabrieltetar 21:d137ec53c3a9 429 lcd.DisplayStringAt(50, LINE(20), (unsigned char *)toto, LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 430 RETOUR.Draw(0xFFFF0000,0);
goldmas 32:7f8e3ee2adac 431 TEST_ATTRAPER.Draw(BLEU, BLANC);
goldmas 32:7f8e3ee2adac 432 TEST_RELACHER.Draw(BLEU, BLANC);
goldmas 32:7f8e3ee2adac 433 TEST_SERVO_0.Draw(BLEU, BLANC);
goldmas 32:7f8e3ee2adac 434 TEST_SERVO_1.Draw(BLEU, BLANC);
goldmas 32:7f8e3ee2adac 435 TEST_SERVO_2.Draw(BLEU, BLANC);
goldmas 32:7f8e3ee2adac 436 TEST_SERVO_3.Draw(BLEU, BLANC);
goldmas 32:7f8e3ee2adac 437 TEST_SERVO_4.Draw(BLEU, BLANC);
goldmas 32:7f8e3ee2adac 438 TEST_SERVO_5.Draw(BLEU, BLANC);
goldmas 32:7f8e3ee2adac 439 while(strat_etat_s==TEST_SERVO_BRAS)
goldmas 32:7f8e3ee2adac 440 {
goldmas 32:7f8e3ee2adac 441 if(RETOUR.Touched())
goldmas 32:7f8e3ee2adac 442 {
gabrieltetar 21:d137ec53c3a9 443 while (RETOUR.Touched());
gabrieltetar 21:d137ec53c3a9 444 strat_etat_s=DEMO;
goldmas 32:7f8e3ee2adac 445 }
goldmas 32:7f8e3ee2adac 446 else if(TEST_SERVO_0.Touched())
goldmas 32:7f8e3ee2adac 447 {
goldmas 32:7f8e3ee2adac 448 while (TEST_SERVO_0.Touched());
goldmas 33:c54841d11156 449 if(bras_select_0 == 0)
goldmas 33:c54841d11156 450 {
goldmas 33:c54841d11156 451 bras_select_0 = 7 ;
goldmas 33:c54841d11156 452 TEST_SERVO_0.Draw(BLEU, BLANC);
goldmas 33:c54841d11156 453 }
goldmas 33:c54841d11156 454 else
goldmas 32:7f8e3ee2adac 455 {
goldmas 32:7f8e3ee2adac 456 bras_select_0 = 0 ;
goldmas 32:7f8e3ee2adac 457 TEST_SERVO_0.Draw(DIY_GREY, BLANC);
goldmas 32:7f8e3ee2adac 458 }
goldmas 32:7f8e3ee2adac 459 }
goldmas 32:7f8e3ee2adac 460 else if(TEST_SERVO_1.Touched())
goldmas 32:7f8e3ee2adac 461 {
goldmas 32:7f8e3ee2adac 462 while (TEST_SERVO_1.Touched());
goldmas 33:c54841d11156 463 if(bras_select_1 == 1)
goldmas 32:7f8e3ee2adac 464 {
goldmas 32:7f8e3ee2adac 465 bras_select_1 = 0 ;
goldmas 33:c54841d11156 466 TEST_SERVO_1.Draw(BLEU, BLANC);
goldmas 32:7f8e3ee2adac 467 }
goldmas 32:7f8e3ee2adac 468 else
goldmas 32:7f8e3ee2adac 469 {
goldmas 32:7f8e3ee2adac 470 bras_select_1 = 1 ;
goldmas 33:c54841d11156 471 TEST_SERVO_1.Draw(DIY_GREY, BLANC);
goldmas 32:7f8e3ee2adac 472 }
goldmas 32:7f8e3ee2adac 473 }
goldmas 32:7f8e3ee2adac 474 else if(TEST_SERVO_2.Touched())
goldmas 32:7f8e3ee2adac 475 {
goldmas 32:7f8e3ee2adac 476 while (TEST_SERVO_2.Touched());
goldmas 33:c54841d11156 477 if(bras_select_2 == 2)
goldmas 32:7f8e3ee2adac 478 {
goldmas 32:7f8e3ee2adac 479 bras_select_2 = 0 ;
goldmas 33:c54841d11156 480 TEST_SERVO_2.Draw(BLEU, BLANC);
goldmas 32:7f8e3ee2adac 481 }
goldmas 32:7f8e3ee2adac 482 else
goldmas 32:7f8e3ee2adac 483 {
goldmas 33:c54841d11156 484 bras_select_2 = 2 ;
goldmas 33:c54841d11156 485 TEST_SERVO_2.Draw(DIY_GREY, BLANC);
gabrieltetar 21:d137ec53c3a9 486 }
goldmas 32:7f8e3ee2adac 487 }
goldmas 32:7f8e3ee2adac 488 else if(TEST_SERVO_3.Touched())
goldmas 32:7f8e3ee2adac 489 {
goldmas 32:7f8e3ee2adac 490 while (TEST_SERVO_3.Touched());
goldmas 33:c54841d11156 491 if(bras_select_3 == 3)
goldmas 32:7f8e3ee2adac 492 {
goldmas 32:7f8e3ee2adac 493 bras_select_3 = 0 ;
goldmas 33:c54841d11156 494 TEST_SERVO_3.Draw(BLEU, BLANC);
goldmas 32:7f8e3ee2adac 495 }
goldmas 32:7f8e3ee2adac 496 else
goldmas 32:7f8e3ee2adac 497 {
goldmas 33:c54841d11156 498 bras_select_3 = 3 ;
goldmas 33:c54841d11156 499 TEST_SERVO_3.Draw(DIY_GREY, BLANC);
goldmas 32:7f8e3ee2adac 500 }
goldmas 32:7f8e3ee2adac 501 }
goldmas 32:7f8e3ee2adac 502 else if(TEST_SERVO_4.Touched())
goldmas 32:7f8e3ee2adac 503 {
goldmas 32:7f8e3ee2adac 504 while (TEST_SERVO_4.Touched());
goldmas 33:c54841d11156 505 if(bras_select_4 == 4)
goldmas 32:7f8e3ee2adac 506 {
goldmas 32:7f8e3ee2adac 507 bras_select_4 = 0 ;
goldmas 33:c54841d11156 508 TEST_SERVO_4.Draw(BLEU, BLANC);
goldmas 32:7f8e3ee2adac 509 }
goldmas 32:7f8e3ee2adac 510 else
goldmas 32:7f8e3ee2adac 511 {
goldmas 33:c54841d11156 512 bras_select_4 = 4 ;
goldmas 33:c54841d11156 513 TEST_SERVO_4.Draw(DIY_GREY, BLANC);
goldmas 32:7f8e3ee2adac 514 }
goldmas 32:7f8e3ee2adac 515 }
goldmas 32:7f8e3ee2adac 516 else if(TEST_SERVO_5.Touched())
goldmas 32:7f8e3ee2adac 517 {
goldmas 32:7f8e3ee2adac 518 while (TEST_SERVO_5.Touched());
goldmas 33:c54841d11156 519 if(bras_select_5 == 5)
goldmas 32:7f8e3ee2adac 520 {
goldmas 32:7f8e3ee2adac 521 bras_select_5 = 0 ;
goldmas 33:c54841d11156 522 TEST_SERVO_5.Draw(BLEU, BLANC);
goldmas 32:7f8e3ee2adac 523 }
goldmas 32:7f8e3ee2adac 524 else
goldmas 32:7f8e3ee2adac 525 {
goldmas 33:c54841d11156 526 bras_select_5 = 5 ;
goldmas 33:c54841d11156 527 TEST_SERVO_5.Draw(DIY_GREY, BLANC);
goldmas 32:7f8e3ee2adac 528 }
goldmas 32:7f8e3ee2adac 529 }
goldmas 32:7f8e3ee2adac 530 else if (TEST_ATTRAPER.Touched())
goldmas 32:7f8e3ee2adac 531 {
goldmas 33:c54841d11156 532 while(TEST_ATTRAPER.Touched()) ;
goldmas 33:c54841d11156 533 unsigned char message_droit_at, message_gauche_at, nombre_de_chiffre_droite, nombre_de_chiffre_gauche;
goldmas 33:c54841d11156 534 message_droit_at = 100 * bras_select_2 + 10 * bras_select_1 + bras_select_0 ;
goldmas 33:c54841d11156 535 message_gauche_at = 100 * bras_select_5 + 10 * bras_select_4 + bras_select_3 ;
goldmas 33:c54841d11156 536
goldmas 33:c54841d11156 537 switch (message_gauche_at)
goldmas 33:c54841d11156 538 {
goldmas 33:c54841d11156 539 case 31 : //on dépasse la taille d'un char donc on met la valeur en comptant le dépassement
goldmas 33:c54841d11156 540 choix_bras = 66 ;
goldmas 33:c54841d11156 541 SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 542 waitingAckFrom = 0;
goldmas 33:c54841d11156 543 waitingAckID =0;
goldmas 33:c54841d11156 544 break ;
goldmas 33:c54841d11156 545 case 28 : //on dépasse la taille d'un char donc on met la valeur en comptant le dépassement
goldmas 33:c54841d11156 546 choix_bras = 54 ;
goldmas 33:c54841d11156 547 SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 548 waitingAckFrom = 0;
goldmas 33:c54841d11156 549 waitingAckID =0;
goldmas 33:c54841d11156 550 break ;
goldmas 33:c54841d11156 551 case 247 : //on dépasse la taille d'un char donc on met la valeur en comptant le dépassement
goldmas 33:c54841d11156 552 choix_bras = 53 ;
goldmas 33:c54841d11156 553 SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 554 waitingAckFrom = 0;
goldmas 33:c54841d11156 555 waitingAckID =0;
goldmas 33:c54841d11156 556 break ;
goldmas 33:c54841d11156 557 case 43 :
goldmas 33:c54841d11156 558 choix_bras = 43 ;
goldmas 33:c54841d11156 559 SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 560 waitingAckFrom = 0;
goldmas 33:c54841d11156 561 waitingAckID =0;
goldmas 33:c54841d11156 562 break ;
goldmas 33:c54841d11156 563 case 244 : //on dépasse la taille d'un char donc on met la valeur en comptant le dépassement
goldmas 33:c54841d11156 564 choix_bras = 5 ;
goldmas 33:c54841d11156 565 SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 566 waitingAckFrom = 0;
goldmas 33:c54841d11156 567 waitingAckID =0;
goldmas 33:c54841d11156 568 break ;
goldmas 33:c54841d11156 569 case 40 :
goldmas 33:c54841d11156 570 choix_bras = 4 ;
goldmas 33:c54841d11156 571 SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 572 waitingAckFrom = 0;
goldmas 33:c54841d11156 573 waitingAckID =0;
goldmas 33:c54841d11156 574 break ;
goldmas 33:c54841d11156 575 case 3 :
goldmas 33:c54841d11156 576 choix_bras = 3 ;
goldmas 33:c54841d11156 577 SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 578 waitingAckFrom = 0;
goldmas 33:c54841d11156 579 waitingAckID =0;
goldmas 33:c54841d11156 580 break ;
goldmas 33:c54841d11156 581 }
goldmas 33:c54841d11156 582
goldmas 33:c54841d11156 583 switch (message_droit_at)
goldmas 33:c54841d11156 584 {
goldmas 33:c54841d11156 585 case 210 :
goldmas 33:c54841d11156 586 choix_bras = 210 ;
goldmas 33:c54841d11156 587 SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 588 waitingAckFrom = 0;
goldmas 33:c54841d11156 589 waitingAckID =0;
goldmas 33:c54841d11156 590 break ;
goldmas 33:c54841d11156 591 case 217 :
goldmas 33:c54841d11156 592 choix_bras = 21 ;
goldmas 33:c54841d11156 593 SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 594 waitingAckFrom = 0;
goldmas 33:c54841d11156 595 waitingAckID =0;
goldmas 33:c54841d11156 596 break ;
goldmas 33:c54841d11156 597 case 200 :
goldmas 33:c54841d11156 598 choix_bras = 20 ;
goldmas 33:c54841d11156 599 SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 600 waitingAckFrom = 0;
goldmas 33:c54841d11156 601 waitingAckID =0;
goldmas 33:c54841d11156 602 break ;
goldmas 33:c54841d11156 603 case 10 :
goldmas 33:c54841d11156 604 choix_bras = 10 ;
goldmas 33:c54841d11156 605 SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 606 waitingAckFrom = 0;
goldmas 33:c54841d11156 607 waitingAckID =0;
goldmas 33:c54841d11156 608 break ;
goldmas 33:c54841d11156 609 case 207 :
goldmas 33:c54841d11156 610 choix_bras = 2 ;
goldmas 33:c54841d11156 611 SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 612 waitingAckFrom = 0;
goldmas 33:c54841d11156 613 waitingAckID =0;
goldmas 33:c54841d11156 614 break ;
goldmas 33:c54841d11156 615 case 17 :
goldmas 33:c54841d11156 616 choix_bras = 1 ;
goldmas 33:c54841d11156 617 SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 618 waitingAckFrom = 0;
goldmas 33:c54841d11156 619 waitingAckID =0;
goldmas 33:c54841d11156 620 break ;
goldmas 33:c54841d11156 621 case 0 :
goldmas 33:c54841d11156 622 choix_bras = 0 ;
goldmas 33:c54841d11156 623 SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 624 waitingAckFrom = 0;
goldmas 33:c54841d11156 625 waitingAckID =0;
goldmas 33:c54841d11156 626 break ;
goldmas 33:c54841d11156 627 }
goldmas 33:c54841d11156 628
goldmas 33:c54841d11156 629 message_droit_at = 0 ;
goldmas 33:c54841d11156 630 message_gauche_at = 0 ;
goldmas 33:c54841d11156 631
goldmas 33:c54841d11156 632 TEST_ATTRAPER.Draw(BLEU, BLANC);
goldmas 33:c54841d11156 633 }
goldmas 33:c54841d11156 634 else if (TEST_RELACHER.Touched())
goldmas 33:c54841d11156 635 {
goldmas 33:c54841d11156 636 while(TEST_RELACHER.Touched());
goldmas 33:c54841d11156 637 unsigned char message_droit_re, message_gauche_re;
goldmas 33:c54841d11156 638 message_droit_re = 100 * bras_select_2 + 10 * bras_select_1 + bras_select_0 ;
goldmas 33:c54841d11156 639 message_gauche_re = 100 * bras_select_5 + 10 * bras_select_4 + bras_select_3 ;
goldmas 33:c54841d11156 640 switch (message_droit_re)
goldmas 33:c54841d11156 641 {
goldmas 33:c54841d11156 642 case 210 :
goldmas 33:c54841d11156 643 choix_bras = 210 ;
goldmas 33:c54841d11156 644 SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 645 waitingAckFrom = 0;
goldmas 33:c54841d11156 646 waitingAckID =0;
goldmas 33:c54841d11156 647 break ;
goldmas 33:c54841d11156 648 case 217 :
goldmas 33:c54841d11156 649 choix_bras = 21 ;
goldmas 33:c54841d11156 650 SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 651 waitingAckFrom = 0;
goldmas 33:c54841d11156 652 waitingAckID =0;
goldmas 33:c54841d11156 653 break ;
goldmas 33:c54841d11156 654 case 200 :
goldmas 33:c54841d11156 655 choix_bras = 20 ;
goldmas 33:c54841d11156 656 SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 657 waitingAckFrom = 0;
goldmas 33:c54841d11156 658 waitingAckID =0;
goldmas 33:c54841d11156 659 break ;
goldmas 33:c54841d11156 660 case 10 :
goldmas 33:c54841d11156 661 choix_bras = 10 ;
goldmas 33:c54841d11156 662 SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 663 waitingAckFrom = 0;
goldmas 33:c54841d11156 664 waitingAckID =0;
goldmas 33:c54841d11156 665 break ;
goldmas 33:c54841d11156 666 case 207 :
goldmas 33:c54841d11156 667 choix_bras = 2 ;
goldmas 33:c54841d11156 668 SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 669 waitingAckFrom = 0;
goldmas 33:c54841d11156 670 waitingAckID =0;
goldmas 33:c54841d11156 671 break ;
goldmas 33:c54841d11156 672 case 17 :
goldmas 33:c54841d11156 673 choix_bras = 1 ;
goldmas 33:c54841d11156 674 SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 675 waitingAckFrom = 0;
goldmas 33:c54841d11156 676 waitingAckID =0;
goldmas 33:c54841d11156 677 break ;
goldmas 33:c54841d11156 678 case 0 :
goldmas 33:c54841d11156 679 choix_bras = 0 ;
goldmas 33:c54841d11156 680 SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 681 waitingAckFrom = 0;
goldmas 33:c54841d11156 682 waitingAckID =0;
goldmas 33:c54841d11156 683 break ;
goldmas 33:c54841d11156 684 }
goldmas 33:c54841d11156 685
goldmas 33:c54841d11156 686 switch (message_gauche_re)
goldmas 33:c54841d11156 687 {
goldmas 33:c54841d11156 688 case 31 :
goldmas 33:c54841d11156 689 choix_bras = 66 ;
goldmas 33:c54841d11156 690 SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 691 waitingAckFrom = 0;
goldmas 33:c54841d11156 692 waitingAckID =0;
goldmas 33:c54841d11156 693 break ;
goldmas 33:c54841d11156 694 case 28 :
goldmas 33:c54841d11156 695 choix_bras = 54 ;
goldmas 33:c54841d11156 696 SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 697 waitingAckFrom = 0;
goldmas 33:c54841d11156 698 waitingAckID =0;
goldmas 33:c54841d11156 699 break ;
goldmas 33:c54841d11156 700 case 247 :
goldmas 33:c54841d11156 701 choix_bras = 53 ;
goldmas 33:c54841d11156 702 SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 703 waitingAckFrom = 0;
goldmas 33:c54841d11156 704 waitingAckID =0;
goldmas 33:c54841d11156 705 break ;
goldmas 33:c54841d11156 706 case 43 :
goldmas 33:c54841d11156 707 choix_bras = 43 ;
goldmas 33:c54841d11156 708 SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 709 waitingAckFrom = 0;
goldmas 33:c54841d11156 710 waitingAckID =0;
goldmas 33:c54841d11156 711 break ;
goldmas 33:c54841d11156 712 case 244 :
goldmas 33:c54841d11156 713 choix_bras = 5 ;
goldmas 33:c54841d11156 714 SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 715 waitingAckFrom = 0;
goldmas 33:c54841d11156 716 waitingAckID =0;
goldmas 33:c54841d11156 717 break ;
goldmas 33:c54841d11156 718 case 40 :
goldmas 33:c54841d11156 719 choix_bras = 4 ;
goldmas 33:c54841d11156 720 SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 721 waitingAckFrom = 0;
goldmas 33:c54841d11156 722 waitingAckID =0;
goldmas 33:c54841d11156 723 break ;
goldmas 33:c54841d11156 724 case 3 :
goldmas 33:c54841d11156 725 choix_bras = 3 ;
goldmas 33:c54841d11156 726 SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras));
goldmas 33:c54841d11156 727 waitingAckFrom = 0;
goldmas 33:c54841d11156 728 waitingAckID =0;
goldmas 33:c54841d11156 729 break ;
goldmas 33:c54841d11156 730 }
goldmas 33:c54841d11156 731 message_droit_re = 0 ;
goldmas 33:c54841d11156 732 message_gauche_re = 0 ;
goldmas 33:c54841d11156 733
goldmas 33:c54841d11156 734 TEST_RELACHER.Draw(BLEU, BLANC);
goldmas 32:7f8e3ee2adac 735
gabrieltetar 21:d137ec53c3a9 736 }
gabrieltetar 21:d137ec53c3a9 737 }
gabrieltetar 21:d137ec53c3a9 738 break;
gabrieltetar 21:d137ec53c3a9 739
gabrieltetar 21:d137ec53c3a9 740 case TEST_COULEUR:
gabrieltetar 21:d137ec53c3a9 741 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 742 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Test Couleur", LEFT_MODE);
gabrieltetar 24:1a13c998c7ac 743 TEST_A.Draw(BLEU, BLANC);
gabrieltetar 24:1a13c998c7ac 744 TEST_B.Draw(BLEU, BLANC);
gabrieltetar 24:1a13c998c7ac 745 TEST_C.Draw(BLEU, BLANC);
gabrieltetar 24:1a13c998c7ac 746 TEST_D.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 747 RETOUR.Draw(0xFFFF0000,0);
gabrieltetar 21:d137ec53c3a9 748 while(strat_etat_s==TEST_COULEUR) {
gabrieltetar 21:d137ec53c3a9 749 if(RETOUR.Touched()) {
gabrieltetar 21:d137ec53c3a9 750 while (RETOUR.Touched());
gabrieltetar 21:d137ec53c3a9 751 strat_etat_s=DEMO;
gabrieltetar 21:d137ec53c3a9 752 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 24:1a13c998c7ac 753 }else if(TEST_A.Touched()) {
gabrieltetar 24:1a13c998c7ac 754 while (TEST_A.Touched());
gabrieltetar 24:1a13c998c7ac 755 SendRawId(TEST_BRAS_A);
gabrieltetar 24:1a13c998c7ac 756 TEST_A.Draw(BLEU, BLANC);
gabrieltetar 24:1a13c998c7ac 757 } else if(TEST_B.Touched()) {
gabrieltetar 24:1a13c998c7ac 758 while (TEST_B.Touched());
gabrieltetar 24:1a13c998c7ac 759 SendRawId(TEST_BRAS_B);
gabrieltetar 24:1a13c998c7ac 760 TEST_B.Draw(BLEU, BLANC);
gabrieltetar 24:1a13c998c7ac 761 } else if(TEST_C.Touched()) {
gabrieltetar 24:1a13c998c7ac 762 while (TEST_C.Touched());
gabrieltetar 24:1a13c998c7ac 763 SendRawId(TEST_BRAS_C);
gabrieltetar 24:1a13c998c7ac 764 TEST_C.Draw(BLEU, BLANC);
gabrieltetar 24:1a13c998c7ac 765 } else if(TEST_D.Touched()) {
gabrieltetar 24:1a13c998c7ac 766 while (TEST_D.Touched());
gabrieltetar 24:1a13c998c7ac 767 SendRawId(TEST_BRAS_D);
gabrieltetar 24:1a13c998c7ac 768 TEST_D.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 769 }
gabrieltetar 21:d137ec53c3a9 770 }
gabrieltetar 21:d137ec53c3a9 771 break;
gabrieltetar 21:d137ec53c3a9 772
gabrieltetar 21:d137ec53c3a9 773 case TEST_MOTEUR:
gabrieltetar 21:d137ec53c3a9 774 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 775 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 776 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 777 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 778 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Test Moteur", LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 779 RETOUR.Draw(0xFFFF0000,0);
gabrieltetar 21:d137ec53c3a9 780 TEST_A.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 781 TEST_B.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 782 while(strat_etat_s==TEST_MOTEUR) {
gabrieltetar 21:d137ec53c3a9 783 if(RETOUR.Touched()) {
gabrieltetar 21:d137ec53c3a9 784 while (RETOUR.Touched());
gabrieltetar 21:d137ec53c3a9 785 strat_etat_s=DEMO;
gabrieltetar 21:d137ec53c3a9 786 } else if(TEST_A.Touched()) {
gabrieltetar 21:d137ec53c3a9 787 while (TEST_A.Touched());
gabrieltetar 21:d137ec53c3a9 788 BendRadius(150,1800,1,0);
gabrieltetar 21:d137ec53c3a9 789 TEST_A.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 790 } else if(TEST_B.Touched()) {
gabrieltetar 21:d137ec53c3a9 791 while (TEST_B.Touched());
gabrieltetar 21:d137ec53c3a9 792 BendRadius(150,1800,0,0);
gabrieltetar 21:d137ec53c3a9 793 TEST_B.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 794 }
gabrieltetar 21:d137ec53c3a9 795 }
gabrieltetar 21:d137ec53c3a9 796 break; ///////////////////////////////////////////FIN DES DEMOS/////////////////////////////////////////////////
gabrieltetar 21:d137ec53c3a9 797
gabrieltetar 21:d137ec53c3a9 798
gabrieltetar 21:d137ec53c3a9 799 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 800 lcd.Clear(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 801 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 802 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 803
gabrieltetar 21:d137ec53c3a9 804 lcd.DisplayStringAt(70, LINE(0), (uint8_t *)"Choisir le cote", LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 805 COTE_JAUNE.Draw(JAUNE, 0);
gabrieltetar 21:d137ec53c3a9 806 COTE_VIOLET.Draw(VIOLET, 0);
gabrieltetar 21:d137ec53c3a9 807 RETOUR.Draw(LCD_COLOR_RED, 0);
gabrieltetar 21:d137ec53c3a9 808
gabrieltetar 21:d137ec53c3a9 809
gabrieltetar 21:d137ec53c3a9 810 while (strat_etat_s == SELECT_SIDE) {
gabrieltetar 21:d137ec53c3a9 811 canProcessRx();
gabrieltetar 21:d137ec53c3a9 812 if(COTE_JAUNE.Touched()) {
maximilienlv 28:7f2990747e09 813 Cote = 0x1;
gabrieltetar 21:d137ec53c3a9 814 InversStrat = Cote;
gabrieltetar 21:d137ec53c3a9 815 strat_etat_s = TACTIQUE;
gabrieltetar 21:d137ec53c3a9 816 CANMessage trame_Tx = CANMessage();
gabrieltetar 21:d137ec53c3a9 817 trame_Tx.len = 1;
gabrieltetar 21:d137ec53c3a9 818 trame_Tx.format = CANStandard;
gabrieltetar 21:d137ec53c3a9 819 trame_Tx.type = CANData;
gabrieltetar 21:d137ec53c3a9 820 trame_Tx.id=CHOICE_COLOR;
gabrieltetar 21:d137ec53c3a9 821 trame_Tx.data[0]=Cote;
gabrieltetar 21:d137ec53c3a9 822 can2.write(trame_Tx);
gabrieltetar 21:d137ec53c3a9 823 while(COTE_JAUNE.Touched());
gabrieltetar 21:d137ec53c3a9 824
gabrieltetar 21:d137ec53c3a9 825 }
gabrieltetar 21:d137ec53c3a9 826
gabrieltetar 21:d137ec53c3a9 827 if(COTE_VIOLET.Touched()) {
maximilienlv 28:7f2990747e09 828 Cote = 0x0;
gabrieltetar 21:d137ec53c3a9 829 InversStrat= Cote;
gabrieltetar 21:d137ec53c3a9 830 strat_etat_s = TACTIQUE;
gabrieltetar 21:d137ec53c3a9 831 CANMessage trame_Tx = CANMessage();
gabrieltetar 21:d137ec53c3a9 832 trame_Tx.len = 1;
gabrieltetar 21:d137ec53c3a9 833 trame_Tx.format = CANStandard;
gabrieltetar 21:d137ec53c3a9 834 trame_Tx.type = CANData;
gabrieltetar 21:d137ec53c3a9 835 trame_Tx.id=CHOICE_COLOR;
gabrieltetar 21:d137ec53c3a9 836 trame_Tx.data[0]=Cote;
gabrieltetar 21:d137ec53c3a9 837 can2.write(trame_Tx);
gabrieltetar 21:d137ec53c3a9 838 while(COTE_VIOLET.Touched());
gabrieltetar 21:d137ec53c3a9 839 }
gabrieltetar 21:d137ec53c3a9 840
gabrieltetar 21:d137ec53c3a9 841 if(RETOUR.Touched()) {
gabrieltetar 21:d137ec53c3a9 842 strat_etat_s = CHOIX;
gabrieltetar 21:d137ec53c3a9 843 while(RETOUR.Touched());
gabrieltetar 21:d137ec53c3a9 844 }
gabrieltetar 21:d137ec53c3a9 845 }
gabrieltetar 21:d137ec53c3a9 846
gabrieltetar 21:d137ec53c3a9 847 break;
gabrieltetar 21:d137ec53c3a9 848
gabrieltetar 21:d137ec53c3a9 849 case TACTIQUE : //AFFICHE LA LISTE DES STRATS AFIN DE SELECTIONNER CELLE VOULUE
slowness 29:ff575aff301f 850 if (Cote == 1) {
gabrieltetar 21:d137ec53c3a9 851 lcd.Clear(JAUNE);
gabrieltetar 21:d137ec53c3a9 852 lcd.SetBackColor(JAUNE);
slowness 29:ff575aff301f 853 } else if (Cote == 0) {
gabrieltetar 21:d137ec53c3a9 854 lcd.Clear(VIOLET);
gabrieltetar 21:d137ec53c3a9 855 lcd.SetBackColor(VIOLET);
gabrieltetar 21:d137ec53c3a9 856 } else {
gabrieltetar 21:d137ec53c3a9 857 lcd.Clear(BLEU);
gabrieltetar 21:d137ec53c3a9 858 lcd.SetBackColor(BLEU);
gabrieltetar 21:d137ec53c3a9 859 }
gabrieltetar 21:d137ec53c3a9 860
gabrieltetar 21:d137ec53c3a9 861 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 862
gabrieltetar 21:d137ec53c3a9 863 lcd.DisplayStringAt(20, LINE(0), (uint8_t *)"Choisir une strategie", LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 864
gabrieltetar 21:d137ec53c3a9 865 nbStrat = Bouton_Strat(); // retourne valeur de Strategie si bouton strat renvoi -1 on reviens en arriere
gabrieltetar 21:d137ec53c3a9 866 if (nbStrat == -1) {
gabrieltetar 21:d137ec53c3a9 867 strat_etat_s = SELECT_SIDE;
gabrieltetar 21:d137ec53c3a9 868 } else {
gabrieltetar 21:d137ec53c3a9 869 strat_etat_s = DETAILS;
gabrieltetar 21:d137ec53c3a9 870 }
gabrieltetar 21:d137ec53c3a9 871 wait(0.1);
gabrieltetar 21:d137ec53c3a9 872 break;
gabrieltetar 21:d137ec53c3a9 873
gabrieltetar 21:d137ec53c3a9 874 case DETAILS : //SECONDE VALIDATION DE LA STRAT
gabrieltetar 21:d137ec53c3a9 875 lcd.Clear(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 876 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 877 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 878 CHECK.Draw(VERT);
gabrieltetar 21:d137ec53c3a9 879 RETOUR.Draw(LCD_COLOR_RED);
gabrieltetar 21:d137ec53c3a9 880
gabrieltetar 21:d137ec53c3a9 881 SelectionStrat(nbStrat); //affiche la stratégie selectionnée
gabrieltetar 21:d137ec53c3a9 882
gabrieltetar 21:d137ec53c3a9 883 while (strat_etat_s == DETAILS) {
gabrieltetar 21:d137ec53c3a9 884 canProcessRx();
gabrieltetar 21:d137ec53c3a9 885 if (CHECK.Touched()) {
gabrieltetar 21:d137ec53c3a9 886 if(gameEtat == ETAT_CONFIG) {
gabrieltetar 21:d137ec53c3a9 887 gameEtat = ETAT_GAME_INIT;
gabrieltetar 21:d137ec53c3a9 888 strat_etat_s=LECTURE;
gabrieltetar 21:d137ec53c3a9 889
gabrieltetar 21:d137ec53c3a9 890 }
gabrieltetar 21:d137ec53c3a9 891 while(CHECK.Touched());
gabrieltetar 21:d137ec53c3a9 892 }
gabrieltetar 21:d137ec53c3a9 893
gabrieltetar 21:d137ec53c3a9 894 if(RETOUR.Touched()) {
gabrieltetar 21:d137ec53c3a9 895 strat_etat_s = TACTIQUE;
gabrieltetar 21:d137ec53c3a9 896 while(RETOUR.Touched());
gabrieltetar 21:d137ec53c3a9 897 }
gabrieltetar 21:d137ec53c3a9 898 }
gabrieltetar 21:d137ec53c3a9 899 break;
gabrieltetar 21:d137ec53c3a9 900
gabrieltetar 21:d137ec53c3a9 901
gabrieltetar 21:d137ec53c3a9 902 case LECTURE :
gabrieltetar 21:d137ec53c3a9 903 break;
gabrieltetar 21:d137ec53c3a9 904 case AFF_WAIT_JACK : //FONCTIONS D'AFFICHAGE DE L'ATTENTE DU JACK
gabrieltetar 21:d137ec53c3a9 905 lcd.Clear(BLANC);
gabrieltetar 21:d137ec53c3a9 906 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 907 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 908
gabrieltetar 21:d137ec53c3a9 909 if (Cote == 0) {
gabrieltetar 21:d137ec53c3a9 910 lcd.Clear(VERT);
gabrieltetar 21:d137ec53c3a9 911 lcd.SetBackColor(VERT);
gabrieltetar 21:d137ec53c3a9 912 } else if (Cote == 1) {
gabrieltetar 21:d137ec53c3a9 913 lcd.Clear(ORANGE);
gabrieltetar 21:d137ec53c3a9 914 lcd.SetBackColor(ORANGE);
gabrieltetar 21:d137ec53c3a9 915 } else {
gabrieltetar 21:d137ec53c3a9 916 lcd.Clear(VERT);
gabrieltetar 21:d137ec53c3a9 917 lcd.SetBackColor(VERT);
gabrieltetar 21:d137ec53c3a9 918 }
gabrieltetar 21:d137ec53c3a9 919 canProcessRx();
gabrieltetar 21:d137ec53c3a9 920 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"En attente du Jack", CENTER_MODE);
gabrieltetar 21:d137ec53c3a9 921 strat_etat_s=WAIT_JACK;
gabrieltetar 21:d137ec53c3a9 922 break;
gabrieltetar 21:d137ec53c3a9 923
gabrieltetar 21:d137ec53c3a9 924 case WAIT_JACK: //VERITABLE ATTENTE DU JACK
gabrieltetar 21:d137ec53c3a9 925 break;
gabrieltetar 21:d137ec53c3a9 926
gabrieltetar 21:d137ec53c3a9 927 case FIN : //AFFICHAGE DE FIN AVEC LE SCORE FINAL
gabrieltetar 21:d137ec53c3a9 928 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 929 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 930
gabrieltetar 21:d137ec53c3a9 931
gabrieltetar 21:d137ec53c3a9 932 while(1); // force le redemarage du robot
gabrieltetar 21:d137ec53c3a9 933 //break;
gabrieltetar 21:d137ec53c3a9 934
gabrieltetar 21:d137ec53c3a9 935 }
gabrieltetar 21:d137ec53c3a9 936 }
gabrieltetar 21:d137ec53c3a9 937 /****************************************************************************************/
gabrieltetar 21:d137ec53c3a9 938 /* FUNCTION NAME: Bouton_Strat */
gabrieltetar 21:d137ec53c3a9 939 /* DESCRIPTION : Sélection de la strat sur le lcd puis envoie sur CAN (à modifier!) */
gabrieltetar 21:d137ec53c3a9 940 /****************************************************************************************/
gabrieltetar 21:d137ec53c3a9 941 signed char Bouton_Strat (void)
gabrieltetar 21:d137ec53c3a9 942 {
gabrieltetar 21:d137ec53c3a9 943 char Ack_strat = 0;
gabrieltetar 21:d137ec53c3a9 944 signed char Strat = 0;
gabrieltetar 21:d137ec53c3a9 945 Button STRAT_1 (0, 30, 190, 110, strat_sd[0]);
gabrieltetar 21:d137ec53c3a9 946 Button STRAT_2 (210, 30, 190, 110, strat_sd[1]);
gabrieltetar 21:d137ec53c3a9 947 Button STRAT_3 (0, 150, 190, 110, strat_sd[2]);
gabrieltetar 21:d137ec53c3a9 948 Button STRAT_4 (210, 150, 190, 110, strat_sd[3]);
gabrieltetar 21:d137ec53c3a9 949 Button STRAT_5 (0, 270, 190, 110,strat_sd[4]);
gabrieltetar 21:d137ec53c3a9 950 Button STRAT_6 (210, 270, 190, 110, strat_sd[5]);
gabrieltetar 21:d137ec53c3a9 951 Button STRAT_7 (0, 390, 190, 110, strat_sd[6]);
gabrieltetar 21:d137ec53c3a9 952 Button STRAT_8 (210, 390, 190, 110, strat_sd[7]);
gabrieltetar 21:d137ec53c3a9 953 Button STRAT_9 (0, 510, 190, 110, strat_sd[8]);
gabrieltetar 21:d137ec53c3a9 954 Button STRAT_10 (210, 510, 190, 110, strat_sd[9]);
gabrieltetar 21:d137ec53c3a9 955 Button RETOUR (0, 680, 400, 110, "--Precedent--");
gabrieltetar 21:d137ec53c3a9 956 //Definition des boutons
gabrieltetar 21:d137ec53c3a9 957
gabrieltetar 21:d137ec53c3a9 958 Ack_strat = 0;
gabrieltetar 21:d137ec53c3a9 959 Strat = 0;
gabrieltetar 21:d137ec53c3a9 960 STRAT_1.Draw(0xFFF0F0F0, 0);
gabrieltetar 21:d137ec53c3a9 961 STRAT_2.Draw(0xFFF0F0F0, 0);
gabrieltetar 21:d137ec53c3a9 962 STRAT_3.Draw(0xFFF0F0F0, 0);
gabrieltetar 21:d137ec53c3a9 963 STRAT_4.Draw(0xFFF0F0F0, 0);
gabrieltetar 21:d137ec53c3a9 964 STRAT_5.Draw(0xFFF0F0F0, 0);
gabrieltetar 21:d137ec53c3a9 965 STRAT_6.Draw(0xFFF0F0F0, 0);
gabrieltetar 21:d137ec53c3a9 966 STRAT_7.Draw(0xFFF0F0F0, 0);
gabrieltetar 21:d137ec53c3a9 967 STRAT_8.Draw(0xFFF0F0F0, 0);
gabrieltetar 21:d137ec53c3a9 968 STRAT_9.Draw(0xFFF0F0F0, 0);
gabrieltetar 21:d137ec53c3a9 969 STRAT_10.Draw(0xFFF0F0F0, 0);
gabrieltetar 21:d137ec53c3a9 970 RETOUR.Draw(0xFFFF0000, 0);
gabrieltetar 21:d137ec53c3a9 971
gabrieltetar 21:d137ec53c3a9 972 while(Ack_strat == 0) {
gabrieltetar 21:d137ec53c3a9 973 canProcessRx();
gabrieltetar 21:d137ec53c3a9 974 CANMessage msgTx=CANMessage();
gabrieltetar 21:d137ec53c3a9 975 //msgTx.id=ECRAN_CHOICE_STRAT;
gabrieltetar 21:d137ec53c3a9 976 if (RETOUR.Touched())
gabrieltetar 21:d137ec53c3a9 977 return -1;
gabrieltetar 21:d137ec53c3a9 978 while(RETOUR.Touched());
gabrieltetar 21:d137ec53c3a9 979 //////////////////////////////STRATEGIE N°1
gabrieltetar 21:d137ec53c3a9 980 if (STRAT_1.Touched()) {
gabrieltetar 21:d137ec53c3a9 981 Strat = 0;
gabrieltetar 21:d137ec53c3a9 982 //msgTx.data[0] = 0x1;
gabrieltetar 21:d137ec53c3a9 983 //can2.write(msgTx);
gabrieltetar 21:d137ec53c3a9 984 while(STRAT_1.Touched());
gabrieltetar 21:d137ec53c3a9 985 Ack_strat =1;
gabrieltetar 21:d137ec53c3a9 986 }
gabrieltetar 21:d137ec53c3a9 987 /////////////////////////////STRATEGIE N°2
gabrieltetar 21:d137ec53c3a9 988 if (STRAT_2.Touched()) {
gabrieltetar 21:d137ec53c3a9 989 Strat = 1;
gabrieltetar 21:d137ec53c3a9 990 //msgTx.data[0] = 0x2;
gabrieltetar 21:d137ec53c3a9 991 //can2.write(msgTx);
gabrieltetar 21:d137ec53c3a9 992 while(STRAT_2.Touched());
gabrieltetar 21:d137ec53c3a9 993 Ack_strat =1;
gabrieltetar 21:d137ec53c3a9 994 }
gabrieltetar 21:d137ec53c3a9 995 //////////////////////////////STRATEGIE N°3
gabrieltetar 21:d137ec53c3a9 996 if (STRAT_3.Touched()) {
gabrieltetar 21:d137ec53c3a9 997 Strat = 2;
gabrieltetar 21:d137ec53c3a9 998 //msgTx.data[0] = 0x3;
gabrieltetar 21:d137ec53c3a9 999 //can2.write(msgTx);
gabrieltetar 21:d137ec53c3a9 1000 while(STRAT_3.Touched());
gabrieltetar 21:d137ec53c3a9 1001 Ack_strat =1;
gabrieltetar 21:d137ec53c3a9 1002 }
gabrieltetar 21:d137ec53c3a9 1003 /////////////////////////////STRATEGIE N°4
gabrieltetar 21:d137ec53c3a9 1004 if (STRAT_4.Touched()) {
gabrieltetar 21:d137ec53c3a9 1005 Strat = 3;
gabrieltetar 21:d137ec53c3a9 1006 //msgTx.data[0] = 0x4;
gabrieltetar 21:d137ec53c3a9 1007 //can2.write(msgTx);
gabrieltetar 21:d137ec53c3a9 1008 while(STRAT_4.Touched());
gabrieltetar 21:d137ec53c3a9 1009 Ack_strat =1;
gabrieltetar 21:d137ec53c3a9 1010 }
gabrieltetar 21:d137ec53c3a9 1011 ///////////////////////////////STRATEGIE N°5
gabrieltetar 21:d137ec53c3a9 1012 if (STRAT_5.Touched()) {
gabrieltetar 21:d137ec53c3a9 1013 Strat = 4;
gabrieltetar 21:d137ec53c3a9 1014 //msgTx.data[0] = 0x5;
gabrieltetar 21:d137ec53c3a9 1015 //can2.write(msgTx);
gabrieltetar 21:d137ec53c3a9 1016 while(STRAT_5.Touched());
gabrieltetar 21:d137ec53c3a9 1017 Ack_strat =1;
gabrieltetar 21:d137ec53c3a9 1018 }
gabrieltetar 21:d137ec53c3a9 1019 ////////////////////////////////STRATEGIE N°6
gabrieltetar 21:d137ec53c3a9 1020 if (STRAT_6.Touched()) {
gabrieltetar 21:d137ec53c3a9 1021 Strat = 5;
gabrieltetar 21:d137ec53c3a9 1022 //msgTx.data[0] = 0x6;
gabrieltetar 21:d137ec53c3a9 1023 //can2.write(msgTx);
gabrieltetar 21:d137ec53c3a9 1024 while(STRAT_6.Touched());
gabrieltetar 21:d137ec53c3a9 1025 Ack_strat =1;
gabrieltetar 21:d137ec53c3a9 1026 }
gabrieltetar 21:d137ec53c3a9 1027 /////////////////////////////////STRATEGIE N°7
gabrieltetar 21:d137ec53c3a9 1028 if (STRAT_7.Touched()) {
gabrieltetar 21:d137ec53c3a9 1029 Strat = 6;
gabrieltetar 21:d137ec53c3a9 1030 //msgTx.data[0] = 0x7;
gabrieltetar 21:d137ec53c3a9 1031 //can2.write(msgTx);
gabrieltetar 21:d137ec53c3a9 1032 while(STRAT_7.Touched());
gabrieltetar 21:d137ec53c3a9 1033 Ack_strat =1;
gabrieltetar 21:d137ec53c3a9 1034 }
gabrieltetar 21:d137ec53c3a9 1035 /////////////////////////////////STRATEGIE N°8
gabrieltetar 21:d137ec53c3a9 1036 if (STRAT_8.Touched()) {
gabrieltetar 21:d137ec53c3a9 1037 Strat = 7;
gabrieltetar 21:d137ec53c3a9 1038 //msgTx.data[0] = 0x8;
gabrieltetar 21:d137ec53c3a9 1039 //can2.write(msgTx);
gabrieltetar 21:d137ec53c3a9 1040 while(STRAT_8.Touched());
gabrieltetar 21:d137ec53c3a9 1041 Ack_strat =1;
gabrieltetar 21:d137ec53c3a9 1042 }
gabrieltetar 21:d137ec53c3a9 1043 /////////////////////////////////STRATEGIE N°9
gabrieltetar 21:d137ec53c3a9 1044 if (STRAT_9.Touched()) {
gabrieltetar 21:d137ec53c3a9 1045 Strat = 8;
gabrieltetar 21:d137ec53c3a9 1046 //msgTx.data[0] = 0x9;
gabrieltetar 21:d137ec53c3a9 1047 //can2.write(msgTx);
gabrieltetar 21:d137ec53c3a9 1048 while(STRAT_9.Touched());
gabrieltetar 21:d137ec53c3a9 1049 Ack_strat =1;
gabrieltetar 21:d137ec53c3a9 1050 }
gabrieltetar 21:d137ec53c3a9 1051 ///////////////////////////////////STRATEGIE N°10
gabrieltetar 21:d137ec53c3a9 1052 if (STRAT_10.Touched()) {
gabrieltetar 21:d137ec53c3a9 1053 Strat = 9;
gabrieltetar 21:d137ec53c3a9 1054 //msgTx.data[0] = 0xA;
gabrieltetar 21:d137ec53c3a9 1055 //can2.write(msgTx);
gabrieltetar 21:d137ec53c3a9 1056 while(STRAT_10.Touched());
gabrieltetar 21:d137ec53c3a9 1057 Ack_strat =1;
gabrieltetar 21:d137ec53c3a9 1058 }
gabrieltetar 21:d137ec53c3a9 1059
gabrieltetar 21:d137ec53c3a9 1060 }
gabrieltetar 21:d137ec53c3a9 1061 return Strat;
gabrieltetar 21:d137ec53c3a9 1062
gabrieltetar 21:d137ec53c3a9 1063 }
gabrieltetar 21:d137ec53c3a9 1064 /****************************************************************************************/
gabrieltetar 21:d137ec53c3a9 1065 /* FUNCTION NAME: SelectionStrat */
gabrieltetar 21:d137ec53c3a9 1066 /* DESCRIPTION : Affiche la Stratégie sélectionnée sur l'ihm */
gabrieltetar 21:d137ec53c3a9 1067 /****************************************************************************************/
gabrieltetar 21:d137ec53c3a9 1068
gabrieltetar 21:d137ec53c3a9 1069
gabrieltetar 21:d137ec53c3a9 1070 void SelectionStrat (unsigned char Strategie)
gabrieltetar 21:d137ec53c3a9 1071 {
gabrieltetar 21:d137ec53c3a9 1072 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 1073 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 1074
gabrieltetar 21:d137ec53c3a9 1075 switch (Strategie+1) {
gabrieltetar 21:d137ec53c3a9 1076 case 0x1 :
gabrieltetar 21:d137ec53c3a9 1077 //description de Strategie n°1
gabrieltetar 21:d137ec53c3a9 1078 lcd.DisplayStringAt(150, 0, (uint8_t *)strat_sd[Strategie], LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 1079 break;
gabrieltetar 21:d137ec53c3a9 1080
gabrieltetar 21:d137ec53c3a9 1081 case 0x2 :
gabrieltetar 21:d137ec53c3a9 1082 //description de Strategie n°2
gabrieltetar 21:d137ec53c3a9 1083 lcd.DisplayStringAt(150,0, (uint8_t *)strat_sd[Strategie], LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 1084 break;
gabrieltetar 21:d137ec53c3a9 1085
gabrieltetar 21:d137ec53c3a9 1086 case 0x3 :
gabrieltetar 21:d137ec53c3a9 1087 //description de Strategie n°3
gabrieltetar 21:d137ec53c3a9 1088 lcd.DisplayStringAt(150,0, (uint8_t *)strat_sd[Strategie], LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 1089 break;
gabrieltetar 21:d137ec53c3a9 1090
gabrieltetar 21:d137ec53c3a9 1091 case 0x4 :
gabrieltetar 21:d137ec53c3a9 1092 //description de Strategie n°4
gabrieltetar 21:d137ec53c3a9 1093 lcd.DisplayStringAt(150,0, (uint8_t *)strat_sd[Strategie], LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 1094 break;
gabrieltetar 21:d137ec53c3a9 1095
gabrieltetar 21:d137ec53c3a9 1096 case 0x5 :
gabrieltetar 21:d137ec53c3a9 1097 //description de Strategie n°5
gabrieltetar 21:d137ec53c3a9 1098 lcd.DisplayStringAt(150,0, (uint8_t *)strat_sd[Strategie], LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 1099 break;
gabrieltetar 21:d137ec53c3a9 1100
gabrieltetar 21:d137ec53c3a9 1101 case 0x6 :
gabrieltetar 21:d137ec53c3a9 1102 //description de Strategie n°5
gabrieltetar 21:d137ec53c3a9 1103 lcd.DisplayStringAt(150,0, (uint8_t *)strat_sd[Strategie], LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 1104 break;
gabrieltetar 21:d137ec53c3a9 1105
gabrieltetar 21:d137ec53c3a9 1106 case 0x7 :
gabrieltetar 21:d137ec53c3a9 1107 //description de Strategie n°5
gabrieltetar 21:d137ec53c3a9 1108 lcd.DisplayStringAt(150,0, (uint8_t *)strat_sd[Strategie], LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 1109 break;
gabrieltetar 21:d137ec53c3a9 1110
gabrieltetar 21:d137ec53c3a9 1111 case 0x8 :
gabrieltetar 21:d137ec53c3a9 1112 //description de Strategie n°5
gabrieltetar 21:d137ec53c3a9 1113 lcd.DisplayStringAt(150,0, (uint8_t *)strat_sd[Strategie], LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 1114 break;
gabrieltetar 21:d137ec53c3a9 1115
gabrieltetar 21:d137ec53c3a9 1116 case 0x9 :
gabrieltetar 21:d137ec53c3a9 1117 //description de Strategie n°5
gabrieltetar 21:d137ec53c3a9 1118 lcd.DisplayStringAt(150,0, (uint8_t *)strat_sd[Strategie], LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 1119 break;
gabrieltetar 21:d137ec53c3a9 1120
gabrieltetar 21:d137ec53c3a9 1121 case 0xA :
gabrieltetar 21:d137ec53c3a9 1122 //description de Strategie n°5
gabrieltetar 21:d137ec53c3a9 1123 lcd.DisplayStringAt(150,0, (uint8_t *)strat_sd[Strategie], LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 1124 break;
gabrieltetar 21:d137ec53c3a9 1125 }
gabrieltetar 27:ff70537a7619 1126 }
gabrieltetar 27:ff70537a7619 1127
gabrieltetar 27:ff70537a7619 1128 void DrawC (int l,int h,int x, int y, unsigned char fill){
gabrieltetar 27:ff70537a7619 1129 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 1130 for(int a=0;a<8;a++){
gabrieltetar 27:ff70537a7619 1131 c[a].X+=x;
gabrieltetar 27:ff70537a7619 1132 c[a].Y+=y;
gabrieltetar 27:ff70537a7619 1133 }
gabrieltetar 27:ff70537a7619 1134 lcd.DrawPolygon(c, 8);
gabrieltetar 27:ff70537a7619 1135
gabrieltetar 27:ff70537a7619 1136 }
gabrieltetar 27:ff70537a7619 1137 void DrawR (int l,int h,int x, int y, unsigned char fill){
gabrieltetar 27:ff70537a7619 1138 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 1139 for(int a=0;a<10;a++){
gabrieltetar 27:ff70537a7619 1140 r[a].X+=x;
gabrieltetar 27:ff70537a7619 1141 r[a].Y+=y;
gabrieltetar 27:ff70537a7619 1142 }
gabrieltetar 27:ff70537a7619 1143 lcd.DrawPolygon(r, 10);
gabrieltetar 27:ff70537a7619 1144 }
gabrieltetar 27:ff70537a7619 1145 void DrawA (int l,int h,int x, int y, unsigned char fill){
gabrieltetar 27:ff70537a7619 1146 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 1147 for(int z=0;z<8;z++){
gabrieltetar 27:ff70537a7619 1148 a[z].X+=x;
gabrieltetar 27:ff70537a7619 1149 a[z].Y+=y;
gabrieltetar 27:ff70537a7619 1150 }
gabrieltetar 27:ff70537a7619 1151 lcd.DrawPolygon(a, 8);
gabrieltetar 27:ff70537a7619 1152 }
gabrieltetar 27:ff70537a7619 1153 void DrawCheck (int l,int h,int x, int y, int cochage){
gabrieltetar 27:ff70537a7619 1154 if(x<3)x=3;
gabrieltetar 27:ff70537a7619 1155 if(cochage == 1){
gabrieltetar 27:ff70537a7619 1156 lcd.SetTextColor(VERT_F);
gabrieltetar 27:ff70537a7619 1157 lcd.DrawLine(x,y-(h/2),x+l/2,y+h/2);
gabrieltetar 27:ff70537a7619 1158 lcd.DrawLine(x-1,y-(h/2),x+l/2,y+h/2+1);
gabrieltetar 27:ff70537a7619 1159 lcd.DrawLine(x-2,y-(h/2),x+l/2,y+h/2+2);
gabrieltetar 27:ff70537a7619 1160 lcd.DrawLine(x+l/2,y+h/2,x+(4*(l/3)),y);
gabrieltetar 27:ff70537a7619 1161 lcd.DrawLine(x+l/2,y+h/2+1,x+(4*(l/3))+1,y);
gabrieltetar 27:ff70537a7619 1162 lcd.DrawLine(x+l/2,y+h/2+2,x+(4*(l/3))+2,y);
gabrieltetar 27:ff70537a7619 1163 lcd.SetTextColor(NOIR);
gabrieltetar 27:ff70537a7619 1164 } else {
gabrieltetar 27:ff70537a7619 1165 Point a[4]={{0,0},{l,0},{l,h},{0,h}};
gabrieltetar 27:ff70537a7619 1166 for(int z=0;z<8;z++){
gabrieltetar 27:ff70537a7619 1167 a[z].X+=x;
gabrieltetar 27:ff70537a7619 1168 a[z].Y+=y;
gabrieltetar 27:ff70537a7619 1169 }
gabrieltetar 27:ff70537a7619 1170 lcd.DrawPolygon(a, 4);
gabrieltetar 27:ff70537a7619 1171 }
gabrieltetar 21:d137ec53c3a9 1172 }