Projet Interfacage capteur de recul

Dependencies:   TS_DISCO_F746NG LCD_DISCO_F746NG SRF02 BSP_DISCO_F746NG BUTTON_GROUP

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