![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Started a gui menuflow
Dependencies: LCD_DISCO_F429ZI mbed TS_DISCO_F429ZI BSP_DISCO_F429ZI
Diff: main.cpp
- Revision:
- 0:e7b2dc7d7a7f
- Child:
- 1:35eb0c8fa2c0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Jun 09 14:57:20 2020 +0000 @@ -0,0 +1,69 @@ +#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); + + } +}