Several examples run on only mbed-os5.13.0 (not 5.14.0)
Dependencies: BD_SD_DISCO_F769NI BSP_DISCO_F769NI LCD_DISCO_F769NI TS_DISCO_F769NI USBHost_F769NI
z_example/3_lcd_touch.cpp@4:0f4affc00183, 2019-10-14 (annotated)
- Committer:
- kenjiArai
- Date:
- Mon Oct 14 08:55:15 2019 +0000
- Revision:
- 4:0f4affc00183
- Parent:
- 3:35ac9ee7d2d6
Several Examples
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kenjiArai | 3:35ac9ee7d2d6 | 1 | // Original |
kenjiArai | 3:35ac9ee7d2d6 | 2 | // https://os.mbed.com/teams/ST/code/DISCO-F769NI_TOUCHSCREEN_demo/ |
kenjiArai | 3:35ac9ee7d2d6 | 3 | // |
kenjiArai | 3:35ac9ee7d2d6 | 4 | // Modified by K.Arai |
kenjiArai | 4:0f4affc00183 | 5 | // October 14th, 2019 |
kenjiArai | 3:35ac9ee7d2d6 | 6 | // |
kenjiArai | 3:35ac9ee7d2d6 | 7 | |
kenjiArai | 3:35ac9ee7d2d6 | 8 | #include "select_program.h" |
kenjiArai | 3:35ac9ee7d2d6 | 9 | //#define EXAMPLE_3_LCD_TOUCH |
kenjiArai | 3:35ac9ee7d2d6 | 10 | #ifdef EXAMPLE_3_LCD_TOUCH |
kenjiArai | 3:35ac9ee7d2d6 | 11 | |
kenjiArai | 3:35ac9ee7d2d6 | 12 | #include "mbed.h" |
kenjiArai | 3:35ac9ee7d2d6 | 13 | #include "stm32f769i_discovery.h" |
kenjiArai | 3:35ac9ee7d2d6 | 14 | #include "stm32f769i_discovery_ts.h" |
kenjiArai | 3:35ac9ee7d2d6 | 15 | #include "stm32f769i_discovery_lcd.h" |
kenjiArai | 3:35ac9ee7d2d6 | 16 | |
kenjiArai | 3:35ac9ee7d2d6 | 17 | TS_StateTypeDef TS_State = {0}; |
kenjiArai | 3:35ac9ee7d2d6 | 18 | Serial pc(USBTX, USBRX, 115200); |
kenjiArai | 3:35ac9ee7d2d6 | 19 | |
kenjiArai | 3:35ac9ee7d2d6 | 20 | int main() |
kenjiArai | 3:35ac9ee7d2d6 | 21 | { |
kenjiArai | 3:35ac9ee7d2d6 | 22 | uint16_t x1, y1; |
kenjiArai | 3:35ac9ee7d2d6 | 23 | |
kenjiArai | 3:35ac9ee7d2d6 | 24 | pc.printf("\x1b[2J\x1b[H %s\r\n %s %s (UTC)\r\n", |
kenjiArai | 3:35ac9ee7d2d6 | 25 | __FILE__, __DATE__, __TIME__); |
kenjiArai | 4:0f4affc00183 | 26 | printf(" TOUCHSCREEN EXAMPLE FOR DISCO-F769NI:\r\n"); |
kenjiArai | 3:35ac9ee7d2d6 | 27 | |
kenjiArai | 3:35ac9ee7d2d6 | 28 | BSP_LCD_Init(); |
kenjiArai | 3:35ac9ee7d2d6 | 29 | BSP_LCD_LayerDefaultInit(0, LCD_FB_START_ADDRESS); |
kenjiArai | 3:35ac9ee7d2d6 | 30 | |
kenjiArai | 3:35ac9ee7d2d6 | 31 | /* Touchscreen initialization */ |
kenjiArai | 3:35ac9ee7d2d6 | 32 | if (BSP_TS_Init(BSP_LCD_GetXSize(), BSP_LCD_GetYSize()) == TS_ERROR) { |
kenjiArai | 3:35ac9ee7d2d6 | 33 | printf("BSP_TS_Init error\r\n"); |
kenjiArai | 3:35ac9ee7d2d6 | 34 | } |
kenjiArai | 3:35ac9ee7d2d6 | 35 | |
kenjiArai | 3:35ac9ee7d2d6 | 36 | /* Clear the LCD */ |
kenjiArai | 3:35ac9ee7d2d6 | 37 | BSP_LCD_Clear(LCD_COLOR_WHITE); |
kenjiArai | 3:35ac9ee7d2d6 | 38 | |
kenjiArai | 3:35ac9ee7d2d6 | 39 | /* Set Touchscreen Demo1 description */ |
kenjiArai | 3:35ac9ee7d2d6 | 40 | BSP_LCD_SetTextColor(LCD_COLOR_BLUE); |
kenjiArai | 3:35ac9ee7d2d6 | 41 | BSP_LCD_FillRect(0, 0, BSP_LCD_GetXSize(), 40); |
kenjiArai | 3:35ac9ee7d2d6 | 42 | BSP_LCD_SetTextColor(LCD_COLOR_WHITE); |
kenjiArai | 3:35ac9ee7d2d6 | 43 | BSP_LCD_SetBackColor(LCD_COLOR_BLUE); |
kenjiArai | 3:35ac9ee7d2d6 | 44 | BSP_LCD_SetFont(&Font24); |
kenjiArai | 3:35ac9ee7d2d6 | 45 | BSP_LCD_DisplayStringAt(0, |
kenjiArai | 3:35ac9ee7d2d6 | 46 | 10, |
kenjiArai | 3:35ac9ee7d2d6 | 47 | (uint8_t *)"Touchscreen basic example", |
kenjiArai | 3:35ac9ee7d2d6 | 48 | CENTER_MODE); |
kenjiArai | 3:35ac9ee7d2d6 | 49 | |
kenjiArai | 3:35ac9ee7d2d6 | 50 | while (1) { |
kenjiArai | 3:35ac9ee7d2d6 | 51 | BSP_TS_GetState(&TS_State); |
kenjiArai | 3:35ac9ee7d2d6 | 52 | if(TS_State.touchDetected) { |
kenjiArai | 3:35ac9ee7d2d6 | 53 | /* One or dual touch have been detected */ |
kenjiArai | 3:35ac9ee7d2d6 | 54 | |
kenjiArai | 3:35ac9ee7d2d6 | 55 | /* Get X and Y position of the first touch post calibrated */ |
kenjiArai | 3:35ac9ee7d2d6 | 56 | x1 = TS_State.touchX[0]; |
kenjiArai | 3:35ac9ee7d2d6 | 57 | y1 = TS_State.touchY[0]; |
kenjiArai | 3:35ac9ee7d2d6 | 58 | pc.printf("Touch Detected x=%d y=%d\r\n", x1, y1); |
kenjiArai | 3:35ac9ee7d2d6 | 59 | |
kenjiArai | 3:35ac9ee7d2d6 | 60 | BSP_LCD_SetTextColor(LCD_COLOR_RED); |
kenjiArai | 3:35ac9ee7d2d6 | 61 | BSP_LCD_FillCircle(x1, y1, 20); |
kenjiArai | 3:35ac9ee7d2d6 | 62 | |
kenjiArai | 3:35ac9ee7d2d6 | 63 | ThisThread::sleep_for(10); |
kenjiArai | 3:35ac9ee7d2d6 | 64 | } |
kenjiArai | 3:35ac9ee7d2d6 | 65 | } |
kenjiArai | 3:35ac9ee7d2d6 | 66 | } |
kenjiArai | 3:35ac9ee7d2d6 | 67 | |
kenjiArai | 3:35ac9ee7d2d6 | 68 | #endif |