Started a gui menuflow

Dependencies:   LCD_DISCO_F429ZI mbed TS_DISCO_F429ZI BSP_DISCO_F429ZI

main.cpp

Committer:
Clancy_SENDSOR
Date:
2020-06-09
Revision:
0:e7b2dc7d7a7f
Child:
1:35eb0c8fa2c0

File content as of revision 0:e7b2dc7d7a7f:

#include "mbed.h"
#include "TS_DISCO_F429ZI.h"
#include "LCD_DISCO_F429ZI.h"

LCD_DISCO_F429ZI lcd;
TS_DISCO_F429ZI ts;
DigitalOut led1(LED1);
Ticker ts_service;

TS_StateTypeDef TS_State;
uint16_t x, y;
uint8_t text[30];
    uint8_t status;
    
void CheckTs()
{
    ts.GetState(&TS_State);      
    if (TS_State.TouchDetected)
    {
    x = TS_State.X;
    y = TS_State.Y;
    sprintf((char*)text, "x=%d y=%d    ", x, y);
    lcd.DisplayStringAt(0, LINE(0), (uint8_t *)&text, LEFT_MODE);
    }
}

int main()
{
    BSP_LCD_SetFont(&Font20);
  
    lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN", CENTER_MODE);
    lcd.DisplayStringAt(0, LINE(6), (uint8_t *)"DEMO", CENTER_MODE);
    
     
    wait(1);
  
    status = ts.Init(lcd.GetXSize(), lcd.GetYSize());
  
    if (status != TS_OK)
    {
      lcd.Clear(LCD_COLOR_RED);
      lcd.SetBackColor(LCD_COLOR_RED);
      lcd.SetTextColor(LCD_COLOR_WHITE);
      lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN", CENTER_MODE);
      lcd.DisplayStringAt(0, LINE(6), (uint8_t *)"INIT FAIL", CENTER_MODE);
    }
    else
    {
      lcd.Clear(LCD_COLOR_GREEN);
      lcd.SetBackColor(LCD_COLOR_GREEN);
      lcd.SetTextColor(LCD_COLOR_WHITE);
      lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN", CENTER_MODE);
      lcd.DisplayStringAt(0, LINE(6), (uint8_t *)"INIT OK", CENTER_MODE);
    }
    
    wait(1);
    lcd.Clear(LCD_COLOR_BLUE);
    lcd.SetBackColor(LCD_COLOR_BLUE);
    lcd.SetTextColor(LCD_COLOR_WHITE);
    
    ts_service.attach(&CheckTs, 0.2); // the address of the function to be attached (flip) and the interval (2 seconds)
  
    while(1)
    {
      led1 = !led1;
      wait(0.5);

    }
}