
Projet Interfacage capteur de recul
Dependencies: TS_DISCO_F746NG LCD_DISCO_F746NG SRF02 BSP_DISCO_F746NG BUTTON_GROUP
Diff: main.cpp
- Revision:
- 4:fb942253d9e6
- Parent:
- 3:5b6f580d3f3a
- Child:
- 5:8df147fe09cc
--- a/main.cpp Thu Jun 25 11:44:46 2020 +0000 +++ b/main.cpp Thu Jun 03 12:02:20 2021 +0000 @@ -2,33 +2,127 @@ #include "stm32746g_discovery_lcd.h" #include "stm32746g_discovery_ts.h" #include "button_group.hpp" -#include "pomme.h" -#include "poire.h" -#include "orange.h" -#include "banane.h" -#include "tomate.h" -#include "fraise.h" -#include "raisin.h" -#include "kiwi.h" -#include "haricot.h" +#include "bluetooth.h" +#include "LogoParisSaclay.h" +#include "market.h" +#include "fleche.h" +#include "badine.h" +#include "balzac.h" +#include "barjavel.h" +#include "blacksad.h" +#include "boule.h" +#include "cahier.h" +#include "cid.h" +#include "cyrano.h" +#include "domjuan.h" +#include "eblouissements.h" +#include "fleurs.h" +#include "fourneaux.h" +#include "gazette.h" +#include "hernani.h" +#include "passemiroir.h" +#include "potter.h" +#include "quijote.h" +#include "saturniens.h" +#include "talon.h" +#include "vergers.h" + +//using namespace Mikami; +//TS_DISCO_F746NG ts_; +//LCD_DISCO_F746NG lcd_; +TS_StateTypeDef TS_State; + +void page_commande(void); +void page_liste(void); +void page_accueil(void); +int page = 2; +uint16_t x, y; +uint8_t text[30]; +uint8_t status; +uint8_t idx; +uint8_t cleared = 0; +uint8_t prev_nb_touches = 0; +//float prix_total = 0; +//char buffer [50]; -Serial pc(USBTX, USBRX); // tx, rx -Serial bt(PC_6, PC_7); - -using namespace Mikami; -TS_DISCO_F746NG ts_; -LCD_DISCO_F746NG lcd_; - - -//Pomme -void drawImage_pomme(int offsetX, int offsetY) +//market +void drawImage_market(int offsetX, int offsetY) { int x = 0; int y = 0; - uint32_t* dataPtr = (uint32_t*)pomme.data; - while(y < pomme.height) { - while(x < pomme.width) { + uint32_t* dataPtr = (uint32_t*)market.data; + while(y < market.height) { + while(x < market.width) { + BSP_LCD_DrawPixel(x + offsetX, y + offsetY, *dataPtr); + dataPtr++; + x++; + } + x = 0; + y++; + } +} + +//fleche +void drawImage_fleche(int offsetX, int offsetY) +{ + int x = 0; + int y = 0; + uint32_t* dataPtr = (uint32_t*)fleche.data; + while(y < fleche.height) { + while(x < fleche.width) { + BSP_LCD_DrawPixel(x + offsetX, y + offsetY, *dataPtr); + dataPtr++; + x++; + } + x = 0; + y++; + } +} + +//LogoBT +void drawImage_BT(int offsetX, int offsetY) +{ + int x = 0; + int y = 0; + uint32_t* dataPtr = (uint32_t*)bluetooth.data; + while(y < bluetooth.height) { + while(x < bluetooth.width) { + BSP_LCD_DrawPixel(x + offsetX, y + offsetY, *dataPtr); + dataPtr++; + x++; + } + x = 0; + y++; + } +} + + +//Logo +void drawImage_LogoParisSaclay(int offsetX, int offsetY) +{ + int x = 0; + int y = 0; + uint32_t* dataPtr = (uint32_t*)LogoParisSaclay.data; + while(y < LogoParisSaclay.height) { + while(x < LogoParisSaclay.width) { + BSP_LCD_DrawPixel(x + offsetX, y + offsetY, *dataPtr); + dataPtr++; + x++; + } + x = 0; + y++; + } +} + +//blacksad +void drawImage_blacksad(int offsetX, int offsetY) +{ + int x = 0; + int y = 0; + uint32_t* dataPtr = (uint32_t*)blacksad.data; + while(y < blacksad.height) { + while(x < blacksad.width) { BSP_LCD_DrawPixel(x + offsetX, y + offsetY, *dataPtr); dataPtr++; x++; @@ -39,663 +133,569 @@ } -//Poire -void drawImage_poire(int offsetX, int offsetY) -{ - int x = 0; - int y = 0; - uint32_t* dataPtr = (uint32_t*)poire.data; - while(y < poire.height) { - while(x < poire.width) { - BSP_LCD_DrawPixel(x + offsetX, y + offsetY, *dataPtr); - dataPtr++; - x++; - } - x = 0; - y++; - } -} - -//Orange -void drawImage_orange(int offsetX, int offsetY) -{ - int x = 0; - int y = 0; - uint32_t* dataPtr = (uint32_t*)orange.data; - while(y < orange.height) { - while(x < orange.width) { - BSP_LCD_DrawPixel(x + offsetX, y + offsetY, *dataPtr); - dataPtr++; - x++; - } - x = 0; - y++; - } -} - -//Banane -void drawImage_banane(int offsetX, int offsetY) -{ - int x = 0; - int y = 0; - uint32_t* dataPtr = (uint32_t*)banane.data; - while(y < banane.height) { - while(x < banane.width) { - BSP_LCD_DrawPixel(x + offsetX, y + offsetY, *dataPtr); - dataPtr++; - x++; - } - x = 0; - y++; - } -} - -//Tomate -void drawImage_tomate(int offsetX, int offsetY) -{ - int x = 0; - int y = 0; - uint32_t* dataPtr = (uint32_t*)tomate.data; - while(y < tomate.height) { - while(x < tomate.width) { - BSP_LCD_DrawPixel(x + offsetX, y + offsetY, *dataPtr); - dataPtr++; - x++; - } - x = 0; - y++; - } -} - -//Fraise -void drawImage_fraise(int offsetX, int offsetY) -{ - int x = 0; - int y = 0; - uint32_t* dataPtr = (uint32_t*)fraise.data; - while(y < fraise.height) { - while(x < fraise.width) { - BSP_LCD_DrawPixel(x + offsetX, y + offsetY, *dataPtr); - dataPtr++; - x++; - } - x = 0; - y++; - } -} - -//Raisin -void drawImage_raisin(int offsetX, int offsetY) -{ - int x = 0; - int y = 0; - uint32_t* dataPtr = (uint32_t*)raisin.data; - while(y < raisin.height) { - while(x < raisin.width) { - BSP_LCD_DrawPixel(x + offsetX, y + offsetY, *dataPtr); - dataPtr++; - x++; - } - x = 0; - y++; - } -} - -//Kiwi -void drawImage_kiwi(int offsetX, int offsetY) -{ - int x = 0; - int y = 0; - uint32_t* dataPtr = (uint32_t*)kiwi.data; - while(y < kiwi.height) { - while(x < kiwi.width) { - BSP_LCD_DrawPixel(x + offsetX, y + offsetY, *dataPtr); - dataPtr++; - x++; - } - x = 0; - y++; - } -} - -//Haricot -void drawImage_haricot(int offsetX, int offsetY) -{ - int x = 0; - int y = 0; - uint32_t* dataPtr = (uint32_t*)haricot.data; - while(y < haricot.height) { - while(x < haricot.width) { - BSP_LCD_DrawPixel(x + offsetX, y + offsetY, *dataPtr); - dataPtr++; - x++; - } - x = 0; - y++; - } -} - -//Fonction principale int main() { - char ch; - pc.baud(9600); - bt.baud(38400); - - pc.printf("Test1\n\r"); - - unsigned int boutton_commande = 0; - unsigned int boutton_retour = 0; - unsigned int boutton_scanner = 0; - unsigned int boutton_panier = 0; - unsigned int boutton_valider = 0; - unsigned int boutton_acceuil = 0; - unsigned int nb_pommes = 0; - unsigned int nb_poires = 0; - unsigned int nb_oranges = 0; - unsigned int nb_bananes = 0; - unsigned int nb_tomates = 0; - unsigned int nb_fraises = 0; - unsigned int nb_raisins = 0; - unsigned int nb_kiwis = 0; - unsigned int nb_haricots = 0; - float prix_total = 0; - char buffer [50] ; - + int c[6]={0,0,0,0,0,0}; //0 = a traiter 1 = en cours 2 = fait + int commande = 6; BSP_LCD_Init(); BSP_LCD_LayerDefaultInit(LTDC_ACTIVE_LAYER, LCD_FB_START_ADDRESS); BSP_LCD_SelectLayer(LTDC_ACTIVE_LAYER); + BSP_LCD_Clear(LCD_COLOR_WHITE); + + status = BSP_TS_Init(BSP_LCD_GetXSize(), BSP_LCD_GetYSize()); + if (status != TS_OK) { + BSP_LCD_Clear(LCD_COLOR_WHITE); + BSP_LCD_SetBackColor(LCD_COLOR_WHITE); + BSP_LCD_SetTextColor(LCD_COLOR_GREEN); + BSP_LCD_DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN INIT FAIL", CENTER_MODE); + + } else { + BSP_LCD_Clear(LCD_COLOR_WHITE); + BSP_LCD_SetBackColor(LCD_COLOR_WHITE); + BSP_LCD_SetTextColor(LCD_COLOR_GREEN); + BSP_LCD_DisplayStringAt(0, LINE(1), (uint8_t *)"Bienvenue chez Liroy Merlin", CENTER_MODE); + } + + HAL_Delay(2000); + BSP_LCD_Clear(LCD_COLOR_WHITE); + + BSP_LCD_SetFont(&Font12); + BSP_LCD_SetBackColor(LCD_COLOR_WHITE); + BSP_LCD_SetTextColor(LCD_COLOR_BLACK); while(1) { - //*** Ecran d'acceuil *** - BSP_LCD_Clear(LCD_COLOR_WHITE); - BSP_LCD_SetFont(&LCD_DEFAULT_FONT); - BSP_LCD_SetBackColor(LCD_COLOR_ORANGE); - BSP_LCD_SetTextColor(LCD_COLOR_BLACK); - HAL_Delay(1000); + + // DETECTION CLICS + BSP_TS_GetState(&TS_State); + for (idx = 0; idx < TS_State.touchDetected; idx++) + { + x = TS_State.touchX[idx]; + y = TS_State.touchY[idx]; + } + + //////////////////CLICS////////////// + + // PAGE COMMANDE VERS PAGE D'ACCUEIL + if ((page == 0) && (x>= 458 && x<= 480) && (y>= 0 && y<= 22)) + { + BSP_LCD_Clear(LCD_COLOR_WHITE); + x = 0; + y = 0; + page = 2; + HAL_Delay(300); + } + + //PAGE ACCUEIL VERS PAGE COMMANDE + if ((page == 2) && (x>= 65 && x<= 215) && (y>= 60 && y<= 240)) + { + BSP_LCD_Clear(LCD_COLOR_WHITE); + x = 0; + y = 0; + page = 0; + HAL_Delay(300); + } + + + // PAGE LISTE VERS PAGE COMMANDE + if ((page == 1) && (x>= 458 && x<= 480) && (y>= 0 && y<= 22)) + { + BSP_LCD_Clear(LCD_COLOR_WHITE); + x = 0; + y = 0; + page = 0; + commande = 6; + HAL_Delay(300); + } + + //PAGE COMMANDE + // HAUT GAUCHE + else if ((page == 0) && (x>= 8 && x<= 236) && (y>= 29 && y<= 103)) + { + x = 0; + y = 0; + page = 1; + BSP_LCD_Clear(LCD_COLOR_WHITE); + page_liste(); + commande = 0; + HAL_Delay(200); + } + + // HAUT DROITE + else if ((page == 0) && (x>= 244 && x<= 472) && (y>= 29 && y<= 103)) + { + x = 0; + y = 0; + page = 1; + BSP_LCD_Clear(LCD_COLOR_WHITE); + page_liste(); + commande = 1; + HAL_Delay(200); + } + + // MILIEU GAUCHE + else if ((page == 0) && (x>= 8 && x<= 236) && (y>= 110 && y<= 184)) + { + x = 0; + y = 0; + page = 1; + BSP_LCD_Clear(LCD_COLOR_WHITE); + page_liste(); + commande = 2; + HAL_Delay(200); + } - BSP_LCD_DisplayStringAt(0, 70, (uint8_t *)"BIENVENUE SUR CEL", CENTER_MODE); - HAL_Delay(1000); - - //Bouton faire une commande - Button commande(lcd_, ts_, 88, 160, 300, 50, - LCD_COLOR_BLUE, LCD_COLOR_BLACK, "Faire une commande", Font20); - commande.Draw(LCD_COLOR_GRAY, LCD_COLOR_BLACK); - - while(boutton_commande == 0) { - if(commande.Touched()) { - boutton_commande = 1; + // MILIEU DROITE + else if ((page == 0) && (x>= 244 && x<= 472) && (y>= 110 && y<= 184)) + { + x = 0; + y = 0; + page = 1; + BSP_LCD_Clear(LCD_COLOR_WHITE); + page_liste(); + commande = 3; + HAL_Delay(200); + } + + // BAS GAUCHE + else if ((page == 0) && (x>= 8 && x<= 236) && (y>= 192 && y<= 266)) + { + x = 0; + y = 0; + page = 1; + BSP_LCD_Clear(LCD_COLOR_WHITE); + page_liste(); + commande = 4; + HAL_Delay(200); + } + + + // BAS DROITE + else if ((page == 0) && (x>= 244 && x<= 472) && (y>= 192 && y<= 266)) + { + x = 0; + y = 0; + page = 1; + BSP_LCD_Clear(LCD_COLOR_WHITE); + page_liste(); + commande = 5; + HAL_Delay(200); + } + + else if (page == 0) + { + page_commande(); + // AFFICHAGE DES PASTILLES DE COULEURS + for (int i=0;i<6;i++) + { + if(c[i] == 0){ + BSP_LCD_SetTextColor(LCD_COLOR_BLACK); + BSP_LCD_FillRect(211+(236*(i%2)), 80+(80*(i/2)), 25, 24); + } + else if(c[i] == 1){ + BSP_LCD_SetTextColor(LCD_COLOR_RED); + BSP_LCD_FillRect(211+(236*(i%2)), 80+(80*(i/2)), 25, 24); + } + else if(c[i] == 2){ + BSP_LCD_SetTextColor(LCD_COLOR_GREEN); + BSP_LCD_FillRect(211+(236*(i%2)), 80+(80*(i/2)), 25, 24); + } } } - boutton_commande = 0; - - - //*** Ecran produits *** - BSP_LCD_Clear(LCD_COLOR_WHITE); - HAL_Delay(1000); - - //Bouton retour - Button retour(lcd_, ts_, 33, 5, 90, 30, - LCD_COLOR_BLUE, LCD_COLOR_BLACK, "Retour", Font16); - retour.Draw(LCD_COLOR_GRAY, LCD_COLOR_BLACK); - //Bouton scanner - Button scanner(lcd_, ts_, 198, 5, 90, 30, - LCD_COLOR_BLUE, LCD_COLOR_BLACK, "Scanner", Font16); - scanner.Draw(LCD_COLOR_GRAY, LCD_COLOR_BLACK); - - //Bouton panier - Button panier(lcd_, ts_, 360, 5, 90, 30, - LCD_COLOR_BLUE, LCD_COLOR_BLACK, "Panier", Font16); - panier.Draw(LCD_COLOR_GRAY, LCD_COLOR_BLACK); - - HAL_Delay(1000); + else if (page == 1) + { + page_liste(); + } - //Images produits - drawImage_pomme(10,45); - drawImage_poire(10,130); - drawImage_orange(10,200); - drawImage_banane(175,45); - drawImage_tomate(165,122); - drawImage_fraise(165,200); - drawImage_raisin (320,35); - drawImage_kiwi(330,125); - drawImage_haricot(330,205); - HAL_Delay(1000); + else if (page == 2) + { + page_accueil(); + } + - BSP_LCD_SetBackColor(LCD_COLOR_WHITE); - BSP_LCD_SetTextColor(LCD_COLOR_BLACK); - //Noms produits - BSP_LCD_SetFont(&Font12); - BSP_LCD_DisplayStringAt(350, 55, (uint8_t *)"Pommes", CENTER_MODE); - BSP_LCD_DisplayStringAt(350, 140, (uint8_t *)"Poires", CENTER_MODE); - BSP_LCD_DisplayStringAt(350, 210, (uint8_t *)"Oranges", CENTER_MODE); - BSP_LCD_DisplayStringAt(30, 55, (uint8_t *)"Bananes", CENTER_MODE); - BSP_LCD_DisplayStringAt(30, 140, (uint8_t *)"Tomates", CENTER_MODE); - BSP_LCD_DisplayStringAt(30, 210, (uint8_t *)"Fraises", CENTER_MODE); - BSP_LCD_DisplayStringAt(190, 55, (uint8_t *)"Raisins", CENTER_MODE); - BSP_LCD_DisplayStringAt(190, 140, (uint8_t *)"Kiwis", CENTER_MODE); - BSP_LCD_DisplayStringAt(190, 210, (uint8_t *)"Haricots", CENTER_MODE); - HAL_Delay(1000); + switch (commande) { - //Prix produits - BSP_LCD_SetFont(&Font8); - BSP_LCD_DisplayStringAt(350, 75, (uint8_t *)"2,20 Euros/kg", CENTER_MODE); - BSP_LCD_DisplayStringAt(350, 160, (uint8_t *)"3,50 Euros/kg", CENTER_MODE); - BSP_LCD_DisplayStringAt(350, 230, (uint8_t *)"2,00 Euros/kg", CENTER_MODE); - BSP_LCD_DisplayStringAt(30, 75, (uint8_t *)"3,00 Euros/kg", CENTER_MODE); - BSP_LCD_DisplayStringAt(30, 160, (uint8_t *)"1,00 Euros/kg", CENTER_MODE); - BSP_LCD_DisplayStringAt(30, 230, (uint8_t *)"4,00 Euros/kg", CENTER_MODE); - BSP_LCD_DisplayStringAt(190, 75, (uint8_t *)"4,20 Euros/kg", CENTER_MODE); - BSP_LCD_DisplayStringAt(190, 160, (uint8_t *)"2,99 Euros/kg", CENTER_MODE); - BSP_LCD_DisplayStringAt(190, 230, (uint8_t *)"1,50 Euros/kg", CENTER_MODE); - HAL_Delay(1000); - - //Boutons produits - Button pommes(lcd_, ts_, 15, 93, 130, 20, - LCD_COLOR_BLUE, LCD_COLOR_BLACK, "Ajouter au panier", Font12); - pommes.Draw(LCD_COLOR_ORANGE, LCD_COLOR_BLACK); - - Button poires(lcd_, ts_, 15, 175, 130, 20, - LCD_COLOR_BLUE, LCD_COLOR_BLACK, "Ajouter au panier", Font12); - poires.Draw(LCD_COLOR_ORANGE, LCD_COLOR_BLACK); - - Button oranges(lcd_, ts_, 15, 248, 130, 20, - LCD_COLOR_BLUE, LCD_COLOR_BLACK, "Ajouter au panier", Font12); - oranges.Draw(LCD_COLOR_ORANGE, LCD_COLOR_BLACK); - - Button bananes(lcd_, ts_, 175, 93, 130, 20, - LCD_COLOR_BLUE, LCD_COLOR_BLACK, "Ajouter au panier", Font12); - bananes.Draw(LCD_COLOR_ORANGE, LCD_COLOR_BLACK); - - Button tomates(lcd_, ts_, 175, 175, 130, 20, - LCD_COLOR_BLUE, LCD_COLOR_BLACK, "Ajouter au panier", Font12); - tomates.Draw(LCD_COLOR_ORANGE, LCD_COLOR_BLACK); - - Button fraises(lcd_, ts_, 175, 248, 130, 20, - LCD_COLOR_BLUE, LCD_COLOR_BLACK, "Ajouter au panier", Font12); - fraises.Draw(LCD_COLOR_ORANGE, LCD_COLOR_BLACK); - - Button raisins(lcd_, ts_, 335, 93, 130, 20, - LCD_COLOR_BLUE, LCD_COLOR_BLACK, "Ajouter au panier", Font12); - raisins.Draw(LCD_COLOR_ORANGE, LCD_COLOR_BLACK); - - Button kiwis(lcd_, ts_, 335, 175, 130, 20, - LCD_COLOR_BLUE, LCD_COLOR_BLACK, "Ajouter au panier", Font12); - kiwis.Draw(LCD_COLOR_ORANGE, LCD_COLOR_BLACK); - - Button haricots(lcd_, ts_, 335, 248, 130, 20, - LCD_COLOR_BLUE, LCD_COLOR_BLACK, "Ajouter au panier", Font12); - haricots.Draw(LCD_COLOR_ORANGE, LCD_COLOR_BLACK); - HAL_Delay(1000); + case 0: + if ( c[0] == 0 ){ + BSP_LCD_DrawRect(8, 220, 228, 45); + sprintf((char*)text, "CHOISIR LA COMMANDE"); + BSP_LCD_DisplayStringAt(52, 242, (uint8_t *)&text, LEFT_MODE); + + if ( (x>= 8 && x<= 236) && (y>= 220 && y<= 265) ){ + x=0; + y=0; + c[0]= 1 ; + HAL_Delay(200); + BSP_LCD_Clear(LCD_COLOR_WHITE); + } + } + + if ( c[0] == 1 ){ + sprintf((char*)text, "COMMANDE EN COURS"); + BSP_LCD_DisplayStringAt(52, 242, (uint8_t *)&text, LEFT_MODE); + BSP_LCD_DrawRect(244, 220, 228, 45); + sprintf((char*)text, "FIN DE COMMANDE"); + BSP_LCD_DisplayStringAt(300, 242, (uint8_t *)&text, LEFT_MODE); + + if ( (x>= 244 && x<= 472) && (y>= 220 && y<= 265) ){ + x=0; + y=0; + c[0]= 2 ; + x=475; + y=5; + HAL_Delay(200); + BSP_LCD_Clear(LCD_COLOR_WHITE); + } + } + + if ( c[0] == 2 ){ + sprintf((char*)text, "COMMANDE TRAITEE"); + BSP_LCD_DisplayStringAt(0,260, (uint8_t *)&text, CENTER_MODE); + } + break; - while(boutton_retour == 0 && boutton_scanner == 0 && boutton_panier == 0) { - if(retour.Touched()) { - boutton_retour = 1; - nb_pommes = 0; - nb_poires = 0; - nb_oranges = 0; - nb_bananes = 0; - nb_tomates = 0; - nb_fraises = 0; - nb_raisins = 0; - nb_kiwis = 0; - nb_haricots = 0; - prix_total = 0; + case 1 : + if ( c[1] == 0 ){ + BSP_LCD_DrawRect(8, 191, 228, 74); + sprintf((char*)text, "CHOISIR LA COMMANDE"); + BSP_LCD_DisplayStringAt(60, LINE(18), (uint8_t *)&text, LEFT_MODE); + + if ( (x>= 8 && x<= 236) && (y>= 192 && y<= 266) ){ + x=0; + y=0; + c[1]= 1 ; + HAL_Delay(200); + } + } + + if ( c[1] == 1 ){ + sprintf((char*)text, "COMMANDE EN COURS"); + BSP_LCD_DisplayStringAt(80, LINE(9), (uint8_t *)&text, CENTER_MODE); + BSP_LCD_DrawRect(244, 200, 228, 65); + sprintf((char*)text, "FIN DE COMMANDE"); + BSP_LCD_DisplayStringAt(80, LINE(19), (uint8_t *)&text, LEFT_MODE); + + if ( (x>= 244 && x<= 472) && (y>= 200 && y<= 265) ){ + x=0; + y=0; + c[1]= 2 ; + x=475; + y=5; + HAL_Delay(200); + } + } + if ( c[1] == 2 ){ + sprintf((char*)text, "COMMANDE TRAITEE"); + BSP_LCD_DisplayStringAt(80, LINE(9), (uint8_t *)&text, CENTER_MODE); + } + break; + + case 2 : + if ( c[2] == 0 ){ + BSP_LCD_DrawRect(8, 191, 228, 74); + sprintf((char*)text, "CHOISIR LA COMMANDE"); + BSP_LCD_DisplayStringAt(60, LINE(18), (uint8_t *)&text, LEFT_MODE); + + if ( (x>= 8 && x<= 236) && (y>= 192 && y<= 266) ){ + x=0; + y=0; + c[2]= 1 ; + HAL_Delay(200); + } } - //*** Ecran scanner *** - else if(scanner.Touched()) { - boutton_scanner = 1; + if ( c[2] == 1 ){ + sprintf((char*)text, "COMMANDE EN COURS"); + BSP_LCD_DisplayStringAt(80, LINE(9), (uint8_t *)&text, CENTER_MODE); + BSP_LCD_DrawRect(244, 200, 228, 65); + sprintf((char*)text, "FIN DE COMMANDE"); + BSP_LCD_DisplayStringAt(80, LINE(19), (uint8_t *)&text, LEFT_MODE); - BSP_LCD_Clear(LCD_COLOR_WHITE); - BSP_LCD_SetFont(&Font20); - BSP_LCD_SetBackColor(LCD_COLOR_ORANGE); - BSP_LCD_SetTextColor(LCD_COLOR_BLACK); - HAL_Delay(1000); - - BSP_LCD_DisplayStringAt(0, 40, (uint8_t *)"Scanner le code barre", CENTER_MODE); - BSP_LCD_DisplayStringAt(0, 60, (uint8_t *)"du produit", CENTER_MODE); - HAL_Delay(1000); - - //Bouton retour vers la page acceuil - Button acceuil(lcd_, ts_, 68, 215, 350, 40, - LCD_COLOR_BLUE, LCD_COLOR_BLACK, "Retour vers la page d'acceuil", Font16); - acceuil.Draw(LCD_COLOR_GRAY, LCD_COLOR_BLACK); - - while(boutton_acceuil == 0) { - if(acceuil.Touched()) { - boutton_acceuil = 1; + if ( (x>= 244 && x<= 472) && (y>= 200 && y<= 265) ){ + x=0; + y=0; + c[2]= 2 ; + x=475; + y=5; + HAL_Delay(200); + } + } + if ( c[2] == 2 ){ + sprintf((char*)text, "COMMANDE TRAITEE"); + BSP_LCD_DisplayStringAt(80, LINE(9), (uint8_t *)&text, CENTER_MODE); + } + break; + + case 3 : + if ( c[3] == 0 ){ + BSP_LCD_DrawRect(8, 191, 228, 74); + sprintf((char*)text, "CHOISIR LA COMMANDE"); + BSP_LCD_DisplayStringAt(60, LINE(18), (uint8_t *)&text, LEFT_MODE); + + if ( (x>= 8 && x<= 236) && (y>= 192 && y<= 266) ){ + x=0; + y=0; + c[3]= 1 ; + HAL_Delay(200); + } + } + + if ( c[3] == 1 ){ + sprintf((char*)text, "COMMANDE EN COURS"); + BSP_LCD_DisplayStringAt(80, LINE(9), (uint8_t *)&text, CENTER_MODE); + BSP_LCD_DrawRect(244, 200, 228, 65); + sprintf((char*)text, "FIN DE COMMANDE"); + BSP_LCD_DisplayStringAt(80, LINE(19), (uint8_t *)&text, LEFT_MODE); + + if ( (x>= 244 && x<= 472) && (y>= 200 && y<= 265) ){ + x=0; + y=0; + c[3]= 2 ; + x=475; + y=5; + HAL_Delay(200); } - //Lecture code-barres - else if(bt.readable()) { - ch=bt.getc(); - pc.printf("%c\n\r",ch); - switch(ch) - { - case '1': - BSP_LCD_SetTextColor(LCD_COLOR_WHITE); - BSP_LCD_FillRect(135, 130, 200, 80); - BSP_LCD_SetTextColor(LCD_COLOR_BLACK); - BSP_LCD_SetBackColor(LCD_COLOR_RED); - BSP_LCD_SetFont(&Font16); - BSP_LCD_DisplayStringAt(0, 110, (uint8_t *)"Le produit est :", CENTER_MODE); - drawImage_pomme(165,135); - BSP_LCD_SetBackColor(LCD_COLOR_WHITE); - BSP_LCD_SetFont(&Font12); - BSP_LCD_DisplayStringAt(30, 145, (uint8_t *)"Pommes", CENTER_MODE); - BSP_LCD_SetFont(&Font8); - BSP_LCD_DisplayStringAt(30, 165, (uint8_t *)"2,22 Euros/kg", CENTER_MODE); - HAL_Delay(1000); - break; - case '2': - BSP_LCD_SetTextColor(LCD_COLOR_WHITE); - BSP_LCD_FillRect(135, 130, 200, 80); - BSP_LCD_SetTextColor(LCD_COLOR_BLACK); - BSP_LCD_SetBackColor(LCD_COLOR_RED); - BSP_LCD_SetFont(&Font16); - BSP_LCD_DisplayStringAt(0, 110, (uint8_t *)"Le produit est :", CENTER_MODE); - drawImage_poire(165,140); - BSP_LCD_SetBackColor(LCD_COLOR_WHITE); - BSP_LCD_SetFont(&Font12); - BSP_LCD_DisplayStringAt(30, 145, (uint8_t *)"Poires", CENTER_MODE); - BSP_LCD_SetFont(&Font8); - BSP_LCD_DisplayStringAt(30, 165, (uint8_t *)"3,50 Euros/kg", CENTER_MODE); - HAL_Delay(1000); - break; - case '3': - BSP_LCD_SetTextColor(LCD_COLOR_WHITE); - BSP_LCD_FillRect(135, 130, 200, 80); - BSP_LCD_SetTextColor(LCD_COLOR_BLACK); - BSP_LCD_SetBackColor(LCD_COLOR_RED); - BSP_LCD_SetFont(&Font16); - BSP_LCD_DisplayStringAt(0, 110, (uint8_t *)"Le produit est :", CENTER_MODE); - drawImage_orange(165,135); - BSP_LCD_SetBackColor(LCD_COLOR_WHITE); - BSP_LCD_SetFont(&Font12); - BSP_LCD_DisplayStringAt(30, 145, (uint8_t *)"Oranges", CENTER_MODE); - BSP_LCD_SetFont(&Font8); - BSP_LCD_DisplayStringAt(30, 165, (uint8_t *)"2,00 Euros/kg", CENTER_MODE); - HAL_Delay(1000); - break; - case '4': - BSP_LCD_SetTextColor(LCD_COLOR_WHITE); - BSP_LCD_FillRect(135, 130, 200, 80); - BSP_LCD_SetTextColor(LCD_COLOR_BLACK); - BSP_LCD_SetBackColor(LCD_COLOR_RED); - BSP_LCD_SetFont(&Font16); - BSP_LCD_DisplayStringAt(0, 110, (uint8_t *)"Le produit est :", CENTER_MODE); - drawImage_banane(175,140); - BSP_LCD_SetBackColor(LCD_COLOR_WHITE); - BSP_LCD_SetFont(&Font12); - BSP_LCD_DisplayStringAt(30, 145, (uint8_t *)"Bananes", CENTER_MODE); - BSP_LCD_SetFont(&Font8); - BSP_LCD_DisplayStringAt(30, 165, (uint8_t *)"3,00 Euros/kg", CENTER_MODE); - HAL_Delay(1000); - break; - case '5': - BSP_LCD_SetTextColor(LCD_COLOR_WHITE); - BSP_LCD_FillRect(135, 130, 200, 80); - BSP_LCD_SetTextColor(LCD_COLOR_BLACK); - BSP_LCD_SetBackColor(LCD_COLOR_RED); - BSP_LCD_SetFont(&Font16); - BSP_LCD_DisplayStringAt(0, 110, (uint8_t *)"Le produit est :", CENTER_MODE); - drawImage_tomate(165,135); - BSP_LCD_SetBackColor(LCD_COLOR_WHITE); - BSP_LCD_SetFont(&Font12); - BSP_LCD_DisplayStringAt(30, 145, (uint8_t *)"Tomates", CENTER_MODE); - BSP_LCD_SetFont(&Font8); - BSP_LCD_DisplayStringAt(30, 165, (uint8_t *)"1,00 Euros/kg", CENTER_MODE); - HAL_Delay(1000); - break; - case '6': - BSP_LCD_SetTextColor(LCD_COLOR_WHITE); - BSP_LCD_FillRect(135, 130, 200, 80); - BSP_LCD_SetTextColor(LCD_COLOR_BLACK); - BSP_LCD_SetBackColor(LCD_COLOR_RED); - BSP_LCD_SetFont(&Font16); - BSP_LCD_DisplayStringAt(0, 110, (uint8_t *)"Le produit est :", CENTER_MODE); - drawImage_fraise(165,135); - BSP_LCD_SetBackColor(LCD_COLOR_WHITE); - BSP_LCD_SetFont(&Font12); - BSP_LCD_DisplayStringAt(30, 145, (uint8_t *)"Fraises", CENTER_MODE); - BSP_LCD_SetFont(&Font8); - BSP_LCD_DisplayStringAt(30, 165, (uint8_t *)"4,00 Euros/kg", CENTER_MODE); - HAL_Delay(1000); - break; - case '7': - BSP_LCD_SetTextColor(LCD_COLOR_WHITE); - BSP_LCD_FillRect(135, 130, 200, 80); - BSP_LCD_SetTextColor(LCD_COLOR_BLACK); - BSP_LCD_SetBackColor(LCD_COLOR_RED); - BSP_LCD_SetFont(&Font16); - BSP_LCD_DisplayStringAt(0, 110, (uint8_t *)"Le produit est :", CENTER_MODE); - drawImage_raisin(150,128); - BSP_LCD_SetBackColor(LCD_COLOR_WHITE); - BSP_LCD_SetFont(&Font12); - BSP_LCD_DisplayStringAt(30, 145, (uint8_t *)"Raisins", CENTER_MODE); - BSP_LCD_SetFont(&Font8); - BSP_LCD_DisplayStringAt(30, 165, (uint8_t *)"4,20 Euros/kg", CENTER_MODE); - HAL_Delay(1000); - break; - case '8': - BSP_LCD_SetTextColor(LCD_COLOR_WHITE); - BSP_LCD_FillRect(135, 130, 200, 80); - BSP_LCD_SetTextColor(LCD_COLOR_BLACK); - BSP_LCD_SetBackColor(LCD_COLOR_RED); - BSP_LCD_SetFont(&Font16); - BSP_LCD_DisplayStringAt(0, 110, (uint8_t *)"Le produit est :", CENTER_MODE); - drawImage_kiwi(165,135); - BSP_LCD_SetBackColor(LCD_COLOR_WHITE); - BSP_LCD_SetFont(&Font12); - BSP_LCD_DisplayStringAt(30, 145, (uint8_t *)"Kiwis", CENTER_MODE); - BSP_LCD_SetFont(&Font8); - BSP_LCD_DisplayStringAt(30, 165, (uint8_t *)"2,99 Euros/kg", CENTER_MODE); - HAL_Delay(1000); - break; - case '9': - BSP_LCD_SetTextColor(LCD_COLOR_WHITE); - BSP_LCD_FillRect(135, 130, 200, 80); - BSP_LCD_SetTextColor(LCD_COLOR_BLACK); - BSP_LCD_SetBackColor(LCD_COLOR_RED); - BSP_LCD_SetFont(&Font16); - BSP_LCD_DisplayStringAt(0, 110, (uint8_t *)"Le produit est :", CENTER_MODE); - drawImage_haricot(165,140); - BSP_LCD_SetBackColor(LCD_COLOR_WHITE); - BSP_LCD_SetFont(&Font12); - BSP_LCD_DisplayStringAt(30, 145, (uint8_t *)"Haricots", CENTER_MODE); - BSP_LCD_SetFont(&Font8); - BSP_LCD_DisplayStringAt(30, 165, (uint8_t *)"1,50 Euros/kg", CENTER_MODE); - HAL_Delay(1000); - break; - } + } + if ( c[3] == 2 ){ + sprintf((char*)text, "COMMANDE TRAITEE"); + BSP_LCD_DisplayStringAt(80, LINE(9), (uint8_t *)&text, CENTER_MODE); + } + + break; + + case 4 : + if ( c[4] == 0 ){ + BSP_LCD_DrawRect(8, 191, 228, 74); + sprintf((char*)text, "CHOISIR LA COMMANDE"); + BSP_LCD_DisplayStringAt(60, LINE(18), (uint8_t *)&text, LEFT_MODE); + + if ( (x>= 8 && x<= 236) && (y>= 192 && y<= 266) ){ + x=0; + y=0; + c[4]= 1 ; + HAL_Delay(200); } - } - boutton_acceuil = 0; + } + + if ( c[4] == 1 ){ + sprintf((char*)text, "COMMANDE EN COURS"); + BSP_LCD_DisplayStringAt(80, LINE(9), (uint8_t *)&text, CENTER_MODE); + BSP_LCD_DrawRect(244, 200, 228, 65); + sprintf((char*)text, "FIN DE COMMANDE"); + BSP_LCD_DisplayStringAt(80, LINE(19), (uint8_t *)&text, LEFT_MODE); + + if ( (x>= 244 && x<= 472) && (y>= 200 && y<= 265) ){ + x=0; + y=0; + c[4]= 2 ; + x=475; + y=5; + HAL_Delay(200); + } + } + if ( c[4] == 2 ){ + sprintf((char*)text, "COMMANDE TRAITEE"); + BSP_LCD_DisplayStringAt(80, LINE(9), (uint8_t *)&text, CENTER_MODE); + } + + break; + + case 5 : + if ( c[5] == 0 ){ + BSP_LCD_DrawRect(8, 191, 228, 74); + sprintf((char*)text, "CHOISIR LA COMMANDE"); + BSP_LCD_DisplayStringAt(60, LINE(18), (uint8_t *)&text, LEFT_MODE); + + if ( (x>= 8 && x<= 236) && (y>= 192 && y<= 266) ){ + x=0; + y=0; + c[5]= 1 ; + HAL_Delay(200); + } } - else if(panier.Touched()) { - boutton_panier = 1; - - //*** Ecran panier *** - BSP_LCD_Clear(LCD_COLOR_WHITE); - HAL_Delay(1000); + if ( c[5] == 1 ){ + sprintf((char*)text, "COMMANDE EN COURS"); + BSP_LCD_DisplayStringAt(80, LINE(9), (uint8_t *)&text, CENTER_MODE); + BSP_LCD_DrawRect(244, 200, 228, 65); + sprintf((char*)text, "FIN DE COMMANDE"); + BSP_LCD_DisplayStringAt(80, LINE(19), (uint8_t *)&text, LEFT_MODE); + + if ( (x>= 244 && x<= 472) && (y>= 200 && y<= 265) ){ + x=0; + y=0; + c[5]= 2 ; + x=475; + y=5; + HAL_Delay(200); + } + } + if ( c[5] == 2 ){ + sprintf((char*)text, "COMMANDE TRAITEE"); + BSP_LCD_DisplayStringAt(80, LINE(9), (uint8_t *)&text, CENTER_MODE); + } + + break; + + case 6 : + break; + + default: + break; +} + } + + +} + + + + ////////////////////////////////////// + ////////////PAGE COMMANDE///////////// + ////////////////////////////////////// + void page_commande (){ + page = 0; + BSP_LCD_SetTextColor(LCD_COLOR_BLACK); + drawImage_LogoParisSaclay(0,0); + sprintf((char*)text, "Page commandes"); + BSP_LCD_DisplayStringAt(0, LINE(0), (uint8_t *)&text, CENTER_MODE); - //Images produits - drawImage_pomme (10,15) ; - drawImage_poire (10,100) ; - drawImage_orange (10,170) ; - drawImage_banane (165,5) ; - drawImage_tomate (165,92) ; - drawImage_fraise (165,170) ; - drawImage_raisin (320,5) ; - drawImage_kiwi (330,95) ; - drawImage_haricot (330,175) ; - HAL_Delay(1000); + BSP_LCD_DrawHLine(0,22,480); + + drawImage_fleche(447,0); - BSP_LCD_SetBackColor(LCD_COLOR_WHITE); - BSP_LCD_SetTextColor(LCD_COLOR_BLACK); - - //Noms produits - BSP_LCD_SetFont(&Font12); - BSP_LCD_DisplayStringAt(350, 25, (uint8_t *)"Pommes", CENTER_MODE); - BSP_LCD_DisplayStringAt(350, 110, (uint8_t *)"Poires", CENTER_MODE); - BSP_LCD_DisplayStringAt(350, 180, (uint8_t *)"Oranges", CENTER_MODE); - BSP_LCD_DisplayStringAt(30, 25, (uint8_t *)"Bananes", CENTER_MODE); - BSP_LCD_DisplayStringAt(30, 110, (uint8_t *)"Tomates", CENTER_MODE); - BSP_LCD_DisplayStringAt(30, 180, (uint8_t *)"Fraises", CENTER_MODE); - BSP_LCD_DisplayStringAt(190, 25, (uint8_t *)"Raisins", CENTER_MODE); - BSP_LCD_DisplayStringAt(190, 110, (uint8_t *)"Kiwis", CENTER_MODE); - BSP_LCD_DisplayStringAt(190, 180, (uint8_t *)"Haricots", CENTER_MODE); - HAL_Delay(1000); + // LES COMMANDES + + // Au dessus 22px de la barre + 7// + /* 8px */ BSP_LCD_DrawRect(8, 29, 228, 74); /* 8px */ BSP_LCD_DrawRect(244, 29, 228, 74); /* 8px */ + /* 7px */ + /* 8px */ BSP_LCD_DrawRect(8, 110, 228, 74); /* 8px */ BSP_LCD_DrawRect(244, 110, 228, 74); /* 8px */ + /* 7px */ + /* 8px */ BSP_LCD_DrawRect(8, 191, 228, 73); /* 8px */ BSP_LCD_DrawRect(244, 191, 228, 73); /* 8px */ + // Au dessous 7px// - //Prix produits - BSP_LCD_SetFont(&Font8); - BSP_LCD_DisplayStringAt(350, 45, (uint8_t *)"2,20 Euros/kg", CENTER_MODE); - BSP_LCD_DisplayStringAt(350, 130, (uint8_t *)"3,50 Euros/kg", CENTER_MODE); - BSP_LCD_DisplayStringAt(350, 200, (uint8_t *)"2,00 Euros/kg", CENTER_MODE); - BSP_LCD_DisplayStringAt(30, 45, (uint8_t *)"3,00 Euros/kg", CENTER_MODE); - BSP_LCD_DisplayStringAt(30, 130, (uint8_t *)"1,00 Euros/kg", CENTER_MODE); - BSP_LCD_DisplayStringAt(30, 200, (uint8_t *)"4,00 Euros/kg", CENTER_MODE); - BSP_LCD_DisplayStringAt(190, 45, (uint8_t *)"4,20 Euros/kg", CENTER_MODE); - BSP_LCD_DisplayStringAt(190, 130, (uint8_t *)"2,99 Euros/kg", CENTER_MODE); - BSP_LCD_DisplayStringAt(190, 200, (uint8_t *)"1,50 Euros/kg", CENTER_MODE); - HAL_Delay(1000); + //SEGMENTATION DES CASES COMMANDES + BSP_LCD_DrawHLine(8,80,228); BSP_LCD_DrawHLine(244,80,228); + BSP_LCD_DrawHLine(8,160,228); BSP_LCD_DrawHLine(244,159,228); + BSP_LCD_DrawHLine(8,240,228); BSP_LCD_DrawHLine(244,240,228); + sprintf((char*)text, "Commande #0001"); + BSP_LCD_DisplayStringAt(20,87, (uint8_t *)&text, LEFT_MODE); + sprintf((char*)text, "Commande #0002"); + BSP_LCD_DisplayStringAt(257, 87, (uint8_t *)&text, LEFT_MODE); + sprintf((char*)text, "Commande #0003"); + BSP_LCD_DisplayStringAt(20, 167, (uint8_t *)&text, LEFT_MODE); + sprintf((char*)text, "Commande #0004"); + BSP_LCD_DisplayStringAt(257, 167, (uint8_t *)&text, LEFT_MODE); + sprintf((char*)text, "Commande #0005"); + BSP_LCD_DisplayStringAt(20, 247, (uint8_t *)&text, LEFT_MODE); + sprintf((char*)text, "Commande #0006"); + BSP_LCD_DisplayStringAt(257, 247, (uint8_t *)&text, LEFT_MODE); - //Nombres produits dans panier - BSP_LCD_SetFont(&Font12); - BSP_LCD_SetBackColor(LCD_COLOR_ORANGE); - BSP_LCD_SetTextColor(LCD_COLOR_BLACK); - sprintf(buffer, "Nombre : %d", nb_pommes); - BSP_LCD_DisplayStringAt(325, 60, (uint8_t *)buffer, CENTER_MODE); - sprintf(buffer, "Nombre : %d", nb_poires); - BSP_LCD_DisplayStringAt(325, 145, (uint8_t *)buffer, CENTER_MODE); - sprintf(buffer, "Nombre : %d", nb_oranges); - BSP_LCD_DisplayStringAt(325, 215, (uint8_t *)buffer, CENTER_MODE); - sprintf(buffer, "Nombre : %d", nb_bananes); - BSP_LCD_DisplayStringAt(5, 60, (uint8_t *)buffer, CENTER_MODE); - sprintf(buffer, "Nombre : %d", nb_tomates); - BSP_LCD_DisplayStringAt(5, 145, (uint8_t *)buffer, CENTER_MODE); - sprintf(buffer, "Nombre : %d", nb_fraises); - BSP_LCD_DisplayStringAt(5, 215, (uint8_t *)buffer, CENTER_MODE); - sprintf(buffer, "Nombre : %d", nb_raisins); - BSP_LCD_DisplayStringAt(165, 60, (uint8_t *)buffer, CENTER_MODE); - sprintf(buffer, "Nombre : %d", nb_kiwis); - BSP_LCD_DisplayStringAt(165, 145, (uint8_t *)buffer, CENTER_MODE); - sprintf(buffer, "Nombre : %d", nb_haricots); - BSP_LCD_DisplayStringAt(165, 215, (uint8_t *)buffer, CENTER_MODE); - HAL_Delay(1000); + // CONTENU COMMANDE + //1 + sprintf((char*)text, "1 THEATRE(S)"); + BSP_LCD_DisplayStringAt(20, 40, (uint8_t *)&text, LEFT_MODE); + sprintf((char*)text, "2 POESIE(S)"); + BSP_LCD_DisplayStringAt(20, 60, (uint8_t *)&text, LEFT_MODE); + sprintf((char*)text, "1 ROMAN(S)"); + BSP_LCD_DisplayStringAt(140, 40, (uint8_t *)&text, LEFT_MODE); + sprintf((char*)text, "2 BD"); + BSP_LCD_DisplayStringAt(140, 60, (uint8_t *)&text, LEFT_MODE); + //2 + sprintf((char*)text, "3 THEATRE(S)"); + BSP_LCD_DisplayStringAt(257, 40, (uint8_t *)&text, LEFT_MODE); + sprintf((char*)text, "0 POESIE(S)"); + BSP_LCD_DisplayStringAt(257, 60, (uint8_t *)&text, LEFT_MODE); + sprintf((char*)text, "1 ROMAN(S)"); + BSP_LCD_DisplayStringAt(377, 40, (uint8_t *)&text, LEFT_MODE); + sprintf((char*)text, "0 BD"); + BSP_LCD_DisplayStringAt(377, 60, (uint8_t *)&text, LEFT_MODE); + //3 + sprintf((char*)text, "0 THEATRE(S)"); + BSP_LCD_DisplayStringAt(20, 120, (uint8_t *)&text, LEFT_MODE); + sprintf((char*)text, "0 POESIE(S)"); + BSP_LCD_DisplayStringAt(20, 140, (uint8_t *)&text, LEFT_MODE); + sprintf((char*)text, "3 ROMAN(S)"); + BSP_LCD_DisplayStringAt(140, 120, (uint8_t *)&text, LEFT_MODE); + sprintf((char*)text, "2 BD"); + BSP_LCD_DisplayStringAt(140, 140, (uint8_t *)&text, LEFT_MODE); + //4 + sprintf((char*)text, "1 THEATRE(S)"); + BSP_LCD_DisplayStringAt(257, 120, (uint8_t *)&text, LEFT_MODE); + sprintf((char*)text, "1 POESIE(S)"); + BSP_LCD_DisplayStringAt(257, 140, (uint8_t *)&text, LEFT_MODE); + sprintf((char*)text, "1 ROMAN(S)"); + BSP_LCD_DisplayStringAt(377, 120, (uint8_t *)&text, LEFT_MODE); + sprintf((char*)text, "1 BD"); + BSP_LCD_DisplayStringAt(377, 140, (uint8_t *)&text, LEFT_MODE); + //5 + sprintf((char*)text, "0 THEATRE(S)"); + BSP_LCD_DisplayStringAt(20, 200, (uint8_t *)&text, LEFT_MODE); + sprintf((char*)text, "3 POESIE(S)"); + BSP_LCD_DisplayStringAt(20, 220, (uint8_t *)&text, LEFT_MODE); + sprintf((char*)text, "1 ROMAN(S)"); + BSP_LCD_DisplayStringAt(140, 200, (uint8_t *)&text, LEFT_MODE); + sprintf((char*)text, "2 BD"); + BSP_LCD_DisplayStringAt(140, 220, (uint8_t *)&text, LEFT_MODE); + //6 + sprintf((char*)text, "1 THEATRE(S)"); + BSP_LCD_DisplayStringAt(257, 200, (uint8_t *)&text, LEFT_MODE); + sprintf((char*)text, "1 POESIE(S)"); + BSP_LCD_DisplayStringAt(257, 220, (uint8_t *)&text, LEFT_MODE); + sprintf((char*)text, "2 ROMAN(S)"); + BSP_LCD_DisplayStringAt(377, 200, (uint8_t *)&text, LEFT_MODE); + sprintf((char*)text, "1 BD"); + BSP_LCD_DisplayStringAt(377, 220, (uint8_t *)&text, LEFT_MODE); + - //Bouton valider la commande - Button valider(lcd_, ts_, 88, 235, 300, 30, - LCD_COLOR_BLUE, LCD_COLOR_BLACK, "Valider la commande", Font16); - valider.Draw(LCD_COLOR_GRAY, LCD_COLOR_BLACK); - - while(boutton_valider == 0) { - if(valider.Touched()) { - boutton_valider = 1; - } - } - boutton_valider = 0; + } + /////////////////////////////////////////////////////////////////////////// - //*** Ecran prix total *** - BSP_LCD_Clear(LCD_COLOR_WHITE); - BSP_LCD_SetFont(&LCD_DEFAULT_FONT); - BSP_LCD_SetBackColor(LCD_COLOR_ORANGE); - BSP_LCD_SetTextColor(LCD_COLOR_BLACK); - HAL_Delay(1000); - - BSP_LCD_DisplayStringAt(0, 70, (uint8_t *)"Prix total", CENTER_MODE); - HAL_Delay(1000); - - BSP_LCD_SetFont(&Font20); - BSP_LCD_SetBackColor(LCD_COLOR_RED); - sprintf(buffer, "%0.2f Euros", prix_total); - BSP_LCD_DisplayStringAt(0, 120, (uint8_t *)buffer, CENTER_MODE); - HAL_Delay(1000); - - //Bouton retour vers la page d'acceuil - Button acceuil(lcd_, ts_, 68, 215, 350, 40, - LCD_COLOR_BLUE, LCD_COLOR_BLACK, "Retour vers la page d'acceuil", Font16); - acceuil.Draw(LCD_COLOR_GRAY, LCD_COLOR_BLACK); + //////////////////////////////////// + //////////PAGE LISTE//////////////// + //////////////////////////////////// + void page_liste(){ + page = 1; - while(boutton_acceuil == 0) { - if(acceuil.Touched()) { - boutton_acceuil = 1; - nb_pommes = 0; - nb_poires = 0; - nb_oranges = 0; - nb_bananes = 0; - nb_tomates = 0; - nb_fraises = 0; - nb_raisins = 0; - nb_kiwis = 0; - nb_haricots = 0; - prix_total = 0; - } - } - boutton_acceuil = 0; - } - - //Ajouts au panier - else if(pommes.Touched()) { - nb_pommes = nb_pommes + 1; - prix_total = prix_total + 2.20; - HAL_Delay(300); - } + drawImage_LogoParisSaclay(0,0); + drawImage_fleche(447,0); + BSP_LCD_SetTextColor(LCD_COLOR_BLACK); + BSP_LCD_DrawHLine(0,22,480); + + sprintf((char*)text, "Page liste"); + BSP_LCD_DisplayStringAt(0, LINE(0), (uint8_t *)&text, CENTER_MODE); + } + /////////////////////////////////////////////////////////////////////////// + - else if(poires.Touched()) { - nb_poires = nb_poires + 1; - prix_total = prix_total + 3.50; - HAL_Delay(300); - } - - else if(oranges.Touched()) { - nb_oranges = nb_oranges + 1; - prix_total = prix_total + 2.00; - HAL_Delay(300); - } + //////////////////////////////////// + ///////////PAGE ACCUEIL///////////// + //////////////////////////////////// + void page_accueil(){ + page = 2; + BSP_LCD_SetTextColor(LCD_COLOR_BLACK); - else if(bananes.Touched()) { - nb_bananes = nb_bananes + 1; - prix_total = prix_total + 3.00; - HAL_Delay(300); - } + drawImage_LogoParisSaclay(0,0); + drawImage_BT(268,60); + drawImage_market(70,57); - else if(tomates.Touched()) { - nb_tomates = nb_tomates + 1; - prix_total = prix_total + 1.00; - HAL_Delay(300); - } + sprintf((char*)text, "Page d'accueil"); + BSP_LCD_DisplayStringAt(0, LINE(2), (uint8_t *)&text, CENTER_MODE); - else if(fraises.Touched()) { - nb_fraises = nb_fraises + 1; - prix_total = prix_total + 4.00; - HAL_Delay(300); - } + BSP_LCD_DrawRect(65, 55, 150, 175); //Bouton commande + BSP_LCD_DrawHLine(65,210,150); + sprintf((char*)text, "PAGE COMMANDE"); + BSP_LCD_DisplayStringAt(95, LINE(18), (uint8_t *)&text, LEFT_MODE); - else if(raisins.Touched()) { - nb_raisins = nb_raisins + 1; - prix_total = prix_total + 4.20; - HAL_Delay(300); - } - else if(kiwis.Touched()) { - nb_kiwis = nb_kiwis + 1; - prix_total = prix_total + 2.99; - HAL_Delay(300); - } + BSP_LCD_DrawRect(265, 55, 150, 175); //Bouton BT + BSP_LCD_DrawHLine(265,210,150); + BSP_LCD_SetTextColor(LCD_COLOR_BLUE); + sprintf((char*)text, "BLUETOOTH"); + BSP_LCD_DisplayStringAt(102, LINE(18), (uint8_t *)&text, CENTER_MODE); + } + /////////////////////////////////////////////////////////////////////////// - else if(haricots.Touched()) { - nb_haricots = nb_haricots + 1; - prix_total = prix_total + 1.50; - HAL_Delay(300); - } - } - boutton_retour = 0; - boutton_scanner = 0; - boutton_panier = 0; - } -} \ No newline at end of file + \ No newline at end of file