Started a gui menuflow

Dependencies:   LCD_DISCO_F429ZI mbed TS_DISCO_F429ZI BSP_DISCO_F429ZI

Committer:
Clancy_SENDSOR
Date:
Tue Jun 09 22:28:46 2020 +0000
Revision:
1:35eb0c8fa2c0
version with first buttons

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Clancy_SENDSOR 1:35eb0c8fa2c0 1 #include "mbed.h"
Clancy_SENDSOR 1:35eb0c8fa2c0 2 #include "TS_DISCO_F429ZI.h"
Clancy_SENDSOR 1:35eb0c8fa2c0 3 #include "LCD_DISCO_F429ZI.h"
Clancy_SENDSOR 1:35eb0c8fa2c0 4
Clancy_SENDSOR 1:35eb0c8fa2c0 5 LCD_DISCO_F429ZI lcd;
Clancy_SENDSOR 1:35eb0c8fa2c0 6 TS_DISCO_F429ZI ts;
Clancy_SENDSOR 1:35eb0c8fa2c0 7
Clancy_SENDSOR 1:35eb0c8fa2c0 8 int main()
Clancy_SENDSOR 1:35eb0c8fa2c0 9 {
Clancy_SENDSOR 1:35eb0c8fa2c0 10 TS_StateTypeDef TS_State;
Clancy_SENDSOR 1:35eb0c8fa2c0 11 uint16_t x, y;
Clancy_SENDSOR 1:35eb0c8fa2c0 12 uint8_t text[30];
Clancy_SENDSOR 1:35eb0c8fa2c0 13 uint8_t status;
Clancy_SENDSOR 1:35eb0c8fa2c0 14
Clancy_SENDSOR 1:35eb0c8fa2c0 15 BSP_LCD_SetFont(&Font20);
Clancy_SENDSOR 1:35eb0c8fa2c0 16
Clancy_SENDSOR 1:35eb0c8fa2c0 17 lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN", CENTER_MODE);
Clancy_SENDSOR 1:35eb0c8fa2c0 18 lcd.DisplayStringAt(0, LINE(6), (uint8_t *)"DEMO", CENTER_MODE);
Clancy_SENDSOR 1:35eb0c8fa2c0 19 wait(1);
Clancy_SENDSOR 1:35eb0c8fa2c0 20
Clancy_SENDSOR 1:35eb0c8fa2c0 21 status = ts.Init(lcd.GetXSize(), lcd.GetYSize());
Clancy_SENDSOR 1:35eb0c8fa2c0 22
Clancy_SENDSOR 1:35eb0c8fa2c0 23 if (status != TS_OK)
Clancy_SENDSOR 1:35eb0c8fa2c0 24 {
Clancy_SENDSOR 1:35eb0c8fa2c0 25 lcd.Clear(LCD_COLOR_RED);
Clancy_SENDSOR 1:35eb0c8fa2c0 26 lcd.SetBackColor(LCD_COLOR_RED);
Clancy_SENDSOR 1:35eb0c8fa2c0 27 lcd.SetTextColor(LCD_COLOR_WHITE);
Clancy_SENDSOR 1:35eb0c8fa2c0 28 lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN", CENTER_MODE);
Clancy_SENDSOR 1:35eb0c8fa2c0 29 lcd.DisplayStringAt(0, LINE(6), (uint8_t *)"INIT FAIL", CENTER_MODE);
Clancy_SENDSOR 1:35eb0c8fa2c0 30 }
Clancy_SENDSOR 1:35eb0c8fa2c0 31 else
Clancy_SENDSOR 1:35eb0c8fa2c0 32 {
Clancy_SENDSOR 1:35eb0c8fa2c0 33 lcd.Clear(LCD_COLOR_GREEN);
Clancy_SENDSOR 1:35eb0c8fa2c0 34 lcd.SetBackColor(LCD_COLOR_GREEN);
Clancy_SENDSOR 1:35eb0c8fa2c0 35 lcd.SetTextColor(LCD_COLOR_WHITE);
Clancy_SENDSOR 1:35eb0c8fa2c0 36 lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN", CENTER_MODE);
Clancy_SENDSOR 1:35eb0c8fa2c0 37 lcd.DisplayStringAt(0, LINE(6), (uint8_t *)"INIT OK", CENTER_MODE);
Clancy_SENDSOR 1:35eb0c8fa2c0 38 }
Clancy_SENDSOR 1:35eb0c8fa2c0 39
Clancy_SENDSOR 1:35eb0c8fa2c0 40 wait(1);
Clancy_SENDSOR 1:35eb0c8fa2c0 41 lcd.Clear(LCD_COLOR_BLUE);
Clancy_SENDSOR 1:35eb0c8fa2c0 42 lcd.SetBackColor(LCD_COLOR_BLUE);
Clancy_SENDSOR 1:35eb0c8fa2c0 43 lcd.SetTextColor(LCD_COLOR_WHITE);
Clancy_SENDSOR 1:35eb0c8fa2c0 44
Clancy_SENDSOR 1:35eb0c8fa2c0 45 while(1)
Clancy_SENDSOR 1:35eb0c8fa2c0 46 {
Clancy_SENDSOR 1:35eb0c8fa2c0 47
Clancy_SENDSOR 1:35eb0c8fa2c0 48 ts.GetState(&TS_State);
Clancy_SENDSOR 1:35eb0c8fa2c0 49 if (TS_State.TouchDetected)
Clancy_SENDSOR 1:35eb0c8fa2c0 50 {
Clancy_SENDSOR 1:35eb0c8fa2c0 51 x = TS_State.X;
Clancy_SENDSOR 1:35eb0c8fa2c0 52 y = TS_State.Y;
Clancy_SENDSOR 1:35eb0c8fa2c0 53 sprintf((char*)text, "x=%d y=%d ", x, y);
Clancy_SENDSOR 1:35eb0c8fa2c0 54 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)&text, LEFT_MODE);
Clancy_SENDSOR 1:35eb0c8fa2c0 55 }
Clancy_SENDSOR 1:35eb0c8fa2c0 56 }
Clancy_SENDSOR 1:35eb0c8fa2c0 57 }