Code projet_gestion_de_commande_en_ligne
Dependencies: TS_DISCO_F746NG LCD_DISCO_F746NG BSP_DISCO_F746NG BUTTON_GROUP
Diff: main.cpp
- Revision:
- 2:e007f6b6e145
- Parent:
- 1:7e34491bfd01
- Child:
- 3:5b6f580d3f3a
--- a/main.cpp Fri Jun 19 14:12:12 2020 +0000 +++ b/main.cpp Mon Jun 22 15:41:23 2020 +0000 @@ -13,8 +13,6 @@ #include "haricot.h" - - Serial pc(USBTX, USBRX); // tx, rx using namespace Mikami; @@ -195,15 +193,6 @@ } - - - - - - - - - int main() { unsigned int boutton_commande = 0; @@ -213,6 +202,18 @@ unsigned int boutton_acceuil = 0; unsigned int boutton_valider = 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; + + char buffer [50] ; + BSP_LCD_Init(); BSP_LCD_LayerDefaultInit(LTDC_ACTIVE_LAYER, LCD_FB_START_ADDRESS); BSP_LCD_SelectLayer(LTDC_ACTIVE_LAYER); @@ -248,29 +249,98 @@ BSP_LCD_Clear(LCD_COLOR_WHITE); HAL_Delay(1000); - drawImage_pomme (0,70) ; - drawImage_poire (0,130) ; - drawImage_orange (0,200) ; - drawImage_banane (155,65) ; - drawImage_tomate (155,130) ; - drawImage_fraise (155,200) ; - drawImage_raisin (310,65) ; - drawImage_kiwi (317,138) ; - drawImage_haricot (310,200) ; + //Images produits + drawImage_pomme (10,45) ; + drawImage_poire (10,130) ; + drawImage_orange (10,200) ; + drawImage_banane (165,35) ; + drawImage_tomate (165,122) ; + drawImage_fraise (165,200) ; + drawImage_raisin (320,35) ; + drawImage_kiwi (330,125) ; + drawImage_haricot (330,205) ; + HAL_Delay(1000); + + 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); + + //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); //Bouton retour - Button retour(lcd_, ts_, 10, 5, 60, 40, - LCD_COLOR_BLUE, LCD_COLOR_BLACK, "Retour", Font12); + 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_, 200, 5, 60, 40, - LCD_COLOR_BLUE, LCD_COLOR_BLACK, "Scanner", Font12); + 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_, 410, 5, 60, 40, - LCD_COLOR_BLUE, LCD_COLOR_BLACK, "Panier", Font12); + Button panier(lcd_, ts_, 360, 5, 90, 30, + LCD_COLOR_BLUE, LCD_COLOR_BLACK, "Panier", Font16); panier.Draw(LCD_COLOR_GRAY, LCD_COLOR_BLACK); while(boutton_retour == 0 && boutton_scanner == 0 && boutton_panier == 0) @@ -278,6 +348,15 @@ 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; } else if(scanner.Touched()) @@ -322,8 +401,71 @@ BSP_LCD_Clear(LCD_COLOR_WHITE); HAL_Delay(1000); + //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_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); + + //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); + + //Nombres produits dans panier + BSP_LCD_SetFont(&Font12); + sprintf(buffer, "Nombre : %d", nb_pommes); + BSP_LCD_DisplayStringAt(350, 55, (uint8_t *)buffer, CENTER_MODE); + sprintf(buffer, "Nombre : %d", nb_poires); + BSP_LCD_DisplayStringAt(350, 140, (uint8_t *)buffer, CENTER_MODE); + sprintf(buffer, "Nombre : %d", nb_oranges); + BSP_LCD_DisplayStringAt(350, 210, (uint8_t *)buffer, CENTER_MODE); + sprintf(buffer, "Nombre : %d", nb_bananes); + BSP_LCD_DisplayStringAt(30, 55, (uint8_t *)buffer, CENTER_MODE); + sprintf(buffer, "Nombre : %d", nb_tomates); + BSP_LCD_DisplayStringAt(30, 140, (uint8_t *)buffer, CENTER_MODE); + sprintf(buffer, "Nombre : %d", nb_fraises); + BSP_LCD_DisplayStringAt(30, 210, (uint8_t *)buffer, CENTER_MODE); + sprintf(buffer, "Nombre : %d", nb_raisins); + BSP_LCD_DisplayStringAt(190, 55, (uint8_t *)buffer, CENTER_MODE); + sprintf(buffer, "Nombre : %d", nb_kiwis); + BSP_LCD_DisplayStringAt(190, 140, (uint8_t *)buffer, CENTER_MODE); + sprintf(buffer, "Nombre : %d", nb_haricots); + BSP_LCD_DisplayStringAt(190, 210, (uint8_t *)buffer, CENTER_MODE); + HAL_Delay(1000); + //Bouton valider la commande - Button valider(lcd_, ts_, 88, 215, 300, 40, + Button valider(lcd_, ts_, 88, 225, 300, 40, LCD_COLOR_BLUE, LCD_COLOR_BLACK, "Valider la commande", Font16); valider.Draw(LCD_COLOR_GRAY, LCD_COLOR_BLACK); @@ -362,10 +504,64 @@ 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; } } boutton_acceuil = 0; } + + else if(pommes.Touched()) + { + nb_pommes = nb_pommes + 1; + } + + else if(poires.Touched()) + { + nb_poires = nb_poires + 1; + } + + else if(oranges.Touched()) + { + nb_oranges = nb_oranges + 1; + } + + else if(bananes.Touched()) + { + nb_bananes = nb_bananes + 1; + } + + else if(tomates.Touched()) + { + nb_tomates = nb_tomates + 1; + } + + else if(fraises.Touched()) + { + nb_fraises = nb_fraises + 1; + } + + else if(raisins.Touched()) + { + nb_raisins = nb_raisins + 1; + } + + else if(kiwis.Touched()) + { + nb_kiwis = nb_kiwis + 1; + } + + else if(haricots.Touched()) + { + nb_haricots = nb_haricots + 1; + } } boutton_retour = 0; boutton_scanner = 0;