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:
gabrieltetar
Date:
Fri Jun 26 13:08:54 2020 +0000
Revision:
22:c7763a7ec6c7
Parent:
21:d137ec53c3a9
Child:
24:1a13c998c7ac
IHM VERSION TETAR

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 22:c7763a7ec6c7 4 #define VERT_F 0xFF00C400
gabrieltetar 21:d137ec53c3a9 5 #define ROUGE 0xFFFF0000
gabrieltetar 21:d137ec53c3a9 6 #define BLEU 0xFF0000FF
gabrieltetar 21:d137ec53c3a9 7 #define JAUNE 0xFFFDD835//FEFE00
gabrieltetar 21:d137ec53c3a9 8 #define BLANC 0xFF000000
gabrieltetar 21:d137ec53c3a9 9 #define ORANGE 0xFFFFA500
gabrieltetar 21:d137ec53c3a9 10 #define NOIR 0xFF000000
gabrieltetar 21:d137ec53c3a9 11 #define DIY_GREY 0xFFDFDFDF
gabrieltetar 21:d137ec53c3a9 12 #define VIOLET 0xFF4527A0
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");
gabrieltetar 21:d137ec53c3a9 22 Button COTE_VIOLET(0, 350, 400, 300, "VIOLET");
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");
gabrieltetar 21:d137ec53c3a9 44 Button TEST_PLUS(205,355,195,100,"+");
gabrieltetar 21:d137ec53c3a9 45 Button TEST_MOINS(0,355,195,100,"-");
gabrieltetar 22:c7763a7ec6c7 46 Button FORCE_LAUNCH(0, 600, 400, 100, "Force Launch");
gabrieltetar 21:d137ec53c3a9 47 Button SUIVANT(0,380,200,100,"Suivant");
gabrieltetar 21:d137ec53c3a9 48 ////////////////////////////////////////////////////////////
gabrieltetar 22:c7763a7ec6c7 49 unsigned char flag_sd =0;
gabrieltetar 21:d137ec53c3a9 50 signed char Bouton_Strat (void);
gabrieltetar 22:c7763a7ec6c7 51 void DrawC (int l,int h,int x, int y, unsigned char fill);
gabrieltetar 22:c7763a7ec6c7 52 void DrawR (int l,int h,int x, int y, unsigned char fill);
gabrieltetar 22:c7763a7ec6c7 53 void DrawA (int l,int h,int x, int y, unsigned char fill);
gabrieltetar 22:c7763a7ec6c7 54 void DrawCheck (int l,int h,int x, int y, int cochage);
gabrieltetar 21:d137ec53c3a9 55 void SelectionStrat (unsigned char numeroStrat);
gabrieltetar 21:d137ec53c3a9 56
gabrieltetar 21:d137ec53c3a9 57 /****************************************************************************************/
gabrieltetar 21:d137ec53c3a9 58 /* FUNCTION NAME: automate_etat_ihm */
gabrieltetar 21:d137ec53c3a9 59 /* DESCRIPTION : Automate de gestion de l'affichage */
gabrieltetar 21:d137ec53c3a9 60 /****************************************************************************************/
gabrieltetar 21:d137ec53c3a9 61 void automate_etat_ihm(void)
gabrieltetar 21:d137ec53c3a9 62 {
gabrieltetar 21:d137ec53c3a9 63 char toto[2];
gabrieltetar 21:d137ec53c3a9 64 int j;
gabrieltetar 21:d137ec53c3a9 65 unsigned char maximilien=1;
gabrieltetar 21:d137ec53c3a9 66 if (j==0) {
gabrieltetar 21:d137ec53c3a9 67 ts.Init(lcd.GetXSize(), lcd.GetYSize());
gabrieltetar 21:d137ec53c3a9 68 j++;
gabrieltetar 21:d137ec53c3a9 69 }
gabrieltetar 21:d137ec53c3a9 70 ts.GetState(&TS_State);
gabrieltetar 21:d137ec53c3a9 71 switch (strat_etat_s) {
gabrieltetar 22:c7763a7ec6c7 72 case INIT :
gabrieltetar 21:d137ec53c3a9 73 ts.GetState(&TS_State);
gabrieltetar 21:d137ec53c3a9 74 wait(0.15);
gabrieltetar 22:c7763a7ec6c7 75 strat_etat_s=INIT2;
gabrieltetar 21:d137ec53c3a9 76 break;
gabrieltetar 22:c7763a7ec6c7 77 case INIT2 :
gabrieltetar 22:c7763a7ec6c7 78 canProcessRx();
gabrieltetar 22:c7763a7ec6c7 79 FORCE_LAUNCH.Draw(BLEU, 0);
gabrieltetar 22:c7763a7ec6c7 80 while(strat_etat_s == INIT2) {
gabrieltetar 22:c7763a7ec6c7 81 canProcessRx();
gabrieltetar 22:c7763a7ec6c7 82 if(FORCE_LAUNCH.Touched() || (flag_check_carte1 && flag_check_carte2 && flag_sd)) {
gabrieltetar 22:c7763a7ec6c7 83 strat_etat_s = CHOIX;
gabrieltetar 22:c7763a7ec6c7 84 while(FORCE_LAUNCH.Touched());
gabrieltetar 22:c7763a7ec6c7 85 }
gabrieltetar 21:d137ec53c3a9 86 }
gabrieltetar 21:d137ec53c3a9 87 break;
gabrieltetar 21:d137ec53c3a9 88 case CHOIX : //Match ou DEMO
gabrieltetar 21:d137ec53c3a9 89 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 90 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 91 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 92 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Match ou demonstration ?", LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 93 DEMONSTRATION.Draw(LCD_COLOR_LIGHTGREEN, 0);
gabrieltetar 21:d137ec53c3a9 94 MATCH.Draw(0xFFF01010, 0);
gabrieltetar 21:d137ec53c3a9 95 while(strat_etat_s == CHOIX) {
gabrieltetar 21:d137ec53c3a9 96 canProcessRx();
gabrieltetar 21:d137ec53c3a9 97 if(DEMONSTRATION.Touched()) {
gabrieltetar 21:d137ec53c3a9 98 strat_etat_s = DEMO;
gabrieltetar 21:d137ec53c3a9 99 while(DEMONSTRATION.Touched());
gabrieltetar 21:d137ec53c3a9 100 }
gabrieltetar 21:d137ec53c3a9 101
gabrieltetar 21:d137ec53c3a9 102 if(MATCH.Touched()) {
gabrieltetar 21:d137ec53c3a9 103 strat_etat_s = SELECT_SIDE;
gabrieltetar 21:d137ec53c3a9 104 while(MATCH.Touched());
gabrieltetar 21:d137ec53c3a9 105 }
gabrieltetar 21:d137ec53c3a9 106
gabrieltetar 21:d137ec53c3a9 107 }
gabrieltetar 21:d137ec53c3a9 108 break;
gabrieltetar 21:d137ec53c3a9 109
gabrieltetar 21:d137ec53c3a9 110 case DEMO :
gabrieltetar 21:d137ec53c3a9 111 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 112 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 113 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 22:c7763a7ec6c7 114 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"DEMO 1/2", LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 115 RETOUR.Draw(0xFFFF0000, 0);
gabrieltetar 21:d137ec53c3a9 116 TEST_VENT.Draw(VERT, 0);
gabrieltetar 21:d137ec53c3a9 117 TEST_MOT.Draw(VERT, 0);
gabrieltetar 21:d137ec53c3a9 118 TEST_COUL.Draw(VERT, 0);
gabrieltetar 21:d137ec53c3a9 119 TEST_BRAS.Draw(VERT, 0);
gabrieltetar 21:d137ec53c3a9 120 TEST_AUDIO.Draw(VERT, 0);
gabrieltetar 22:c7763a7ec6c7 121 TEST_NEXT.Draw(BLEU, 0);
gabrieltetar 21:d137ec53c3a9 122 maximilien=0;
gabrieltetar 21:d137ec53c3a9 123 while (strat_etat_s == DEMO) {
gabrieltetar 21:d137ec53c3a9 124 canProcessRx();
gabrieltetar 21:d137ec53c3a9 125 if(TEST_VENT.Touched()) {
gabrieltetar 21:d137ec53c3a9 126 while(TEST_VENT.Touched());
gabrieltetar 21:d137ec53c3a9 127 strat_etat_s = TEST_VENTOUSE;
gabrieltetar 21:d137ec53c3a9 128 } else if(TEST_MOT.Touched()) {
gabrieltetar 21:d137ec53c3a9 129 while(TEST_MOT.Touched());
gabrieltetar 21:d137ec53c3a9 130 strat_etat_s = TEST_MOTEUR;
gabrieltetar 22:c7763a7ec6c7 131 } else if(TEST_NEXT.Touched()) {
gabrieltetar 22:c7763a7ec6c7 132 while(TEST_NEXT.Touched());
gabrieltetar 22:c7763a7ec6c7 133 strat_etat_s = DEMO2;
gabrieltetar 21:d137ec53c3a9 134 } else if (TEST_COUL.Touched()) {
gabrieltetar 21:d137ec53c3a9 135 while(TEST_COUL.Touched());
gabrieltetar 21:d137ec53c3a9 136 strat_etat_s =TEST_COULEUR ;
gabrieltetar 21:d137ec53c3a9 137 } else if (TEST_BRAS.Touched()) {
gabrieltetar 21:d137ec53c3a9 138 while(TEST_BRAS.Touched());
gabrieltetar 21:d137ec53c3a9 139 strat_etat_s =TEST_SERVO_BRAS ;
gabrieltetar 21:d137ec53c3a9 140 } else if(TEST_AUDIO.Touched()) {
gabrieltetar 21:d137ec53c3a9 141 while(TEST_AUDIO.Touched());
gabrieltetar 21:d137ec53c3a9 142 strat_etat_s=TEST_AUD;
gabrieltetar 21:d137ec53c3a9 143 } else if(RETOUR.Touched()) {
gabrieltetar 21:d137ec53c3a9 144 while(RETOUR.Touched());
gabrieltetar 21:d137ec53c3a9 145 strat_etat_s = CHOIX;
gabrieltetar 21:d137ec53c3a9 146 }
gabrieltetar 21:d137ec53c3a9 147 }
gabrieltetar 21:d137ec53c3a9 148 break;
gabrieltetar 22:c7763a7ec6c7 149
gabrieltetar 22:c7763a7ec6c7 150 case DEMO2 :
gabrieltetar 22:c7763a7ec6c7 151 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 22:c7763a7ec6c7 152 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 22:c7763a7ec6c7 153 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 22:c7763a7ec6c7 154 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"DEMO 2/2", LEFT_MODE);
gabrieltetar 22:c7763a7ec6c7 155 RETOUR.Draw(0xFFFF0000, 0);
gabrieltetar 22:c7763a7ec6c7 156 TEST_DIV.Draw(VERT, 0);
gabrieltetar 22:c7763a7ec6c7 157 TEST_ASSERV.Draw(VERT, 0);
gabrieltetar 22:c7763a7ec6c7 158 TEST_NEXT.Draw(BLEU, 0);
gabrieltetar 22:c7763a7ec6c7 159 maximilien=0;
gabrieltetar 22:c7763a7ec6c7 160 while (strat_etat_s == DEMO2) {
gabrieltetar 22:c7763a7ec6c7 161 canProcessRx();
gabrieltetar 22:c7763a7ec6c7 162 if(TEST_NEXT.Touched()) {
gabrieltetar 22:c7763a7ec6c7 163 while(TEST_NEXT.Touched());
gabrieltetar 22:c7763a7ec6c7 164 strat_etat_s = DEMO;
gabrieltetar 22:c7763a7ec6c7 165 } else if(TEST_DIV.Touched()) {
gabrieltetar 22:c7763a7ec6c7 166 while(TEST_DIV.Touched());
gabrieltetar 22:c7763a7ec6c7 167 strat_etat_s = TEST_DIVE;
gabrieltetar 22:c7763a7ec6c7 168 } else if(TEST_ASSERV.Touched()) {
gabrieltetar 22:c7763a7ec6c7 169 while(TEST_ASSERV.Touched());
gabrieltetar 22:c7763a7ec6c7 170 strat_etat_s = TEST_ASSERVE;
gabrieltetar 22:c7763a7ec6c7 171 } else if(RETOUR.Touched()) {
gabrieltetar 22:c7763a7ec6c7 172 while(RETOUR.Touched());
gabrieltetar 22:c7763a7ec6c7 173 strat_etat_s = CHOIX;
gabrieltetar 22:c7763a7ec6c7 174 }
gabrieltetar 22:c7763a7ec6c7 175 }
gabrieltetar 22:c7763a7ec6c7 176 break;
gabrieltetar 21:d137ec53c3a9 177
gabrieltetar 21:d137ec53c3a9 178 case TEST_VENTOUSE:
gabrieltetar 21:d137ec53c3a9 179 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 180 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 181 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 182 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 183 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Test Ventouse", LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 184 sprintf(toto,"%hd",maximilien);
gabrieltetar 21:d137ec53c3a9 185 lcd.DisplayStringAt(50, LINE(20), (unsigned char *)toto, LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 186 RETOUR.Draw(0xFFFF0000,0);
gabrieltetar 21:d137ec53c3a9 187 TEST_A.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 188 TEST_NUM.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 189 TEST_PLUS.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 190 TEST_MOINS.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 191 while(strat_etat_s==TEST_VENTOUSE) {
gabrieltetar 21:d137ec53c3a9 192 if(RETOUR.Touched()) {
gabrieltetar 21:d137ec53c3a9 193 while (RETOUR.Touched());
gabrieltetar 21:d137ec53c3a9 194 strat_etat_s=DEMO;
gabrieltetar 21:d137ec53c3a9 195 } else if(TEST_A.Touched()) {
gabrieltetar 21:d137ec53c3a9 196 while (TEST_A.Touched());
gabrieltetar 21:d137ec53c3a9 197 //SendRawId(TEST_VENT_A);
gabrieltetar 21:d137ec53c3a9 198 TEST_A.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 199 } else if(TEST_NUM.Touched()) {
gabrieltetar 21:d137ec53c3a9 200 while (TEST_NUM.Touched());
gabrieltetar 21:d137ec53c3a9 201 TEST_NUM.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 202 switch(maximilien){
gabrieltetar 21:d137ec53c3a9 203 case 1:
gabrieltetar 21:d137ec53c3a9 204 SendRawId(TEST_VENT_1_ON);
gabrieltetar 21:d137ec53c3a9 205 break;
gabrieltetar 21:d137ec53c3a9 206 case 2:
gabrieltetar 21:d137ec53c3a9 207 SendRawId(TEST_VENT_1_OFF);
gabrieltetar 21:d137ec53c3a9 208 break;
gabrieltetar 21:d137ec53c3a9 209 case 3:
gabrieltetar 21:d137ec53c3a9 210 //SendRawId(TEST_VENT_3);
gabrieltetar 21:d137ec53c3a9 211 break;
gabrieltetar 21:d137ec53c3a9 212 case 4:
gabrieltetar 21:d137ec53c3a9 213 //SendRawId(TEST_VENT_4);
gabrieltetar 21:d137ec53c3a9 214 break;
gabrieltetar 21:d137ec53c3a9 215 case 5:
gabrieltetar 21:d137ec53c3a9 216 //SendRawId(TEST_VENT_5);
gabrieltetar 21:d137ec53c3a9 217 break;
gabrieltetar 21:d137ec53c3a9 218 case 6:
gabrieltetar 21:d137ec53c3a9 219 //SendRawId(TEST_VENT_6);
gabrieltetar 21:d137ec53c3a9 220 break;
gabrieltetar 21:d137ec53c3a9 221 }
gabrieltetar 21:d137ec53c3a9 222 } else if(TEST_PLUS.Touched()) {
gabrieltetar 21:d137ec53c3a9 223 while (TEST_PLUS.Touched());
gabrieltetar 21:d137ec53c3a9 224 TEST_PLUS.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 225 if(maximilien!=6)maximilien++;
gabrieltetar 21:d137ec53c3a9 226 sprintf(toto,"%hd",maximilien);
gabrieltetar 21:d137ec53c3a9 227 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 228 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 229 lcd.DisplayStringAt(50, LINE(20), (unsigned char *)toto, LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 230 } else if(TEST_MOINS.Touched()) {
gabrieltetar 21:d137ec53c3a9 231 while (TEST_MOINS.Touched());
gabrieltetar 21:d137ec53c3a9 232 TEST_MOINS.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 233 if(maximilien!=1)maximilien--;
gabrieltetar 21:d137ec53c3a9 234 sprintf(toto,"%hd",maximilien);
gabrieltetar 21:d137ec53c3a9 235 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 236 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 237 lcd.DisplayStringAt(50, LINE(20), (unsigned char *)toto, LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 238 }
gabrieltetar 21:d137ec53c3a9 239 }
gabrieltetar 21:d137ec53c3a9 240 break;
gabrieltetar 21:d137ec53c3a9 241
gabrieltetar 22:c7763a7ec6c7 242 case TEST_DIVE:
gabrieltetar 21:d137ec53c3a9 243 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 244 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 245 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 246 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 247 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"A : Manches B : Pavillon", LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 248 RETOUR.Draw(0xFFFF0000,0);
gabrieltetar 21:d137ec53c3a9 249 TEST_A.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 250 TEST_B.Draw(BLEU, BLANC);
gabrieltetar 22:c7763a7ec6c7 251 while(strat_etat_s==TEST_DIVE) {
gabrieltetar 21:d137ec53c3a9 252 if(RETOUR.Touched()) {
gabrieltetar 21:d137ec53c3a9 253 while (RETOUR.Touched());
gabrieltetar 22:c7763a7ec6c7 254 strat_etat_s=DEMO2;
gabrieltetar 21:d137ec53c3a9 255 } else if(TEST_A.Touched()) {
gabrieltetar 21:d137ec53c3a9 256 while (TEST_A.Touched());
gabrieltetar 21:d137ec53c3a9 257 //SendRawId(TEST_ELECTROV_A);
gabrieltetar 21:d137ec53c3a9 258 TEST_A.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 259 } else if(TEST_B.Touched()) {
gabrieltetar 21:d137ec53c3a9 260 while (TEST_B.Touched());
gabrieltetar 21:d137ec53c3a9 261 //SendRawId(TEST_ELECTROV_A);
gabrieltetar 21:d137ec53c3a9 262 TEST_B.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 263 }
gabrieltetar 21:d137ec53c3a9 264 }
gabrieltetar 21:d137ec53c3a9 265 break;
gabrieltetar 22:c7763a7ec6c7 266 case TEST_ASSERVE:
gabrieltetar 22:c7763a7ec6c7 267 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 22:c7763a7ec6c7 268 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 22:c7763a7ec6c7 269 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 22:c7763a7ec6c7 270 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 22:c7763a7ec6c7 271 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Asservissements", LEFT_MODE);
gabrieltetar 22:c7763a7ec6c7 272 RETOUR.Draw(0xFFFF0000,0);
gabrieltetar 22:c7763a7ec6c7 273 TEST_A.Draw(BLEU, BLANC);
gabrieltetar 22:c7763a7ec6c7 274 TEST_B.Draw(BLEU, BLANC);
gabrieltetar 22:c7763a7ec6c7 275 while(strat_etat_s==TEST_ASSERVE) {
gabrieltetar 22:c7763a7ec6c7 276 if(RETOUR.Touched()) {
gabrieltetar 22:c7763a7ec6c7 277 while (RETOUR.Touched());
gabrieltetar 22:c7763a7ec6c7 278 strat_etat_s=DEMO2;
gabrieltetar 22:c7763a7ec6c7 279 } else if(TEST_A.Touched()) {
gabrieltetar 22:c7763a7ec6c7 280 while (TEST_A.Touched());
gabrieltetar 22:c7763a7ec6c7 281 //SendRawId(TEST_ELECTROV_A);
gabrieltetar 22:c7763a7ec6c7 282 TEST_A.Draw(BLEU, BLANC);
gabrieltetar 22:c7763a7ec6c7 283 } else if(TEST_B.Touched()) {
gabrieltetar 22:c7763a7ec6c7 284 while (TEST_B.Touched());
gabrieltetar 22:c7763a7ec6c7 285 //SendRawId(TEST_ELECTROV_A);
gabrieltetar 22:c7763a7ec6c7 286 TEST_B.Draw(BLEU, BLANC);
gabrieltetar 22:c7763a7ec6c7 287 }
gabrieltetar 22:c7763a7ec6c7 288 }
gabrieltetar 22:c7763a7ec6c7 289 break;
gabrieltetar 21:d137ec53c3a9 290 case TEST_AUD:
gabrieltetar 21:d137ec53c3a9 291
gabrieltetar 21:d137ec53c3a9 292 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 293 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 294 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 295 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 296 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Test Audio", LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 297 sprintf(toto,"%hd",maximilien);
gabrieltetar 21:d137ec53c3a9 298 lcd.DisplayStringAt(50, LINE(20), (unsigned char *)toto, LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 299 RETOUR.Draw(0xFFFF0000,0);
gabrieltetar 21:d137ec53c3a9 300 TEST_NUM.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 301 TEST_PLUS.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 302 TEST_MOINS.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 303 while(strat_etat_s==TEST_AUD) {
gabrieltetar 21:d137ec53c3a9 304 if(RETOUR.Touched()) {
gabrieltetar 21:d137ec53c3a9 305 while (RETOUR.Touched());
gabrieltetar 21:d137ec53c3a9 306 strat_etat_s=DEMO;
gabrieltetar 21:d137ec53c3a9 307 } else if(TEST_NUM.Touched()) {
gabrieltetar 21:d137ec53c3a9 308 while (TEST_NUM.Touched());
gabrieltetar 21:d137ec53c3a9 309 TEST_NUM.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 310 Debug_Audio(3,maximilien);
gabrieltetar 21:d137ec53c3a9 311 } else if(TEST_PLUS.Touched()) {
gabrieltetar 21:d137ec53c3a9 312 while (TEST_PLUS.Touched());
gabrieltetar 21:d137ec53c3a9 313 TEST_PLUS.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 314 if(maximilien!=20)maximilien++;
gabrieltetar 21:d137ec53c3a9 315 sprintf(toto,"%hd",maximilien);
gabrieltetar 21:d137ec53c3a9 316 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 317 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 318 lcd.DisplayStringAt(50, LINE(20), (unsigned char *)toto, LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 319 } else if(TEST_MOINS.Touched()) {
gabrieltetar 21:d137ec53c3a9 320 while (TEST_MOINS.Touched());
gabrieltetar 21:d137ec53c3a9 321 TEST_MOINS.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 322 if(maximilien!=1)maximilien--;
gabrieltetar 21:d137ec53c3a9 323 sprintf(toto,"%hd",maximilien);
gabrieltetar 21:d137ec53c3a9 324 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 325 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 326 lcd.DisplayStringAt(50, LINE(20), (unsigned char *)toto, LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 327 }
gabrieltetar 21:d137ec53c3a9 328 }
gabrieltetar 21:d137ec53c3a9 329 break;
gabrieltetar 21:d137ec53c3a9 330
gabrieltetar 21:d137ec53c3a9 331 case TEST_SERVO_BRAS:
gabrieltetar 21:d137ec53c3a9 332
gabrieltetar 21:d137ec53c3a9 333 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 334 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 335 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 336 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 337 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Test Bras", LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 338 sprintf(toto,"%hd",maximilien);
gabrieltetar 21:d137ec53c3a9 339 lcd.DisplayStringAt(50, LINE(20), (unsigned char *)toto, LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 340 RETOUR.Draw(0xFFFF0000,0);
gabrieltetar 21:d137ec53c3a9 341 TEST_A.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 342 TEST_B.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 343 TEST_C.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 344 TEST_D.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 345 TEST_NUM.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 346 TEST_PLUS.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 347 TEST_MOINS.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 348 while(strat_etat_s==TEST_SERVO_BRAS) {
gabrieltetar 21:d137ec53c3a9 349 if(RETOUR.Touched()) {
gabrieltetar 21:d137ec53c3a9 350 while (RETOUR.Touched());
gabrieltetar 21:d137ec53c3a9 351 strat_etat_s=DEMO;
gabrieltetar 21:d137ec53c3a9 352 } else if(TEST_A.Touched()) {
gabrieltetar 21:d137ec53c3a9 353 while (TEST_A.Touched());
gabrieltetar 21:d137ec53c3a9 354 SendRawId(TEST_BRAS_A);
gabrieltetar 21:d137ec53c3a9 355 TEST_A.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 356 } else if(TEST_B.Touched()) {
gabrieltetar 21:d137ec53c3a9 357 while (TEST_B.Touched());
gabrieltetar 21:d137ec53c3a9 358 SendRawId(TEST_BRAS_B);
gabrieltetar 21:d137ec53c3a9 359 TEST_B.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 360 } else if(TEST_C.Touched()) {
gabrieltetar 21:d137ec53c3a9 361 while (TEST_C.Touched());
gabrieltetar 21:d137ec53c3a9 362 SendRawId(TEST_BRAS_C);
gabrieltetar 21:d137ec53c3a9 363 TEST_C.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 364 } else if(TEST_D.Touched()) {
gabrieltetar 21:d137ec53c3a9 365 while (TEST_D.Touched());
gabrieltetar 21:d137ec53c3a9 366 SendRawId(TEST_BRAS_D);
gabrieltetar 21:d137ec53c3a9 367 TEST_D.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 368 } else if(TEST_NUM.Touched()) {
gabrieltetar 21:d137ec53c3a9 369 while (TEST_NUM.Touched());
gabrieltetar 21:d137ec53c3a9 370 TEST_NUM.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 371 switch(maximilien){
gabrieltetar 21:d137ec53c3a9 372 case 1:
gabrieltetar 21:d137ec53c3a9 373 SendRawId(TEST_BRAS_1);
gabrieltetar 21:d137ec53c3a9 374 break;
gabrieltetar 21:d137ec53c3a9 375 case 2:
gabrieltetar 21:d137ec53c3a9 376 SendRawId(TEST_BRAS_2);
gabrieltetar 21:d137ec53c3a9 377 break;
gabrieltetar 21:d137ec53c3a9 378 case 3:
gabrieltetar 21:d137ec53c3a9 379 SendRawId(TEST_BRAS_3);
gabrieltetar 21:d137ec53c3a9 380 break;
gabrieltetar 21:d137ec53c3a9 381 case 4:
gabrieltetar 21:d137ec53c3a9 382 SendRawId(TEST_BRAS_4);
gabrieltetar 21:d137ec53c3a9 383 break;
gabrieltetar 21:d137ec53c3a9 384 case 5:
gabrieltetar 21:d137ec53c3a9 385 SendRawId(TEST_BRAS_5);
gabrieltetar 21:d137ec53c3a9 386 break;
gabrieltetar 21:d137ec53c3a9 387 case 6:
gabrieltetar 21:d137ec53c3a9 388 SendRawId(TEST_BRAS_6);
gabrieltetar 21:d137ec53c3a9 389 break;
gabrieltetar 21:d137ec53c3a9 390 }
gabrieltetar 21:d137ec53c3a9 391 } else if(TEST_PLUS.Touched()) {
gabrieltetar 21:d137ec53c3a9 392 while (TEST_PLUS.Touched());
gabrieltetar 21:d137ec53c3a9 393 TEST_PLUS.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 394 if(maximilien!=6)maximilien++;
gabrieltetar 21:d137ec53c3a9 395 sprintf(toto,"%hd",maximilien);
gabrieltetar 21:d137ec53c3a9 396 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 397 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 398 lcd.DisplayStringAt(50, LINE(20), (unsigned char *)toto, LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 399 } else if(TEST_MOINS.Touched()) {
gabrieltetar 21:d137ec53c3a9 400 while (TEST_MOINS.Touched());
gabrieltetar 21:d137ec53c3a9 401 TEST_MOINS.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 402 if(maximilien!=1)maximilien--;
gabrieltetar 21:d137ec53c3a9 403 sprintf(toto,"%hd",maximilien);
gabrieltetar 21:d137ec53c3a9 404 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 405 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 406 lcd.DisplayStringAt(50, LINE(20), (unsigned char *)toto, LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 407 }
gabrieltetar 21:d137ec53c3a9 408 }
gabrieltetar 21:d137ec53c3a9 409 break;
gabrieltetar 21:d137ec53c3a9 410
gabrieltetar 21:d137ec53c3a9 411 case TEST_COULEUR:
gabrieltetar 21:d137ec53c3a9 412 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 413 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Test Couleur", LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 414 RETOUR.Draw(0xFFFF0000,0);
gabrieltetar 21:d137ec53c3a9 415 while(strat_etat_s==TEST_COULEUR) {
gabrieltetar 21:d137ec53c3a9 416 if(RETOUR.Touched()) {
gabrieltetar 21:d137ec53c3a9 417 while (RETOUR.Touched());
gabrieltetar 21:d137ec53c3a9 418 strat_etat_s=DEMO;
gabrieltetar 21:d137ec53c3a9 419 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 420 }
gabrieltetar 21:d137ec53c3a9 421 }
gabrieltetar 21:d137ec53c3a9 422 break;
gabrieltetar 21:d137ec53c3a9 423
gabrieltetar 21:d137ec53c3a9 424 case TEST_MOTEUR:
gabrieltetar 21:d137ec53c3a9 425 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 426 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 427 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 428 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 429 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Test Moteur", LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 430 RETOUR.Draw(0xFFFF0000,0);
gabrieltetar 21:d137ec53c3a9 431 TEST_A.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 432 TEST_B.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 433 while(strat_etat_s==TEST_MOTEUR) {
gabrieltetar 21:d137ec53c3a9 434 if(RETOUR.Touched()) {
gabrieltetar 21:d137ec53c3a9 435 while (RETOUR.Touched());
gabrieltetar 21:d137ec53c3a9 436 strat_etat_s=DEMO;
gabrieltetar 21:d137ec53c3a9 437 } else if(TEST_A.Touched()) {
gabrieltetar 21:d137ec53c3a9 438 while (TEST_A.Touched());
gabrieltetar 21:d137ec53c3a9 439 BendRadius(150,1800,1,0);
gabrieltetar 21:d137ec53c3a9 440 TEST_A.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 441 } else if(TEST_B.Touched()) {
gabrieltetar 21:d137ec53c3a9 442 while (TEST_B.Touched());
gabrieltetar 21:d137ec53c3a9 443 BendRadius(150,1800,0,0);
gabrieltetar 21:d137ec53c3a9 444 TEST_B.Draw(BLEU, BLANC);
gabrieltetar 21:d137ec53c3a9 445 }
gabrieltetar 21:d137ec53c3a9 446 }
gabrieltetar 21:d137ec53c3a9 447 break; ///////////////////////////////////////////FIN DES DEMOS/////////////////////////////////////////////////
gabrieltetar 21:d137ec53c3a9 448
gabrieltetar 21:d137ec53c3a9 449
gabrieltetar 21:d137ec53c3a9 450 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 451 lcd.Clear(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 452 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 453 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 454
gabrieltetar 21:d137ec53c3a9 455 lcd.DisplayStringAt(70, LINE(0), (uint8_t *)"Choisir le cote", LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 456 COTE_JAUNE.Draw(JAUNE, 0);
gabrieltetar 21:d137ec53c3a9 457 COTE_VIOLET.Draw(VIOLET, 0);
gabrieltetar 21:d137ec53c3a9 458 RETOUR.Draw(LCD_COLOR_RED, 0);
gabrieltetar 21:d137ec53c3a9 459
gabrieltetar 21:d137ec53c3a9 460
gabrieltetar 21:d137ec53c3a9 461 while (strat_etat_s == SELECT_SIDE) {
gabrieltetar 21:d137ec53c3a9 462 canProcessRx();
gabrieltetar 21:d137ec53c3a9 463 if(COTE_JAUNE.Touched()) {
gabrieltetar 22:c7763a7ec6c7 464
gabrieltetar 21:d137ec53c3a9 465 Cote = 0x0;
gabrieltetar 21:d137ec53c3a9 466 InversStrat = Cote;
gabrieltetar 21:d137ec53c3a9 467 strat_etat_s = TACTIQUE;
gabrieltetar 21:d137ec53c3a9 468 CANMessage trame_Tx = CANMessage();
gabrieltetar 21:d137ec53c3a9 469 trame_Tx.len = 1;
gabrieltetar 21:d137ec53c3a9 470 trame_Tx.format = CANStandard;
gabrieltetar 21:d137ec53c3a9 471 trame_Tx.type = CANData;
gabrieltetar 21:d137ec53c3a9 472 trame_Tx.id=CHOICE_COLOR;
gabrieltetar 21:d137ec53c3a9 473 trame_Tx.data[0]=Cote;
gabrieltetar 21:d137ec53c3a9 474 can2.write(trame_Tx);
gabrieltetar 21:d137ec53c3a9 475 while(COTE_JAUNE.Touched());
gabrieltetar 21:d137ec53c3a9 476
gabrieltetar 21:d137ec53c3a9 477 }
gabrieltetar 21:d137ec53c3a9 478
gabrieltetar 21:d137ec53c3a9 479 if(COTE_VIOLET.Touched()) {
gabrieltetar 21:d137ec53c3a9 480 Cote = 0x1;
gabrieltetar 21:d137ec53c3a9 481 InversStrat= Cote;
gabrieltetar 21:d137ec53c3a9 482 strat_etat_s = TACTIQUE;
gabrieltetar 21:d137ec53c3a9 483 CANMessage trame_Tx = CANMessage();
gabrieltetar 21:d137ec53c3a9 484 trame_Tx.len = 1;
gabrieltetar 21:d137ec53c3a9 485 trame_Tx.format = CANStandard;
gabrieltetar 21:d137ec53c3a9 486 trame_Tx.type = CANData;
gabrieltetar 21:d137ec53c3a9 487 trame_Tx.id=CHOICE_COLOR;
gabrieltetar 21:d137ec53c3a9 488 trame_Tx.data[0]=Cote;
gabrieltetar 21:d137ec53c3a9 489 can2.write(trame_Tx);
gabrieltetar 21:d137ec53c3a9 490 while(COTE_VIOLET.Touched());
gabrieltetar 21:d137ec53c3a9 491 }
gabrieltetar 21:d137ec53c3a9 492
gabrieltetar 21:d137ec53c3a9 493 if(RETOUR.Touched()) {
gabrieltetar 21:d137ec53c3a9 494 strat_etat_s = CHOIX;
gabrieltetar 21:d137ec53c3a9 495 while(RETOUR.Touched());
gabrieltetar 21:d137ec53c3a9 496 }
gabrieltetar 21:d137ec53c3a9 497 }
gabrieltetar 21:d137ec53c3a9 498
gabrieltetar 21:d137ec53c3a9 499 break;
gabrieltetar 21:d137ec53c3a9 500
gabrieltetar 21:d137ec53c3a9 501 case TACTIQUE : //AFFICHE LA LISTE DES STRATS AFIN DE SELECTIONNER CELLE VOULUE
gabrieltetar 21:d137ec53c3a9 502 if (Cote == 0) {
gabrieltetar 21:d137ec53c3a9 503 lcd.Clear(JAUNE);
gabrieltetar 21:d137ec53c3a9 504 lcd.SetBackColor(JAUNE);
gabrieltetar 21:d137ec53c3a9 505 } else if (Cote == 1) {
gabrieltetar 21:d137ec53c3a9 506 lcd.Clear(VIOLET);
gabrieltetar 21:d137ec53c3a9 507 lcd.SetBackColor(VIOLET);
gabrieltetar 21:d137ec53c3a9 508 } else {
gabrieltetar 21:d137ec53c3a9 509 lcd.Clear(BLEU);
gabrieltetar 21:d137ec53c3a9 510 lcd.SetBackColor(BLEU);
gabrieltetar 21:d137ec53c3a9 511 }
gabrieltetar 21:d137ec53c3a9 512
gabrieltetar 21:d137ec53c3a9 513 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 514
gabrieltetar 21:d137ec53c3a9 515 lcd.DisplayStringAt(20, LINE(0), (uint8_t *)"Choisir une strategie", LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 516
gabrieltetar 21:d137ec53c3a9 517 nbStrat = Bouton_Strat(); // retourne valeur de Strategie si bouton strat renvoi -1 on reviens en arriere
gabrieltetar 21:d137ec53c3a9 518 if (nbStrat == -1) {
gabrieltetar 21:d137ec53c3a9 519 strat_etat_s = SELECT_SIDE;
gabrieltetar 21:d137ec53c3a9 520 } else {
gabrieltetar 21:d137ec53c3a9 521 strat_etat_s = DETAILS;
gabrieltetar 21:d137ec53c3a9 522 }
gabrieltetar 21:d137ec53c3a9 523 wait(0.1);
gabrieltetar 21:d137ec53c3a9 524 break;
gabrieltetar 21:d137ec53c3a9 525
gabrieltetar 21:d137ec53c3a9 526 case DETAILS : //SECONDE VALIDATION DE LA STRAT
gabrieltetar 21:d137ec53c3a9 527 lcd.Clear(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 528 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 529 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 530 CHECK.Draw(VERT);
gabrieltetar 21:d137ec53c3a9 531 RETOUR.Draw(LCD_COLOR_RED);
gabrieltetar 21:d137ec53c3a9 532
gabrieltetar 21:d137ec53c3a9 533 SelectionStrat(nbStrat); //affiche la stratégie selectionnée
gabrieltetar 21:d137ec53c3a9 534
gabrieltetar 21:d137ec53c3a9 535 while (strat_etat_s == DETAILS) {
gabrieltetar 21:d137ec53c3a9 536 canProcessRx();
gabrieltetar 21:d137ec53c3a9 537 if (CHECK.Touched()) {
gabrieltetar 21:d137ec53c3a9 538 if(gameEtat == ETAT_CONFIG) {
gabrieltetar 21:d137ec53c3a9 539 gameEtat = ETAT_GAME_INIT;
gabrieltetar 21:d137ec53c3a9 540 strat_etat_s=LECTURE;
gabrieltetar 21:d137ec53c3a9 541
gabrieltetar 21:d137ec53c3a9 542 }
gabrieltetar 21:d137ec53c3a9 543 while(CHECK.Touched());
gabrieltetar 21:d137ec53c3a9 544 }
gabrieltetar 21:d137ec53c3a9 545
gabrieltetar 21:d137ec53c3a9 546 if(RETOUR.Touched()) {
gabrieltetar 21:d137ec53c3a9 547 strat_etat_s = TACTIQUE;
gabrieltetar 21:d137ec53c3a9 548 while(RETOUR.Touched());
gabrieltetar 21:d137ec53c3a9 549 }
gabrieltetar 21:d137ec53c3a9 550 }
gabrieltetar 21:d137ec53c3a9 551 break;
gabrieltetar 21:d137ec53c3a9 552
gabrieltetar 21:d137ec53c3a9 553
gabrieltetar 21:d137ec53c3a9 554 case LECTURE :
gabrieltetar 21:d137ec53c3a9 555 break;
gabrieltetar 21:d137ec53c3a9 556 case AFF_WAIT_JACK : //FONCTIONS D'AFFICHAGE DE L'ATTENTE DU JACK
gabrieltetar 21:d137ec53c3a9 557 lcd.Clear(BLANC);
gabrieltetar 21:d137ec53c3a9 558 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 559 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 560
gabrieltetar 21:d137ec53c3a9 561 if (Cote == 0) {
gabrieltetar 21:d137ec53c3a9 562 lcd.Clear(VERT);
gabrieltetar 21:d137ec53c3a9 563 lcd.SetBackColor(VERT);
gabrieltetar 21:d137ec53c3a9 564 } else if (Cote == 1) {
gabrieltetar 21:d137ec53c3a9 565 lcd.Clear(ORANGE);
gabrieltetar 21:d137ec53c3a9 566 lcd.SetBackColor(ORANGE);
gabrieltetar 21:d137ec53c3a9 567 } else {
gabrieltetar 21:d137ec53c3a9 568 lcd.Clear(VERT);
gabrieltetar 21:d137ec53c3a9 569 lcd.SetBackColor(VERT);
gabrieltetar 21:d137ec53c3a9 570 }
gabrieltetar 21:d137ec53c3a9 571 canProcessRx();
gabrieltetar 21:d137ec53c3a9 572 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"En attente du Jack", CENTER_MODE);
gabrieltetar 21:d137ec53c3a9 573 strat_etat_s=WAIT_JACK;
gabrieltetar 21:d137ec53c3a9 574 break;
gabrieltetar 21:d137ec53c3a9 575
gabrieltetar 21:d137ec53c3a9 576 case WAIT_JACK: //VERITABLE ATTENTE DU JACK
gabrieltetar 21:d137ec53c3a9 577 break;
gabrieltetar 21:d137ec53c3a9 578
gabrieltetar 21:d137ec53c3a9 579 case FIN : //AFFICHAGE DE FIN AVEC LE SCORE FINAL
gabrieltetar 21:d137ec53c3a9 580 lcd.Clear (LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 581 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 582
gabrieltetar 21:d137ec53c3a9 583
gabrieltetar 21:d137ec53c3a9 584 while(1); // force le redemarage du robot
gabrieltetar 21:d137ec53c3a9 585 //break;
gabrieltetar 21:d137ec53c3a9 586
gabrieltetar 21:d137ec53c3a9 587 }
gabrieltetar 21:d137ec53c3a9 588 }
gabrieltetar 21:d137ec53c3a9 589 /****************************************************************************************/
gabrieltetar 21:d137ec53c3a9 590 /* FUNCTION NAME: Bouton_Strat */
gabrieltetar 21:d137ec53c3a9 591 /* DESCRIPTION : Sélection de la strat sur le lcd puis envoie sur CAN (à modifier!) */
gabrieltetar 21:d137ec53c3a9 592 /****************************************************************************************/
gabrieltetar 21:d137ec53c3a9 593 signed char Bouton_Strat (void)
gabrieltetar 21:d137ec53c3a9 594 {
gabrieltetar 21:d137ec53c3a9 595 char Ack_strat = 0;
gabrieltetar 21:d137ec53c3a9 596 signed char Strat = 0;
gabrieltetar 21:d137ec53c3a9 597 Button STRAT_1 (0, 30, 190, 110, strat_sd[0]);
gabrieltetar 21:d137ec53c3a9 598 Button STRAT_2 (210, 30, 190, 110, strat_sd[1]);
gabrieltetar 21:d137ec53c3a9 599 Button STRAT_3 (0, 150, 190, 110, strat_sd[2]);
gabrieltetar 21:d137ec53c3a9 600 Button STRAT_4 (210, 150, 190, 110, strat_sd[3]);
gabrieltetar 21:d137ec53c3a9 601 Button STRAT_5 (0, 270, 190, 110,strat_sd[4]);
gabrieltetar 21:d137ec53c3a9 602 Button STRAT_6 (210, 270, 190, 110, strat_sd[5]);
gabrieltetar 21:d137ec53c3a9 603 Button STRAT_7 (0, 390, 190, 110, strat_sd[6]);
gabrieltetar 21:d137ec53c3a9 604 Button STRAT_8 (210, 390, 190, 110, strat_sd[7]);
gabrieltetar 21:d137ec53c3a9 605 Button STRAT_9 (0, 510, 190, 110, strat_sd[8]);
gabrieltetar 21:d137ec53c3a9 606 Button STRAT_10 (210, 510, 190, 110, strat_sd[9]);
gabrieltetar 21:d137ec53c3a9 607 Button RETOUR (0, 680, 400, 110, "--Precedent--");
gabrieltetar 21:d137ec53c3a9 608 //Definition des boutons
gabrieltetar 21:d137ec53c3a9 609
gabrieltetar 21:d137ec53c3a9 610 Ack_strat = 0;
gabrieltetar 21:d137ec53c3a9 611 Strat = 0;
gabrieltetar 21:d137ec53c3a9 612 STRAT_1.Draw(0xFFF0F0F0, 0);
gabrieltetar 21:d137ec53c3a9 613 STRAT_2.Draw(0xFFF0F0F0, 0);
gabrieltetar 21:d137ec53c3a9 614 STRAT_3.Draw(0xFFF0F0F0, 0);
gabrieltetar 21:d137ec53c3a9 615 STRAT_4.Draw(0xFFF0F0F0, 0);
gabrieltetar 21:d137ec53c3a9 616 STRAT_5.Draw(0xFFF0F0F0, 0);
gabrieltetar 21:d137ec53c3a9 617 STRAT_6.Draw(0xFFF0F0F0, 0);
gabrieltetar 21:d137ec53c3a9 618 STRAT_7.Draw(0xFFF0F0F0, 0);
gabrieltetar 21:d137ec53c3a9 619 STRAT_8.Draw(0xFFF0F0F0, 0);
gabrieltetar 21:d137ec53c3a9 620 STRAT_9.Draw(0xFFF0F0F0, 0);
gabrieltetar 21:d137ec53c3a9 621 STRAT_10.Draw(0xFFF0F0F0, 0);
gabrieltetar 21:d137ec53c3a9 622 RETOUR.Draw(0xFFFF0000, 0);
gabrieltetar 21:d137ec53c3a9 623
gabrieltetar 21:d137ec53c3a9 624 while(Ack_strat == 0) {
gabrieltetar 21:d137ec53c3a9 625 canProcessRx();
gabrieltetar 21:d137ec53c3a9 626 CANMessage msgTx=CANMessage();
gabrieltetar 21:d137ec53c3a9 627 //msgTx.id=ECRAN_CHOICE_STRAT;
gabrieltetar 21:d137ec53c3a9 628 if (RETOUR.Touched())
gabrieltetar 21:d137ec53c3a9 629 return -1;
gabrieltetar 21:d137ec53c3a9 630 while(RETOUR.Touched());
gabrieltetar 21:d137ec53c3a9 631 //////////////////////////////STRATEGIE N°1
gabrieltetar 21:d137ec53c3a9 632 if (STRAT_1.Touched()) {
gabrieltetar 21:d137ec53c3a9 633 Strat = 0;
gabrieltetar 21:d137ec53c3a9 634 //msgTx.data[0] = 0x1;
gabrieltetar 21:d137ec53c3a9 635 //can2.write(msgTx);
gabrieltetar 21:d137ec53c3a9 636 while(STRAT_1.Touched());
gabrieltetar 21:d137ec53c3a9 637 Ack_strat =1;
gabrieltetar 21:d137ec53c3a9 638 }
gabrieltetar 21:d137ec53c3a9 639 /////////////////////////////STRATEGIE N°2
gabrieltetar 21:d137ec53c3a9 640 if (STRAT_2.Touched()) {
gabrieltetar 21:d137ec53c3a9 641 Strat = 1;
gabrieltetar 21:d137ec53c3a9 642 //msgTx.data[0] = 0x2;
gabrieltetar 21:d137ec53c3a9 643 //can2.write(msgTx);
gabrieltetar 21:d137ec53c3a9 644 while(STRAT_2.Touched());
gabrieltetar 21:d137ec53c3a9 645 Ack_strat =1;
gabrieltetar 21:d137ec53c3a9 646 }
gabrieltetar 21:d137ec53c3a9 647 //////////////////////////////STRATEGIE N°3
gabrieltetar 21:d137ec53c3a9 648 if (STRAT_3.Touched()) {
gabrieltetar 21:d137ec53c3a9 649 Strat = 2;
gabrieltetar 21:d137ec53c3a9 650 //msgTx.data[0] = 0x3;
gabrieltetar 21:d137ec53c3a9 651 //can2.write(msgTx);
gabrieltetar 21:d137ec53c3a9 652 while(STRAT_3.Touched());
gabrieltetar 21:d137ec53c3a9 653 Ack_strat =1;
gabrieltetar 21:d137ec53c3a9 654 }
gabrieltetar 21:d137ec53c3a9 655 /////////////////////////////STRATEGIE N°4
gabrieltetar 21:d137ec53c3a9 656 if (STRAT_4.Touched()) {
gabrieltetar 21:d137ec53c3a9 657 Strat = 3;
gabrieltetar 21:d137ec53c3a9 658 //msgTx.data[0] = 0x4;
gabrieltetar 21:d137ec53c3a9 659 //can2.write(msgTx);
gabrieltetar 21:d137ec53c3a9 660 while(STRAT_4.Touched());
gabrieltetar 21:d137ec53c3a9 661 Ack_strat =1;
gabrieltetar 21:d137ec53c3a9 662 }
gabrieltetar 21:d137ec53c3a9 663 ///////////////////////////////STRATEGIE N°5
gabrieltetar 21:d137ec53c3a9 664 if (STRAT_5.Touched()) {
gabrieltetar 21:d137ec53c3a9 665 Strat = 4;
gabrieltetar 21:d137ec53c3a9 666 //msgTx.data[0] = 0x5;
gabrieltetar 21:d137ec53c3a9 667 //can2.write(msgTx);
gabrieltetar 21:d137ec53c3a9 668 while(STRAT_5.Touched());
gabrieltetar 21:d137ec53c3a9 669 Ack_strat =1;
gabrieltetar 21:d137ec53c3a9 670 }
gabrieltetar 21:d137ec53c3a9 671 ////////////////////////////////STRATEGIE N°6
gabrieltetar 21:d137ec53c3a9 672 if (STRAT_6.Touched()) {
gabrieltetar 21:d137ec53c3a9 673 Strat = 5;
gabrieltetar 21:d137ec53c3a9 674 //msgTx.data[0] = 0x6;
gabrieltetar 21:d137ec53c3a9 675 //can2.write(msgTx);
gabrieltetar 21:d137ec53c3a9 676 while(STRAT_6.Touched());
gabrieltetar 21:d137ec53c3a9 677 Ack_strat =1;
gabrieltetar 21:d137ec53c3a9 678 }
gabrieltetar 21:d137ec53c3a9 679 /////////////////////////////////STRATEGIE N°7
gabrieltetar 21:d137ec53c3a9 680 if (STRAT_7.Touched()) {
gabrieltetar 21:d137ec53c3a9 681 Strat = 6;
gabrieltetar 21:d137ec53c3a9 682 //msgTx.data[0] = 0x7;
gabrieltetar 21:d137ec53c3a9 683 //can2.write(msgTx);
gabrieltetar 21:d137ec53c3a9 684 while(STRAT_7.Touched());
gabrieltetar 21:d137ec53c3a9 685 Ack_strat =1;
gabrieltetar 21:d137ec53c3a9 686 }
gabrieltetar 21:d137ec53c3a9 687 /////////////////////////////////STRATEGIE N°8
gabrieltetar 21:d137ec53c3a9 688 if (STRAT_8.Touched()) {
gabrieltetar 21:d137ec53c3a9 689 Strat = 7;
gabrieltetar 21:d137ec53c3a9 690 //msgTx.data[0] = 0x8;
gabrieltetar 21:d137ec53c3a9 691 //can2.write(msgTx);
gabrieltetar 21:d137ec53c3a9 692 while(STRAT_8.Touched());
gabrieltetar 21:d137ec53c3a9 693 Ack_strat =1;
gabrieltetar 21:d137ec53c3a9 694 }
gabrieltetar 21:d137ec53c3a9 695 /////////////////////////////////STRATEGIE N°9
gabrieltetar 21:d137ec53c3a9 696 if (STRAT_9.Touched()) {
gabrieltetar 21:d137ec53c3a9 697 Strat = 8;
gabrieltetar 21:d137ec53c3a9 698 //msgTx.data[0] = 0x9;
gabrieltetar 21:d137ec53c3a9 699 //can2.write(msgTx);
gabrieltetar 21:d137ec53c3a9 700 while(STRAT_9.Touched());
gabrieltetar 21:d137ec53c3a9 701 Ack_strat =1;
gabrieltetar 21:d137ec53c3a9 702 }
gabrieltetar 21:d137ec53c3a9 703 ///////////////////////////////////STRATEGIE N°10
gabrieltetar 21:d137ec53c3a9 704 if (STRAT_10.Touched()) {
gabrieltetar 21:d137ec53c3a9 705 Strat = 9;
gabrieltetar 21:d137ec53c3a9 706 //msgTx.data[0] = 0xA;
gabrieltetar 21:d137ec53c3a9 707 //can2.write(msgTx);
gabrieltetar 21:d137ec53c3a9 708 while(STRAT_10.Touched());
gabrieltetar 21:d137ec53c3a9 709 Ack_strat =1;
gabrieltetar 21:d137ec53c3a9 710 }
gabrieltetar 21:d137ec53c3a9 711
gabrieltetar 21:d137ec53c3a9 712 }
gabrieltetar 21:d137ec53c3a9 713 return Strat;
gabrieltetar 21:d137ec53c3a9 714
gabrieltetar 21:d137ec53c3a9 715 }
gabrieltetar 21:d137ec53c3a9 716 /****************************************************************************************/
gabrieltetar 21:d137ec53c3a9 717 /* FUNCTION NAME: SelectionStrat */
gabrieltetar 21:d137ec53c3a9 718 /* DESCRIPTION : Affiche la Stratégie sélectionnée sur l'ihm */
gabrieltetar 21:d137ec53c3a9 719 /****************************************************************************************/
gabrieltetar 21:d137ec53c3a9 720
gabrieltetar 21:d137ec53c3a9 721
gabrieltetar 21:d137ec53c3a9 722 void SelectionStrat (unsigned char Strategie)
gabrieltetar 21:d137ec53c3a9 723 {
gabrieltetar 21:d137ec53c3a9 724 lcd.SetBackColor(LCD_COLOR_WHITE);
gabrieltetar 21:d137ec53c3a9 725 lcd.SetTextColor(LCD_COLOR_BLACK);
gabrieltetar 21:d137ec53c3a9 726
gabrieltetar 21:d137ec53c3a9 727 switch (Strategie+1) {
gabrieltetar 21:d137ec53c3a9 728 case 0x1 :
gabrieltetar 21:d137ec53c3a9 729 //description de Strategie n°1
gabrieltetar 21:d137ec53c3a9 730 lcd.DisplayStringAt(150, 0, (uint8_t *)strat_sd[Strategie], LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 731 break;
gabrieltetar 21:d137ec53c3a9 732
gabrieltetar 21:d137ec53c3a9 733 case 0x2 :
gabrieltetar 21:d137ec53c3a9 734 //description de Strategie n°2
gabrieltetar 21:d137ec53c3a9 735 lcd.DisplayStringAt(150,0, (uint8_t *)strat_sd[Strategie], LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 736 break;
gabrieltetar 21:d137ec53c3a9 737
gabrieltetar 21:d137ec53c3a9 738 case 0x3 :
gabrieltetar 21:d137ec53c3a9 739 //description de Strategie n°3
gabrieltetar 21:d137ec53c3a9 740 lcd.DisplayStringAt(150,0, (uint8_t *)strat_sd[Strategie], LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 741 break;
gabrieltetar 21:d137ec53c3a9 742
gabrieltetar 21:d137ec53c3a9 743 case 0x4 :
gabrieltetar 21:d137ec53c3a9 744 //description de Strategie n°4
gabrieltetar 21:d137ec53c3a9 745 lcd.DisplayStringAt(150,0, (uint8_t *)strat_sd[Strategie], LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 746 break;
gabrieltetar 21:d137ec53c3a9 747
gabrieltetar 21:d137ec53c3a9 748 case 0x5 :
gabrieltetar 21:d137ec53c3a9 749 //description de Strategie n°5
gabrieltetar 21:d137ec53c3a9 750 lcd.DisplayStringAt(150,0, (uint8_t *)strat_sd[Strategie], LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 751 break;
gabrieltetar 21:d137ec53c3a9 752
gabrieltetar 21:d137ec53c3a9 753 case 0x6 :
gabrieltetar 21:d137ec53c3a9 754 //description de Strategie n°5
gabrieltetar 21:d137ec53c3a9 755 lcd.DisplayStringAt(150,0, (uint8_t *)strat_sd[Strategie], LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 756 break;
gabrieltetar 21:d137ec53c3a9 757
gabrieltetar 21:d137ec53c3a9 758 case 0x7 :
gabrieltetar 21:d137ec53c3a9 759 //description de Strategie n°5
gabrieltetar 21:d137ec53c3a9 760 lcd.DisplayStringAt(150,0, (uint8_t *)strat_sd[Strategie], LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 761 break;
gabrieltetar 21:d137ec53c3a9 762
gabrieltetar 21:d137ec53c3a9 763 case 0x8 :
gabrieltetar 21:d137ec53c3a9 764 //description de Strategie n°5
gabrieltetar 21:d137ec53c3a9 765 lcd.DisplayStringAt(150,0, (uint8_t *)strat_sd[Strategie], LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 766 break;
gabrieltetar 21:d137ec53c3a9 767
gabrieltetar 21:d137ec53c3a9 768 case 0x9 :
gabrieltetar 21:d137ec53c3a9 769 //description de Strategie n°5
gabrieltetar 21:d137ec53c3a9 770 lcd.DisplayStringAt(150,0, (uint8_t *)strat_sd[Strategie], LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 771 break;
gabrieltetar 21:d137ec53c3a9 772
gabrieltetar 21:d137ec53c3a9 773 case 0xA :
gabrieltetar 21:d137ec53c3a9 774 //description de Strategie n°5
gabrieltetar 21:d137ec53c3a9 775 lcd.DisplayStringAt(150,0, (uint8_t *)strat_sd[Strategie], LEFT_MODE);
gabrieltetar 21:d137ec53c3a9 776 break;
gabrieltetar 21:d137ec53c3a9 777 }
gabrieltetar 22:c7763a7ec6c7 778 }
gabrieltetar 22:c7763a7ec6c7 779 void demarrage(unsigned char num){
gabrieltetar 22:c7763a7ec6c7 780 switch(num){
gabrieltetar 22:c7763a7ec6c7 781 case 0:
gabrieltetar 22:c7763a7ec6c7 782 lcd.SetBackColor(DIY_GREY);
gabrieltetar 22:c7763a7ec6c7 783 lcd.SetTextColor(NOIR);
gabrieltetar 22:c7763a7ec6c7 784 lcd.Clear (DIY_GREY);
gabrieltetar 22:c7763a7ec6c7 785 DrawC(95,150,0,50,0);
gabrieltetar 22:c7763a7ec6c7 786 DrawR(95,150,105,50,0);
gabrieltetar 22:c7763a7ec6c7 787 DrawA(95,150,210,50,0);
gabrieltetar 22:c7763a7ec6c7 788 DrawC(95,150,315,50,0);
gabrieltetar 22:c7763a7ec6c7 789 DrawCheck(30,30,50,243,0);
gabrieltetar 22:c7763a7ec6c7 790 DrawCheck(30,30,50,293,0);
gabrieltetar 22:c7763a7ec6c7 791 DrawCheck(30,30,50,343,0);
gabrieltetar 22:c7763a7ec6c7 792 DrawCheck(30,30,50,393,0);
gabrieltetar 22:c7763a7ec6c7 793 lcd.DisplayStringAt(100, 250, (uint8_t *)"Init CAN", LEFT_MODE);
gabrieltetar 22:c7763a7ec6c7 794 lcd.DisplayStringAt(100, 300, (uint8_t *)"Micro SD", LEFT_MODE);
gabrieltetar 22:c7763a7ec6c7 795 lcd.DisplayStringAt(100, 350, (uint8_t *)"Carte Moteur", LEFT_MODE);
gabrieltetar 22:c7763a7ec6c7 796 lcd.DisplayStringAt(100, 400, (uint8_t *)"Balise IR", LEFT_MODE);
gabrieltetar 22:c7763a7ec6c7 797 break;
gabrieltetar 22:c7763a7ec6c7 798 case 1://can
gabrieltetar 22:c7763a7ec6c7 799 DrawCheck(30,30,50,250,1);
gabrieltetar 22:c7763a7ec6c7 800 break;
gabrieltetar 22:c7763a7ec6c7 801 case 2://SD
gabrieltetar 22:c7763a7ec6c7 802 DrawCheck(30,30,50,300,1);
gabrieltetar 22:c7763a7ec6c7 803 flag_sd=1;
gabrieltetar 22:c7763a7ec6c7 804 break;
gabrieltetar 22:c7763a7ec6c7 805 case 3://moteur
gabrieltetar 22:c7763a7ec6c7 806 DrawCheck(30,30,50,350,1);
gabrieltetar 22:c7763a7ec6c7 807 break;
gabrieltetar 22:c7763a7ec6c7 808 case 4://balise
gabrieltetar 22:c7763a7ec6c7 809 DrawCheck(30,30,50,400,1);
gabrieltetar 22:c7763a7ec6c7 810 break;
gabrieltetar 22:c7763a7ec6c7 811 default:
gabrieltetar 22:c7763a7ec6c7 812 break;
gabrieltetar 22:c7763a7ec6c7 813 }
gabrieltetar 22:c7763a7ec6c7 814 }
gabrieltetar 22:c7763a7ec6c7 815 void DrawC (int l,int h,int x, int y, unsigned char fill){
gabrieltetar 22:c7763a7ec6c7 816 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 22:c7763a7ec6c7 817 for(int a=0;a<8;a++){
gabrieltetar 22:c7763a7ec6c7 818 c[a].X+=x;
gabrieltetar 22:c7763a7ec6c7 819 c[a].Y+=y;
gabrieltetar 22:c7763a7ec6c7 820 }
gabrieltetar 22:c7763a7ec6c7 821 lcd.DrawPolygon(c, 8);
gabrieltetar 22:c7763a7ec6c7 822
gabrieltetar 22:c7763a7ec6c7 823 }
gabrieltetar 22:c7763a7ec6c7 824 void DrawR (int l,int h,int x, int y, unsigned char fill){
gabrieltetar 22:c7763a7ec6c7 825 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 22:c7763a7ec6c7 826 for(int a=0;a<10;a++){
gabrieltetar 22:c7763a7ec6c7 827 r[a].X+=x;
gabrieltetar 22:c7763a7ec6c7 828 r[a].Y+=y;
gabrieltetar 22:c7763a7ec6c7 829 }
gabrieltetar 22:c7763a7ec6c7 830 lcd.DrawPolygon(r, 10);
gabrieltetar 22:c7763a7ec6c7 831 }
gabrieltetar 22:c7763a7ec6c7 832 void DrawA (int l,int h,int x, int y, unsigned char fill){
gabrieltetar 22:c7763a7ec6c7 833 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 22:c7763a7ec6c7 834 for(int z=0;z<8;z++){
gabrieltetar 22:c7763a7ec6c7 835 a[z].X+=x;
gabrieltetar 22:c7763a7ec6c7 836 a[z].Y+=y;
gabrieltetar 22:c7763a7ec6c7 837 }
gabrieltetar 22:c7763a7ec6c7 838 lcd.DrawPolygon(a, 8);
gabrieltetar 22:c7763a7ec6c7 839 }
gabrieltetar 22:c7763a7ec6c7 840 void DrawCheck (int l,int h,int x, int y, int cochage){
gabrieltetar 22:c7763a7ec6c7 841 if(x<3)x=3;
gabrieltetar 22:c7763a7ec6c7 842 if(cochage == 1){
gabrieltetar 22:c7763a7ec6c7 843 lcd.SetTextColor(VERT_F);
gabrieltetar 22:c7763a7ec6c7 844 lcd.DrawLine(x,y-(h/2),x+l/2,y+h/2);
gabrieltetar 22:c7763a7ec6c7 845 lcd.DrawLine(x-1,y-(h/2),x+l/2,y+h/2+1);
gabrieltetar 22:c7763a7ec6c7 846 lcd.DrawLine(x-2,y-(h/2),x+l/2,y+h/2+2);
gabrieltetar 22:c7763a7ec6c7 847 lcd.DrawLine(x+l/2,y+h/2,x+(4*(l/3)),y);
gabrieltetar 22:c7763a7ec6c7 848 lcd.DrawLine(x+l/2,y+h/2+1,x+(4*(l/3))+1,y);
gabrieltetar 22:c7763a7ec6c7 849 lcd.DrawLine(x+l/2,y+h/2+2,x+(4*(l/3))+2,y);
gabrieltetar 22:c7763a7ec6c7 850 lcd.SetTextColor(NOIR);
gabrieltetar 22:c7763a7ec6c7 851 } else {
gabrieltetar 22:c7763a7ec6c7 852 Point a[4]={{0,0},{l,0},{l,h},{0,h}};
gabrieltetar 22:c7763a7ec6c7 853 for(int z=0;z<8;z++){
gabrieltetar 22:c7763a7ec6c7 854 a[z].X+=x;
gabrieltetar 22:c7763a7ec6c7 855 a[z].Y+=y;
gabrieltetar 22:c7763a7ec6c7 856 }
gabrieltetar 22:c7763a7ec6c7 857 lcd.DrawPolygon(a, 4);
gabrieltetar 22:c7763a7ec6c7 858 }
gabrieltetar 21:d137ec53c3a9 859 }