Started a gui menuflow
Dependencies: LCD_DISCO_F429ZI mbed TS_DISCO_F429ZI BSP_DISCO_F429ZI
main.cpp@0:e7b2dc7d7a7f, 2020-06-09 (annotated)
- Committer:
- Clancy_SENDSOR
- Date:
- Tue Jun 09 14:57:20 2020 +0000
- Revision:
- 0:e7b2dc7d7a7f
- Child:
- 1:35eb0c8fa2c0
first version
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 1 | #include "mbed.h" |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 2 | #include "TS_DISCO_F429ZI.h" |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 3 | #include "LCD_DISCO_F429ZI.h" |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 4 | |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 5 | LCD_DISCO_F429ZI lcd; |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 6 | TS_DISCO_F429ZI ts; |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 7 | DigitalOut led1(LED1); |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 8 | Ticker ts_service; |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 9 | |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 10 | TS_StateTypeDef TS_State; |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 11 | uint16_t x, y; |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 12 | uint8_t text[30]; |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 13 | uint8_t status; |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 14 | |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 15 | void CheckTs() |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 16 | { |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 17 | ts.GetState(&TS_State); |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 18 | if (TS_State.TouchDetected) |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 19 | { |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 20 | x = TS_State.X; |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 21 | y = TS_State.Y; |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 22 | sprintf((char*)text, "x=%d y=%d ", x, y); |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 23 | lcd.DisplayStringAt(0, LINE(0), (uint8_t *)&text, LEFT_MODE); |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 24 | } |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 25 | } |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 26 | |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 27 | int main() |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 28 | { |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 29 | BSP_LCD_SetFont(&Font20); |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 30 | |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 31 | lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN", CENTER_MODE); |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 32 | lcd.DisplayStringAt(0, LINE(6), (uint8_t *)"DEMO", CENTER_MODE); |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 33 | |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 34 | |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 35 | wait(1); |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 36 | |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 37 | status = ts.Init(lcd.GetXSize(), lcd.GetYSize()); |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 38 | |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 39 | if (status != TS_OK) |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 40 | { |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 41 | lcd.Clear(LCD_COLOR_RED); |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 42 | lcd.SetBackColor(LCD_COLOR_RED); |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 43 | lcd.SetTextColor(LCD_COLOR_WHITE); |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 44 | lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN", CENTER_MODE); |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 45 | lcd.DisplayStringAt(0, LINE(6), (uint8_t *)"INIT FAIL", CENTER_MODE); |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 46 | } |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 47 | else |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 48 | { |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 49 | lcd.Clear(LCD_COLOR_GREEN); |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 50 | lcd.SetBackColor(LCD_COLOR_GREEN); |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 51 | lcd.SetTextColor(LCD_COLOR_WHITE); |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 52 | lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN", CENTER_MODE); |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 53 | lcd.DisplayStringAt(0, LINE(6), (uint8_t *)"INIT OK", CENTER_MODE); |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 54 | } |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 55 | |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 56 | wait(1); |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 57 | lcd.Clear(LCD_COLOR_BLUE); |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 58 | lcd.SetBackColor(LCD_COLOR_BLUE); |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 59 | lcd.SetTextColor(LCD_COLOR_WHITE); |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 60 | |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 61 | ts_service.attach(&CheckTs, 0.2); // the address of the function to be attached (flip) and the interval (2 seconds) |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 62 | |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 63 | while(1) |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 64 | { |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 65 | led1 = !led1; |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 66 | wait(0.5); |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 67 | |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 68 | } |
Clancy_SENDSOR | 0:e7b2dc7d7a7f | 69 | } |