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
Diff: IHM/ihm.cpp
- Revision:
- 36:c37dbe2be916
- Parent:
- 35:2a745eeb7922
- Child:
- 37:f1a8734c193d
- Child:
- 38:9d6a3ccc0582
diff -r 2a745eeb7922 -r c37dbe2be916 IHM/ihm.cpp --- 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);