modification of the original demo to include subroutine for clearscreen and mainscreen

Dependencies:   BSP_DISCO_F769NI mbed-rtos mbed

Fork of DISCO-F769NI_TOUCHSCREEN_demo by ST

added some code to print actual touch coordinates to the LCD screen at the touch location.

Files at this revision

API Documentation at this revision

Comitter:
jeromecoutant
Date:
Tue Apr 11 12:31:47 2017 +0000
Child:
1:d4af4f532ecc
Commit message:
Touchscreen basic example for DISCO_F769NI

Changed in this revision

BSP_DISCO_F769NI.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/BSP_DISCO_F769NI.lib	Tue Apr 11 12:31:47 2017 +0000
@@ -0,0 +1,1 @@
+https://mbed.org/teams/ST/code/BSP_DISCO_F769NI/#39d2c2c79afa
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Tue Apr 11 12:31:47 2017 +0000
@@ -0,0 +1,49 @@
+#include "mbed.h"
+#include "stm32f769i_discovery.h"
+#include "stm32f769i_discovery_ts.h"
+#include "stm32f769i_discovery_lcd.h"
+
+TS_StateTypeDef  TS_State = {0};
+
+int main()
+{
+    uint16_t x1, y1;
+
+    printf("\n\n TOUCHSCREEN EXAMPLE FOR DISCO-F769NI START:\n");
+
+    BSP_LCD_Init();
+    BSP_LCD_LayerDefaultInit(0, LCD_FB_START_ADDRESS);
+
+    /* Touchscreen initialization */
+    if (BSP_TS_Init(BSP_LCD_GetXSize(), BSP_LCD_GetYSize()) == TS_ERROR) {
+        printf("BSP_TS_Init error\n");
+    }
+
+    /* Clear the LCD */
+    BSP_LCD_Clear(LCD_COLOR_WHITE);
+
+    /* Set Touchscreen Demo1 description */
+    BSP_LCD_SetTextColor(LCD_COLOR_BLUE);
+    BSP_LCD_FillRect(0, 0, BSP_LCD_GetXSize(), 40);
+    BSP_LCD_SetTextColor(LCD_COLOR_WHITE);
+    BSP_LCD_SetBackColor(LCD_COLOR_BLUE);
+    BSP_LCD_SetFont(&Font24);
+    BSP_LCD_DisplayStringAt(0, 0, (uint8_t *)"Touchscreen basic example", CENTER_MODE);
+
+    while (1) {
+        BSP_TS_GetState(&TS_State);
+        if(TS_State.touchDetected) {
+            /* One or dual touch have been detected          */
+
+            /* Get X and Y position of the first touch post calibrated */
+            x1 = TS_State.touchX[0];
+            y1 = TS_State.touchY[0];
+            printf("Touch Detected x=%d y=%d\n", x1, y1);
+
+            BSP_LCD_SetTextColor(LCD_COLOR_BLUE);
+            BSP_LCD_FillCircle(x1, y1, 20);
+
+            wait_ms(10);
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Tue Apr 11 12:31:47 2017 +0000
@@ -0,0 +1,1 @@
+https://mbed.org/users/mbed_official/code/mbed/builds/856d2700e60b
\ No newline at end of file