26#include "../../Drivers/BSP/STM32F7508-Discovery/stm32f7508_discovery.h"
27#include "../../Drivers/BSP/STM32F7508-Discovery/stm32f7508_discovery_lcd.h"
28#include "../../Drivers/BSP/STM32F7508-Discovery/stm32f7508_discovery_ts.h"
29#include "configEntitysHA.h"
31#include "ui_v1_data.h"
32#include "madByMB_v1_data.h"
37#define enable_vBgReleased 0
40#define screenWidth 480
42#define screenHeight 272
51#define greyColorStartUp ((uint32_t)0xff161616)
54#define SCREENSAVER_DELAY 30000
57extern LTDC_HandleTypeDef
hltdc;
62static void vBgButton(uint16_t, uint16_t, uint32_t);
65static void vBgReleased(
void);
78 static uint8_t screensaver_status = 0;
79 if(ScreensaverStart < HAL_GetTick() && screensaver_status == 0){
81 HAL_GPIO_WritePin(LCD_DISP_GPIO_PORT, LCD_DISP_PIN, GPIO_PIN_RESET);
82 HAL_GPIO_WritePin(LCD_BL_CTRL_GPIO_PORT, LCD_BL_CTRL_PIN, GPIO_PIN_RESET);
83 screensaver_status = 1;
84 printf(
"Screensaver: on\n");
86 TS_StateTypeDef TS_State;
87 BSP_TS_GetState(&TS_State);
88 if(TS_State.touchDetected > 0){
91 if(screensaver_status == 1){
92 HAL_GPIO_WritePin(LCD_DISP_GPIO_PORT, LCD_DISP_PIN, GPIO_PIN_SET);
94 HAL_GPIO_WritePin(LCD_BL_CTRL_GPIO_PORT, LCD_BL_CTRL_PIN, GPIO_PIN_SET);
95 screensaver_status = 0;
96 printf(
"Screensaver: off\n");
110 BSP_LCD_LayerDefaultInit(1, LCD_FB_START_ADDRESS);
111 BSP_LCD_LayerDefaultInit(0, LCD_FB_START_ADDRESS+(480*272*4));
115 BSP_LCD_SelectLayer(0);
117 BSP_LCD_Clear(LCD_COLOR_WHITE);
118 BSP_LCD_SelectLayer(1);
120 BSP_LCD_Clear(LCD_COLOR_WHITE);
122 BSP_TS_Init(480,272);
134 BSP_LCD_SelectLayer(1);
136 WDA_LCD_DrawBitmap(MADEBYMB_SMAL_DATA,(
screenWidth-MADEBYMB_SMAL_DATA_X_PIXEL)/2,0,MADEBYMB_SMAL_DATA_X_PIXEL,MADEBYMB_SMAL_DATA_Y_PIXEL,MADEBYMB_SMAL_DATA_FORMAT);
148 BSP_LCD_SelectLayer(1);
150 WDA_LCD_DrawBitmap(UI_V1_DATA, 0,0, UI_V1_DATA_X_PIXEL, UI_V1_DATA_Y_PIXEL, UI_V1_DATA_FORMAT);
163 BSP_LCD_SelectLayer(1);
164 BSP_LCD_SetTextColor(LCD_COLOR_WHITE);
177 BSP_LCD_SelectLayer(1);
178 BSP_LCD_SetTextColor(LCD_COLOR_RED);
191 BSP_LCD_SetBackColor(LCD_COLOR_TRANSPARENT);
192 BSP_LCD_SetFont(&Font12);
193 BSP_LCD_DisplayStringAt(10,
screenHeight - 15 , (uint8_t*) message, LEFT_MODE );
207 char *entityArray[6] = {
216 for(uint8_t i = 1; i <= numberOfEntiys; i++){
224 printf(
"Init states of button: %d\n",i);
241 BSP_TS_GetState(TS_State);
242 if(TS_State->touchDetected >= 1 ){
244 if(TS_State->touchX[0] <=
bgRecW){
245 if(TS_State->touchY[0] <
bgRecH ){
255 else if(TS_State->touchX[0] >
bgRecW && TS_State->touchX[0] <= (
bgRecW * 2)){
256 if(TS_State->touchY[0] <
bgRecH ){
267 if(TS_State->touchY[0] <
bgRecH ){
294 if(strcmp(cState,
"on") == 0){
295 ulBgColor = LCD_COLOR_ORANGE;
297 else if(strcmp(cState,
"off") == 0){
298 ulBgColor = LCD_COLOR_LIGHTGRAY;
301 ulBgColor = LCD_COLOR_WHITE;
325 printf(
"Error button doesn't exist, vDisplayBgButtonState");
345 while(!(
hltdc.Instance->CDSR & 1<<2));
361static void vBgButton(uint16_t usPosY, uint16_t usPosX,uint32_t ulColor ){
362 while(!(
hltdc.Instance->CDSR & 1<<2));
363 BSP_LCD_SelectLayer(0);
364 BSP_LCD_SetTextColor(ulColor);
369#if enable_vBgReleased
370static void vBgReleased(
void){
371 BSP_LCD_SelectLayer(0);
372 BSP_LCD_Clear(LCD_COLOR_WHITE);
err_t errHaSend(char entity[], char action[], uint16_t usButton)
Stuur boodschap naar server.
void vDisplaycCheckScreensaver(void)
Schakelt het display uit na ingestelde tijd ( SCREENSAVER_DELAY)
uint16_t usDisplayTouch(TS_StateTypeDef *TS_State)
Verwerkt de touch actie van de user.
#define greyColorStartUp
Start up color.
static void vDisplayBgPressed(uint16_t, uint16_t)
private Kleur van de achtergrond bij indrukken veranderen
#define bgRecH
Background rectangle Height.
void vDisplayError(char message[])
Display error op het scherm.
static void vBgButton(uint16_t, uint16_t, uint32_t)
Verander de achtergrond van de button.
#define screenWidth
Screen Width.
void vDisplaySetUpButtonStates(void)
Vraagt de status op van iedere knop.
uint8_t globalReceive
Globale variabele voor communicatie tussen twee aparte functies.
#define screenHeight
Screen Height.
void vDisplayMessage(char message[])
Display message op het scherm.
void vDisplayInit(void)
Init display.
void vDisplayBgButtonState(uint8_t usButtonId, char cState[])
Verandert de achtergrond van de knop op basis van de status.
#define SCREENSAVER_DELAY
ScreenSaver delay.
void vDisplayStartUpScreen(void)
Start scherm weergeven.
void vDisplayMainScreen(void)
Display het hoofd scherm met de UI.
static void prvDisplayPrintText(char[])
private functie om de tekst te gaan afdrukken op het scherm
#define bgRecW
Background rectangle Width.