
Projet Interfacage capteur de recul
Dependencies: TS_DISCO_F746NG LCD_DISCO_F746NG SRF02 BSP_DISCO_F746NG BUTTON_GROUP
Diff: main.cpp
- Revision:
- 5:8df147fe09cc
- Parent:
- 4:fb942253d9e6
--- a/main.cpp Thu Jun 03 12:02:20 2021 +0000 +++ b/main.cpp Tue Jun 22 13:22:31 2021 +0000 @@ -2,68 +2,33 @@ #include "stm32746g_discovery_lcd.h" #include "stm32746g_discovery_ts.h" #include "button_group.hpp" -#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" +#include "mbed.h" +#include "SRF02.h" -//using namespace Mikami; -//TS_DISCO_F746NG ts_; -//LCD_DISCO_F746NG lcd_; +//declarations 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; + +void page_capteur(void); //0 +void page_alarme(void); //1 +void page_accueil(void); //2 + +int page = 2; uint8_t idx; -uint8_t cleared = 0; -uint8_t prev_nb_touches = 0; -//float prix_total = 0; -//char buffer [50]; +uint8_t dStd = 50; +uint8_t dLim = 40; +uint8_t dCrit = 30; + +SRF02 sensor(0xE0,PB_9,PB_8); // address, SDA, SCL +DigitalOut buzzer(PH_6); -//market -void drawImage_market(int offsetX, int offsetY) -{ - int x = 0; - int y = 0; - 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 +//fonction pour afficher l'image fleche void drawImage_fleche(int offsetX, int offsetY) { int x = 0; @@ -80,25 +45,8 @@ } } -//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 +//fonction pour afficher l'image logo void drawImage_LogoParisSaclay(int offsetX, int offsetY) { int x = 0; @@ -115,28 +63,14 @@ } } -//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++; - } - x = 0; - y++; - } -} +///////////////////// +///// PROGRAMME ///// +///////////////////// int main() { - int c[6]={0,0,0,0,0,0}; //0 = a traiter 1 = en cours 2 = fait - int commande = 6; + //initialisation de l'ecran BSP_LCD_Init(); BSP_LCD_LayerDefaultInit(LTDC_ACTIVE_LAYER, LCD_FB_START_ADDRESS); BSP_LCD_SelectLayer(LTDC_ACTIVE_LAYER); @@ -148,12 +82,12 @@ 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 { + } + 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); + BSP_LCD_SetBackColor(LCD_COLOR_CYAN); + BSP_LCD_SetTextColor(LCD_COLOR_BLACK); + BSP_LCD_DisplayStringAt(0, LINE(5), (uint8_t *)"PROJET INTERFACAGE", CENTER_MODE); } HAL_Delay(2000); @@ -163,539 +97,393 @@ BSP_LCD_SetBackColor(LCD_COLOR_WHITE); BSP_LCD_SetTextColor(LCD_COLOR_BLACK); + //lancement du programme while(1) { - - // DETECTION CLICS + + ////////////////////////////// + ///// 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)) + x = TS_State.touchX[idx]; + y = TS_State.touchY[idx]; + } + + + ////////////////////////////// + ///// AFFICHAGE PAGES : ////// + ////////////////////////////// + + //PAGE ACCUEIL VERS PAGE CAPTEUR + //si page p et clic sur cadre correspondant + if ((page == 2) && (x>= 65 && x<= 215) && (y>= 55 && y<= 230)) + { + //reset ecran et coordonnées + BSP_LCD_Clear(LCD_COLOR_WHITE); + x = 0; + y = 0; + //affichage page p + page = 0; + HAL_Delay(300); + } + + //PAGE ACCUEIL VERS PAGE ALARME + if ((page == 2) && (x>= 265 && x<= 415) && (y>= 55 && y<= 230)) + { + BSP_LCD_Clear(LCD_COLOR_WHITE); + x = 0; + y = 0; + page = 1; + HAL_Delay(300); + } + + // PAGE CAPTEUR VERS PAGE D'ACCUEIL + if ((page == 0) && (x>= 455 && x<= 480) && (y>= 0 && y<= 25)) + { + BSP_LCD_Clear(LCD_COLOR_WHITE); + x = 0; + y = 0; + page = 2; + HAL_Delay(300); + } + + // PAGE ALARME VERS PAGE D'ACCUEIL + if ((page == 1) && (x>= 455 && x<= 480) && (y>= 0 && y<= 25)) + { + BSP_LCD_Clear(LCD_COLOR_WHITE); + x = 0; + y = 0; + page = 2; + HAL_Delay(300); + } + + // AFFICHAGE DE LA PAGE D'ACCUEIL + else if (page == 2) { - BSP_LCD_Clear(LCD_COLOR_WHITE); - x = 0; - y = 0; - page = 2; - HAL_Delay(300); - } + page_accueil(); + } + + + ///////////////////////// + ///// MODE CAPTEUR : //// + ///////////////////////// + + //REGLAGE DES SEUILS D'ALARME : - //PAGE ACCUEIL VERS PAGE COMMANDE - if ((page == 2) && (x>= 65 && x<= 215) && (y>= 60 && y<= 240)) + //dStd -1 + //en page capteur, si clic sur cadre correspondant + else if ((page == 0) && (x>= 8 && x<= 55) && (y>= 33 && y<= 85)) + { + x = 0; + y = 0; + //si seuil changeable + if (dStd >> (dLim+5) && dStd <= 80) + //modifier en conséquence + { dStd = dStd - 1; } + HAL_Delay(200); + } + + //dStd +1 + else if ((page == 0) && (x>= 188 && x<= 231) && (y>= 33 && y<= 85)) + { + x = 0; + y = 0; + if (dStd >= (dLim+5) && dStd < 80) + { dStd = dStd + 1; } + HAL_Delay(200); + } + + //dLim -1 + else if ((page == 0) && (x>= 8 && x<= 51) && (y>= 113 && y<= 160)) { - BSP_LCD_Clear(LCD_COLOR_WHITE); - x = 0; - y = 0; - page = 0; - HAL_Delay(300); - } + x = 0; + y = 0; + if (dLim > (dCrit+5) && dLim <= (dStd-5)) + { dLim = dLim - 1; } + HAL_Delay(200); + } + + //dLim +1 + else if ((page == 0) && (x>= 193 && x<= 236) && (y>= 113 && y<= 160)) + { + x = 0; + y = 0; + if (dLim >= (dCrit+5) && dLim < (dStd-5)) + { dLim = dLim + 1; } + HAL_Delay(200); + } + + //dCrit -1 + else if ((page == 0) && (x>= 8 && x<= 51) && (y>= 193 && y<= 240)) + { + x = 0; + y = 0; + if (dCrit > 20 && dCrit <= (dLim-5)) + { dCrit = dCrit - 1; } + HAL_Delay(200); + } - // PAGE LISTE VERS PAGE COMMANDE - if ((page == 1) && (x>= 458 && x<= 480) && (y>= 0 && y<= 22)) + //dCrit +1 + else if ((page == 0) && (x>= 193 && x<= 236) && (y>= 193 && y<= 240)) { - BSP_LCD_Clear(LCD_COLOR_WHITE); - x = 0; - y = 0; - page = 0; - commande = 6; - HAL_Delay(300); - } + x = 0; + y = 0; + if (dCrit >= 20 && dCrit < (dLim-5)) + { dCrit = dCrit + 1; } + HAL_Delay(200); + } - //PAGE COMMANDE - // HAUT GAUCHE - else if ((page == 0) && (x>= 8 && x<= 236) && (y>= 29 && y<= 103)) + else if (page == 0) { - 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); + // AFFICHAGE DE LA PAGE MODE CAPTEUR + page_capteur(); + + + //LECTURE DU CAPTEUR ET AFFICHAGE DE LA DISTANCE MESUREE + int distance; + //lecture du capteur en cm + distance = sensor.GetCentimeters(); + //affichage sur l'ecran + BSP_LCD_SetTextColor(LCD_COLOR_BLACK); + sprintf((char*)text, "Distance = %d cm",distance); + BSP_LCD_DisplayStringAt(80, LINE(3), (uint8_t *)&text, RIGHT_MODE); + HAL_Delay(20); + + + //AFFICHAGE DES ALARMES ET DECLENCHEMENT DES BIPS + if(distance >= dStd){ //distance > a tous les seuils d'alarme (ras) + buzzer = 0; } - // 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); + //premier seuil + if(distance < dStd){ //dStd triggered + //afficher rectangle vert + BSP_LCD_SetTextColor(LCD_COLOR_GREEN); + BSP_LCD_FillRect(347, 180, 40, 40); } - - // 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); + else{ //dStd ok + BSP_LCD_SetTextColor(LCD_COLOR_WHITE); + BSP_LCD_FillRect(347, 180, 40, 40); } - // 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); + //deuxième seuil + if(distance < dLim){ //dLim triggered + //afficher rectangle orange + BSP_LCD_SetTextColor(LCD_COLOR_ORANGE); + BSP_LCD_FillRect(338, 115, 60, 50); + //faire bipper buzzer + if(distance > dCrit){ + buzzer = 1; + HAL_Delay(250); + buzzer = 0; + HAL_Delay(750); + } + } + else{ //dLim ok + BSP_LCD_SetTextColor(LCD_COLOR_WHITE); + BSP_LCD_FillRect(338, 115, 60, 50); + buzzer = 0; } - - // 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); + //seuil max + if(distance < dCrit){ //dCrit triggered + //afficher rectangle rouge + BSP_LCD_SetTextColor(LCD_COLOR_RED); + BSP_LCD_FillRect(330, 45, 80, 55); + //faire sonner buzzer en continu + buzzer = 1; + } + else{ //dCrit ok + BSP_LCD_SetTextColor(LCD_COLOR_WHITE); + BSP_LCD_FillRect(330, 45, 80, 55); + buzzer = 0; } - 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); - } - } - } + }//fin mode capteur + + + ///////////////////////// + ///// MODE ALARME : ///// + ///////////////////////// else if (page == 1) { - page_liste(); - } + // AFFICHAGE DE LA PAGE MODE ALARME + page_alarme(); + - else if (page == 2) - { - page_accueil(); - } - - - - switch (commande) { - - 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); - } - } + //LECTURE DU CAPTEUR ET AFFICHAGE DE LA DISTANCE MESUREE + int distance; + //lecture du capteur en cm + distance = sensor.GetCentimeters(); + sprintf((char*)text, "Distance = %d cm",distance); + BSP_LCD_DisplayStringAt(80, LINE(3), (uint8_t *)&text, RIGHT_MODE); + HAL_Delay(20); - 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); + // ALERTE + if(distance < 40){ //alarme triggered + //afficher rectangle + BSP_LCD_SetTextColor(LCD_COLOR_RED); + BSP_LCD_FillRect(165,70,150,150); + //faire sonner buzzer en continu + buzzer = 1; } - break; - - 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); - } + else{ //alarme ok + BSP_LCD_SetTextColor(LCD_COLOR_WHITE); + BSP_LCD_FillRect(165,70,150,150); + buzzer = 0; } - 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); - - 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); - } - } + //afficher message detection + sprintf((char*)text, "INTRUSION"); + BSP_LCD_DisplayStringAt(0, LINE(4), (uint8_t *)&text, CENTER_MODE); - 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); - } - } - 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); - } - } - - 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; + }//fin mode alarme + + }//fin while + +}//fin main + + + +///////////////////////// +///// PAGE CAPTEUR ////// +///////////////////////// +void page_capteur () +{ + page = 0; + BSP_LCD_SetTextColor(LCD_COLOR_BLACK); + + //afficher logo + drawImage_LogoParisSaclay(0,0); + + //afficher titre page + sprintf((char*)text, "Mode Capteur de recul"); + BSP_LCD_DisplayStringAt(0, LINE(1), (uint8_t *)&text, CENTER_MODE); + + //afficher fleche + drawImage_fleche(447,0); + + //ligne de "cadre" + BSP_LCD_DrawHLine(0,24,480); + - 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); - } - } - - 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; -} - } - - + //ZONE REGLAGE dStd + //afficher rectangle cadre + BSP_LCD_DrawRect(8, 33, 228, 74); + //afficher seuil + sprintf ((char*)text, "%d", dStd); + BSP_LCD_DisplayStringAt(110, 51, (uint8_t *)&text, LEFT_MODE); + //ligne "cadre" - + BSP_LCD_DrawVLine(51,33,47); + //afficher - + sprintf((char*)text, "-"); + BSP_LCD_DisplayStringAt(26, 51, (uint8_t *)&text, LEFT_MODE); + //ligne "cadre" + + BSP_LCD_DrawVLine(193,33,47); + //afficher + + sprintf((char*)text, "+"); + BSP_LCD_DisplayStringAt(212, 51, (uint8_t *)&text, LEFT_MODE); + //ligne "cadre" nom du seuil + BSP_LCD_DrawHLine(8,80,228); + //afficher nom du seuil + sprintf((char*)text, "Distance acceptable"); + BSP_LCD_DisplayStringAt(57,87, (uint8_t *)&text, LEFT_MODE); + + + //ZONE REGLAGE dLim + BSP_LCD_DrawRect(8, 113, 228, 74); + sprintf((char*)text, "%d", dLim); + BSP_LCD_DisplayStringAt(110, 131, (uint8_t *)&text, LEFT_MODE); + BSP_LCD_DrawVLine(51,113,47); + sprintf((char*)text, "-"); + BSP_LCD_DisplayStringAt(27, 131, (uint8_t *)&text, LEFT_MODE); + BSP_LCD_DrawVLine(193,113,47); + sprintf((char*)text, "+"); + BSP_LCD_DisplayStringAt(212, 131, (uint8_t *)&text, LEFT_MODE); + BSP_LCD_DrawHLine(8,160,228); + sprintf((char*)text, "Distance limite"); + BSP_LCD_DisplayStringAt(70, 167, (uint8_t *)&text, LEFT_MODE); + + //ZONE REGLAGE dCrit + BSP_LCD_DrawRect(8, 193, 228, 73); + sprintf((char*)text, "%d", dCrit); + BSP_LCD_DisplayStringAt(110, 212, (uint8_t *)&text, LEFT_MODE); + BSP_LCD_DrawVLine(50,193,47); + sprintf((char*)text, "-"); + BSP_LCD_DisplayStringAt(27, 212, (uint8_t *)&text, LEFT_MODE); + BSP_LCD_DrawVLine(193,193,47); + sprintf((char*)text, "+"); + BSP_LCD_DisplayStringAt(212, 212, (uint8_t *)&text, LEFT_MODE); + BSP_LCD_DrawHLine(8,240,228); + sprintf((char*)text, "Distance critique"); + BSP_LCD_DisplayStringAt(63, 247, (uint8_t *)&text, LEFT_MODE); + + + //PASTILLE DE BASE + BSP_LCD_SetTextColor(LCD_COLOR_GREEN); + BSP_LCD_FillRect(350, 237, 30, 30); } - ////////////////////////////////////// - ////////////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); - - BSP_LCD_DrawHLine(0,22,480); - - drawImage_fleche(447,0); - - // 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// - - //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); - - // 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); - - - } - /////////////////////////////////////////////////////////////////////////// - - - //////////////////////////////////// - //////////PAGE LISTE//////////////// - //////////////////////////////////// - void page_liste(){ +/////////////////////// +///// PAGE ALARME ///// +/////////////////////// +void page_alarme() +{ page = 1; + //afficher logo drawImage_LogoParisSaclay(0,0); + + //afficher fleche drawImage_fleche(447,0); BSP_LCD_SetTextColor(LCD_COLOR_BLACK); - BSP_LCD_DrawHLine(0,22,480); + + //ligne de "cadre" + BSP_LCD_DrawHLine(0,24,480); - sprintf((char*)text, "Page liste"); - BSP_LCD_DisplayStringAt(0, LINE(0), (uint8_t *)&text, CENTER_MODE); - } - /////////////////////////////////////////////////////////////////////////// + //afficher titre page + sprintf((char*)text, "Mode Alarme de securite"); + BSP_LCD_DisplayStringAt(0, LINE(1), (uint8_t *)&text, CENTER_MODE); +} + + +//////////////////////// +///// PAGE ACCUEIL ///// +//////////////////////// - - //////////////////////////////////// - ///////////PAGE ACCUEIL///////////// - //////////////////////////////////// - void page_accueil(){ +void page_accueil() +{ page = 2; BSP_LCD_SetTextColor(LCD_COLOR_BLACK); + //afficher logo drawImage_LogoParisSaclay(0,0); - drawImage_BT(268,60); - drawImage_market(70,57); + //afficher titre page sprintf((char*)text, "Page d'accueil"); BSP_LCD_DisplayStringAt(0, LINE(2), (uint8_t *)&text, CENTER_MODE); - BSP_LCD_DrawRect(65, 55, 150, 175); //Bouton commande + //Mode recul + //afficher rectangle cadre + BSP_LCD_DrawRect(65, 55, 150, 175); + //ligne "cadre" nom du mode BSP_LCD_DrawHLine(65,210,150); - sprintf((char*)text, "PAGE COMMANDE"); - BSP_LCD_DisplayStringAt(95, LINE(18), (uint8_t *)&text, LEFT_MODE); + //afficher nom du mode + sprintf((char*)text, "Capteur de recul"); + BSP_LCD_DisplayStringAt(85, LINE(18), (uint8_t *)&text, LEFT_MODE); - BSP_LCD_DrawRect(265, 55, 150, 175); //Bouton BT + //Mode alarme + BSP_LCD_DrawRect(265, 55, 150, 175); BSP_LCD_DrawHLine(265,210,150); BSP_LCD_SetTextColor(LCD_COLOR_BLUE); - sprintf((char*)text, "BLUETOOTH"); + sprintf((char*)text, "Alarme de securite"); BSP_LCD_DisplayStringAt(102, LINE(18), (uint8_t *)&text, CENTER_MODE); - } - /////////////////////////////////////////////////////////////////////////// - - \ No newline at end of file +}