SWO+USB Serial+TouchScreen Demo

Dependencies:   BSP_DISCO_F429ZI LCD_DISCO_F429ZI SWO TS_DISCO_F429ZI USBDEVICE mbed storage_on_flash

Fork of DISCO-F429ZI_LCDTS_demo by ST

Committer:
pierrebizouard
Date:
Tue Jun 27 13:16:07 2017 +0000
Revision:
5:b69870b843f3
Parent:
4:86d291139659
Child:
6:7812b342d945
initial demo version!

Who changed what in which revision?

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