updated version with parameters loaded from sdcard

Dependencies:   F7_Ethernet mbed MbedJSONValue LCD_DISCO_F746NG mbed-rtos BSP_DISCO_F746NG CANMsg NetworkAPI SDFileSystem_Warning_Fixed GroveStreamsmodified LcdDiscoF746NgTracer JSON

Branch:
jpa
Revision:
3:2de8e4771674
Parent:
2:462b5c0d3472
Child:
4:fbbf5d1785e7
--- a/touchScreen.cpp	Tue Sep 01 06:37:15 2020 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,246 +0,0 @@
-
-#include "stm32746g_discovery_lcd.h"
-#include "stm32746g_discovery_ts.h"
-#include "mbed.h"
-#include "GroveStreams.h"
-#include "MbedJSONValue.h"
-
-int initDisplayTemp();
-
-// GroveStreams Settings
-//extern const char gsApiKey[];// = "YOUR_SECRET_API_KEY_HERE";   //Change This!!!
-extern const char gsCompName[];// = "STM32F746+Discovery";  //Optionally change. Set this to give your component a name when it initially registers. Encode special chars such as spaces.
-
-extern const char gsCompTmplId[];  //Optional. Tells GS what template to use when the feed initially arrives and a new component needs to be created.
-
-////GroveStreams groveStreams(gsApiKey, &lcd);
-extern GroveStreams groveStreams;
-
-extern const char* myMac;
-
-extern time_t seconds;
-time_t seconds_touches = 0;
-extern time_t lastToucheTime;  
-
-int touchInitJPA1()
-    {    //touch screen init
-    //touch screen
-    uint8_t status;  
-    BSP_LCD_Init();
-    BSP_LCD_LayerDefaultInit(LTDC_ACTIVE_LAYER, LCD_FB_START_ADDRESS);
-    BSP_LCD_SelectLayer(LTDC_ACTIVE_LAYER);
-    BSP_LCD_SetFont(&Font12); 
-    status = BSP_TS_Init(BSP_LCD_GetXSize(), BSP_LCD_GetYSize());
-    if (status != TS_OK) {
-        BSP_LCD_Clear(LCD_COLOR_RED);
-        BSP_LCD_SetBackColor(LCD_COLOR_RED);
-        BSP_LCD_SetTextColor(LCD_COLOR_WHITE);
-        BSP_LCD_DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN INIT FAIL", CENTER_MODE);
-        }
-    else {
-        BSP_LCD_Clear(LCD_COLOR_DARKBLUE);
-        BSP_LCD_SetBackColor(LCD_COLOR_BLACK);
-        BSP_LCD_SetTextColor(LCD_COLOR_GREEN);
-        //BSP_LCD_DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN INIT OK", CENTER_MODE);
-        }  
-    
-    return 0;   
-    }
-
-int xButton[5],yButton[5],dxButton[5],dyButton[5],xTxtButton[5],yTxtButton[5];
-uint32_t backColorButton[5], txtColorButton[5];
-char textButton[5][30];
-char text1Button[5][30];
-char statusButton[5][30];
-
-int touchButtonJPA1(int numButton)
-    {
-    if ((numButton > 0) && (numButton < 5))
-        { 
-        BSP_LCD_SetBackColor(backColorButton[numButton]);
-        BSP_LCD_SetTextColor(backColorButton[numButton]);
-        BSP_LCD_FillRect(xButton[numButton], yButton[numButton], dxButton[numButton], dyButton[numButton]);
-        BSP_LCD_SetTextColor(txtColorButton[numButton]);
-        BSP_LCD_DrawRect(xButton[numButton], yButton[numButton], dxButton[numButton], dyButton[numButton]);
-        BSP_LCD_SetFont(&Font20); 
-        BSP_LCD_DisplayStringAt(xTxtButton[numButton]+52, yTxtButton[numButton], (uint8_t *)statusButton[numButton], LEFT_MODE);
-        BSP_LCD_DisplayStringAt(xTxtButton[numButton], yTxtButton[numButton]+28, (uint8_t *)textButton[numButton], LEFT_MODE);
-        BSP_LCD_DisplayStringAt(xTxtButton[numButton], yTxtButton[numButton]+48, (uint8_t *)text1Button[numButton], LEFT_MODE);
-        }
-    return 0;
-    }
-
-
-// generation de fonts : http://omz-software.com/pythonista/docs/ios/ImageFont.html
-int touchInitGuiJPA1()
-    {   
-    xButton[1]=10;yButton[1]=185;dxButton[1]=100;dyButton[1]=80;xTxtButton[1]=12;yTxtButton[1]=190;
-    backColorButton[1] = LCD_COLOR_GRAY; txtColorButton[1] = LCD_COLOR_GREEN;
-    sprintf(textButton[1],"Lampe ");
-    sprintf(text1Button[1],"Sejour");
-    sprintf(statusButton[1],"off");
-
-    xButton[2]=130;yButton[2]=185;dxButton[2]=100;dyButton[2]=80;xTxtButton[2]=132;yTxtButton[2]=190;
-    backColorButton[2] = LCD_COLOR_GRAY; txtColorButton[2] = LCD_COLOR_GREEN;
-    sprintf(textButton[2],"Lampe ");
-    sprintf(text1Button[2],"Sejours");
-    sprintf(statusButton[2],"off");
-       
-    xButton[3]=250;yButton[3]=185;dxButton[3]=100;dyButton[3]=80;xTxtButton[3]=252;yTxtButton[3]=190;
-    backColorButton[3] = LCD_COLOR_GRAY; txtColorButton[3] = LCD_COLOR_GREEN;
-    sprintf(textButton[3],"Lampe ");
-    sprintf(text1Button[3],"Sejour");
-    sprintf(statusButton[3],"off");
-       
-    xButton[4]=370;yButton[4]=185;dxButton[4]=100;dyButton[4]=80;xTxtButton[4]=372;yTxtButton[4]=190;
-    backColorButton[4] = LCD_COLOR_GRAY; txtColorButton[4] = LCD_COLOR_GREEN;
-    sprintf(textButton[4],"Lampe ");
-    sprintf(text1Button[4],"Sejour");
-    sprintf(statusButton[4],"off");
-
-    touchButtonJPA1(1);
-    touchButtonJPA1(2);
-    touchButtonJPA1(3);
-    touchButtonJPA1(4);
-    
-    BSP_LCD_SetFont(&FontFreeMono64); 
-    //BSP_LCD_DisplayStringAt(20, 30, (uint8_t *)"0123456789", LEFT_MODE);
-    //BSP_LCD_DisplayCharJPA(20, 90, '8');
-    BSP_LCD_SetFont(&Font12); 
-    return 0; 
-    }
-    
-int touchJPA1()
-    {
-    //touch screen
-    TS_StateTypeDef TS_State;
-    uint16_t x, y;
-    uint8_t text[30];
-    uint8_t status = 0;
-    uint8_t idx;
-    static uint8_t cleared = 0;
-    uint8_t prev_nb_touches = 0;
-    
-     
-        //touch screen
-        BSP_TS_GetState(&TS_State);
-        if (TS_State.touchDetected) {
-            // Clear lines corresponding to old touches coordinates
-            if (TS_State.touchDetected < prev_nb_touches) {
-                for (idx = (TS_State.touchDetected + 1); idx <= 5; idx++) {
-                    //BSP_LCD_ClearStringLine(idx);
-                }
-            }
-            prev_nb_touches = TS_State.touchDetected;
-            
-            cleared = 0;
-
-            //sprintf((char*)text, "Touches: %d", TS_State.touchDetected);
-            //BSP_LCD_DisplayStringAt(0, LINE(0), (uint8_t *)&text, LEFT_MODE);
-
-            for (idx = 0; idx < TS_State.touchDetected; idx++) {
-                x = TS_State.touchX[idx];
-                y = TS_State.touchY[idx];
-                //sprintf((char*)text, "Touch %d: x=%d y=%d    ", idx+1, x, y);
-                //BSP_LCD_DisplayStringAt(0, LINE(idx+1), (uint8_t *)&text, LEFT_MODE);
-            }
-
-            //BSP_LCD_DrawPixel(TS_State.touchX[0], TS_State.touchY[0], LCD_COLOR_ORANGE);
-            
-            if ((TS_State.touchY[0] > 160) && (TS_State.touchY[0] < (160+80)))
-                {
-                int numTouche = 0;
-                if ((TS_State.touchX[0] > 10) && (TS_State.touchX[0]  < (10+100)))  {numTouche = 1;}
-                if ((TS_State.touchX[0] > 130) && (TS_State.touchX[0] < (130+100))) {numTouche = 2;}
-                if ((TS_State.touchX[0] > 250) && (TS_State.touchX[0] < (250+100))) {numTouche = 3;}
-                if ((TS_State.touchX[0] > 370) && (TS_State.touchX[0] < (370+100))) {numTouche = 4;}
-                if (numTouche >0) 
-                    {
-                    printf("Touche : %d", numTouche);
-                    sprintf((char*)text, "Touche : %d", numTouche);
-                    //BSP_LCD_DisplayStringAt(200,0, (uint8_t *)&text, LEFT_MODE);
-                    status = numTouche;
-                    }  
-                else {lastToucheTime = 0;}
-                }
-        } else {
-            lastToucheTime = 0;
-            if (!cleared) {
-                //BSP_LCD_Clear(LCD_COLOR_DARKBLUE);
-                //sprintf((char*)text, "Touches: 0");
-                //BSP_LCD_DisplayStringAt(0, LINE(0), (uint8_t *)&text, LEFT_MODE);
-                //cleared = 1;
-                //int ss = touchInitGuiJPA1();
-                //ss=initDisplayTemp();
-            }
-        }
-        //touch screen    
-    return status;
-    }
-    
-int sendTouchJPA(int xx)
-    {
-    uint8_t status = 0;
-            seconds = time(NULL);
-            if((seconds - lastToucheTime) > 1) 
-                {
-                char samples[64] = {0};char resultBuffer[2000]= {0};
-                sprintf(samples,"&Touche=%i",xx);
-                printf("\nSend Touche=%i\n",xx);
-                int sendResult = groveStreams.sendJPA(myMac, samples, gsCompName, gsCompTmplId, resultBuffer, sizeof resultBuffer);
-                if (sendResult == 0) {
-                        ////lcd.printf("Send Successful");
-                        printf("Send Successful\n");
-                        if (strlen(resultBuffer) > 0) {
-                            //printf("HTTP string : %s\n", resultBuffer);
-                            MbedJSONValue mbedJson;
-                            parse(mbedJson, resultBuffer);
-                            
-                            int displayOn = 0;
-                            string s;
-                            if (mbedJson.hasMember("Touche1")) {
-                                s = mbedJson["Touche1"]["BackColor"].get<std::string>();
-                                backColorButton[1] = (uint32_t)strtoul(s.c_str(), NULL,16);
-                                s = mbedJson["Touche1"]["TextColor"].get<std::string>();
-                                txtColorButton[1] = (uint32_t)strtoul(s.c_str(), NULL,16);
-                                s = mbedJson["Touche1"]["Status"].get<std::string>();
-                                sprintf(statusButton[1],s.c_str());
-                                displayOn = (0x02 | displayOn);}
- 
-                             if (mbedJson.hasMember("Touche2")) {
-                                s = mbedJson["Touche2"]["BackColor"].get<std::string>();
-                                backColorButton[2] = (uint32_t)strtoul(s.c_str(), NULL,16);
-                                s = mbedJson["Touche2"]["TextColor"].get<std::string>();
-                                txtColorButton[2] = (uint32_t)strtoul(s.c_str(), NULL,16);
-                                s = mbedJson["Touche2"]["Status"].get<std::string>();
-                                sprintf(statusButton[2],s.c_str());
-                                displayOn = (0x04 | displayOn);}
-
-                            if (mbedJson.hasMember("Touche3")) {
-                                s = mbedJson["Touche3"]["BackColor"].get<std::string>();
-                                backColorButton[3] = (uint32_t)strtoul(s.c_str(), NULL,16);
-                                s = mbedJson["Touche3"]["TextColor"].get<std::string>();
-                                txtColorButton[3] = (uint32_t)strtoul(s.c_str(), NULL,16);
-                                s = mbedJson["Touche3"]["Status"].get<std::string>();
-                                sprintf(statusButton[3],s.c_str());
-                                displayOn = (0x08 | displayOn);}
-                                
-                            if (mbedJson.hasMember("Touche4")) {
-                                s = mbedJson["Touche4"]["BackColor"].get<std::string>();
-                                backColorButton[4] = (uint32_t)strtoul(s.c_str(), NULL,16);
-                                s = mbedJson["Touche4"]["TextColor"].get<std::string>();
-                                txtColorButton[4] = (uint32_t)strtoul(s.c_str(), NULL,16);
-                                s = mbedJson["Touche4"]["Status"].get<std::string>();
-                                sprintf(statusButton[4],s.c_str());
-                                displayOn = (0x10 | displayOn);}  
-                                                             
-                            if ((displayOn & 0x02) > 0) {touchButtonJPA1(1);}
-                            if ((displayOn & 0x04) > 0) {touchButtonJPA1(2);}
-                            if ((displayOn & 0x08) > 0) {touchButtonJPA1(3);}
-                            if ((displayOn & 0x10) > 0) {touchButtonJPA1(4);}
-                            }
-                        }
-                }
-    
-    return status;    
-    }