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

Revision:
36:c37dbe2be916
Parent:
35:2a745eeb7922
Child:
37:f1a8734c193d
Child:
38:9d6a3ccc0582
--- a/IHM/ihm.cpp	Fri May 21 16:19:18 2021 +0000
+++ b/IHM/ihm.cpp	Mon May 31 13:36:03 2021 +0000
@@ -23,6 +23,8 @@
 /////////////////DEFINITION DES BOUTONS////////////////////
 Button COTE_JAUNE(0, 25, 400, 300, "JAUNE");
 Button COTE_VIOLET(0, 350, 400, 300, "BLEU");
+Button COTE_HAUT(0, 25, 400, 300, "ROBOT DU HAUT");
+Button COTE_BAS(0, 350, 400, 300, "ROBOT DU BAS");
 Button RETOUR  (0, 680, 400, 110, "--Precedent--");
 Button LANCER  (0, 200, 400, 200, "--LANCER--");
 Button CHECK (0, 420, 400, 200, "Valider");
@@ -1088,7 +1090,7 @@
                 if(COTE_JAUNE.Touched()) {
                     Cote = 0x1;
                     InversStrat = Cote;
-                    strat_etat_s = TACTIQUE;
+                    strat_etat_s = SELECT_ROB;
                     CANMessage trame_Tx = CANMessage();
                     trame_Tx.len = 1;
                     trame_Tx.format = CANStandard;
@@ -1103,7 +1105,7 @@
                 if(COTE_VIOLET.Touched()) {
                     Cote = 0x0;
                     InversStrat= Cote;
-                    strat_etat_s = TACTIQUE;
+                    strat_etat_s = SELECT_ROB;
                     CANMessage trame_Tx = CANMessage();
                     trame_Tx.len = 1;
                     trame_Tx.format = CANStandard;
@@ -1121,7 +1123,48 @@
             }
 
             break;
+        
+        case SELECT_ROB :       // CHOIX DU SENS DE RECALAGE EN HAUT OU EN BAS
+            lcd.Clear(LCD_COLOR_WHITE);
+            lcd.SetBackColor(LCD_COLOR_WHITE);
+            lcd.SetTextColor(LCD_COLOR_BLACK);
+            lcd.DisplayStringAt(70, LINE(0), (uint8_t *)"Choisir la hauteur", LEFT_MODE);
+            
+            if(Cote==0)
+            {
+                COTE_HAUT.Draw(VIOLET, 0);
+                COTE_BAS.Draw(VIOLET, 0);
+            }
+            else if(Cote==1)
+            {
+                COTE_HAUT.Draw(JAUNE, 0);
+                COTE_BAS.Draw(JAUNE, 0);
+            }
+            RETOUR.Draw(LCD_COLOR_RED, 0);
 
+
+            while (strat_etat_s == SELECT_ROB) 
+            {
+                canProcessRx();
+                if(COTE_HAUT.Touched()) 
+                {
+                    Hauteur = 0x1;
+                    strat_etat_s = TACTIQUE;
+                    while(COTE_HAUT.Touched());
+                }
+                if(COTE_BAS.Touched()) {
+                    Hauteur = 0x0;
+                    strat_etat_s = TACTIQUE;
+                    while(COTE_BAS.Touched());
+                }
+
+                if(RETOUR.Touched()) {
+                    strat_etat_s = SELECT_SIDE;
+                    while(RETOUR.Touched());
+                }
+            }
+            break;
+        
         case TACTIQUE : //AFFICHE LA LISTE DES STRATS AFIN DE SELECTIONNER CELLE VOULUE
             if (Cote == 1) {
                 lcd.Clear(JAUNE);