From a1971947f34dd58ed8395c73e32c5fc2a1487da8 Mon Sep 17 00:00:00 2001 From: arovak Date: Sun, 28 Feb 2021 20:15:59 +0100 Subject: [PATCH] stmpe610 touch driver --- platformio.ini | 1 + src/drv/touch/hasp_drv_stmpe610.cpp | 21 ++++++++++++++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/platformio.ini b/platformio.ini index 9edb1cce..e2dfa89a 100644 --- a/platformio.ini +++ b/platformio.ini @@ -83,6 +83,7 @@ lib_deps = ;AsyncTCP ;https://github.com/me-no-dev/ESPAsyncWebServer/archive/master.zip ;https://github.com/me-no-dev/ESPAsyncTCP/archive/master.zip + adafruit/Adafruit STMPE610@^1.1.3 ;STMPE610 touch controller src_filter = +<*> -<.git/> - - - - - diff --git a/src/drv/touch/hasp_drv_stmpe610.cpp b/src/drv/touch/hasp_drv_stmpe610.cpp index 27dbc245..f1a6df4a 100644 --- a/src/drv/touch/hasp_drv_stmpe610.cpp +++ b/src/drv/touch/hasp_drv_stmpe610.cpp @@ -27,14 +27,29 @@ bool IRAM_ATTR STMPE610_getXY(int16_t * touchX, int16_t * touchY, uint8_t touchR } touch.writeRegister8(STMPE_INT_STA, 0xFF); if (1 == touchRotation) { - y = map(y, TS_MINX, TS_MAXX, 0, TFT_WIDTH); - x = map(x, TS_MINY, TS_MAXY, 0, TFT_HEIGHT); - } else if (2 == touchRotation) { + #if HX8357D_DRIVER == 1 + y = map(y, TS_MINX, TS_MAXX, 0, TFT_HEIGHT); + x = map(x, TS_MINY, TS_MAXY, TFT_WIDTH, 0); + #else x = map(x, TS_MAXX, TS_MINX, 0, TFT_WIDTH); y = map(y, TS_MAXY, TS_MINY, 0, TFT_HEIGHT); + #endif + } else if (2 == touchRotation) { + #if HX8357D_DRIVER == 1 + x = map(x, TS_MAXX, TS_MINX, TFT_WIDTH, 0); + y = map(y, TS_MAXY, TS_MINY, 0, TFT_HEIGHT); + #else + x = map(x, TS_MAXX, TS_MINX, 0, TFT_WIDTH); + y = map(y, TS_MAXY, TS_MINY, 0, TFT_HEIGHT); + #endif } else { + #if HX8357D_DRIVER == 1 + x = map(x, TS_MINX, TS_MAXX, TFT_WIDTH, 0); + y = map(y, TS_MINY, TS_MAXY, 0, TFT_HEIGHT); + #else x = map(x, TS_MINX, TS_MAXX, 0, TFT_WIDTH); y = map(y, TS_MINY, TS_MAXY, 0, TFT_HEIGHT); + #endif } *touchX = x;