From 4bc2cd5e2449ecc1316a3a6bbf1ee7ed99a1e91e Mon Sep 17 00:00:00 2001 From: fvanroie <15969459+fvanroie@users.noreply.github.com> Date: Mon, 14 Nov 2022 23:30:29 +0100 Subject: [PATCH] Lovyan Resistive Touch calibration #220 --- src/drv/tft/tft_driver_lovyangfx.cpp | 13 ++++++++++--- src/drv/touch/touch_driver_lovyangfx.h | 2 -- src/hasp_gui.cpp | 2 +- user_setups/esp32/esp32-2832s028.ini | 1 + 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/drv/tft/tft_driver_lovyangfx.cpp b/src/drv/tft/tft_driver_lovyangfx.cpp index 3730a740..692d1b1a 100644 --- a/src/drv/tft/tft_driver_lovyangfx.cpp +++ b/src/drv/tft/tft_driver_lovyangfx.cpp @@ -573,11 +573,11 @@ void LovyanGfx::init(int w, int h) auto cfg = _touch_instance->config(); cfg.x_min = 300; cfg.x_max = 3900; - cfg.y_min = 200; - cfg.y_max = 3700; + cfg.y_min = 3700; + cfg.y_max = 200; cfg.pin_int = -1; cfg.bus_shared = false; - cfg.offset_rotation = 6; + cfg.offset_rotation = TOUCH_OFFSET_ROTATION; cfg.spi_host = VSPI_HOST; cfg.freq = 1000000; cfg.pin_sclk = 25; @@ -617,6 +617,13 @@ void LovyanGfx::init(int w, int h) tft.begin(); LOG_DEBUG(TAG_TFT, F("%s - %d"), __FILE__, __LINE__); tft.setSwapBytes(true); /* set endianess */ + +// #if esp32_2432S028R +// LOG_VERBOSE(TAG_TFT, "Setting up touch calibration for esp32_2432S028R") +// uint16_t calData[] = {239, 3926, 233, 265, 3856, 3896, 3714, 308}; +// tft.setTouchCalibrate(calData); +// #endif + LOG_INFO(TAG_TFT, F(D_SERVICE_STARTED)); } diff --git a/src/drv/touch/touch_driver_lovyangfx.h b/src/drv/touch/touch_driver_lovyangfx.h index b98dce1e..5c4d2bac 100644 --- a/src/drv/touch/touch_driver_lovyangfx.h +++ b/src/drv/touch/touch_driver_lovyangfx.h @@ -55,7 +55,6 @@ class TouchLovyanGfx : public BaseTouch { void calibrate(uint16_t* calData) { - /* haspTft.tft.fillScreen(TFT_BLACK); // haspTft.tft.setCursor(20, 0); @@ -70,7 +69,6 @@ class TouchLovyanGfx : public BaseTouch { haspTft.tft.calibrateTouch(calData, TFT_MAGENTA, TFT_BLACK, 15); // haspTft.tft.setTouch(calData); - */ } }; diff --git a/src/hasp_gui.cpp b/src/hasp_gui.cpp index 0a3fed39..d072a8c0 100644 --- a/src/hasp_gui.cpp +++ b/src/hasp_gui.cpp @@ -479,7 +479,7 @@ bool guiGetConfig(const JsonObject& settings) #if TOUCH_DRIVER == 0x2046 && defined(USER_SETUP_LOADED) && defined(TOUCH_CS) // tft_espi_set_touch(gui_settings.cal_data); haspTft.tft.setTouch(gui_settings.cal_data); -#elif 0 +#elif TOUCH_DRIVER == 0x2046 && defined(HASP_USE_LGFX_TOUCH) haspTft.tft.setTouchCalibrate(gui_settings.cal_data); #endif } diff --git a/user_setups/esp32/esp32-2832s028.ini b/user_setups/esp32/esp32-2832s028.ini index 186f7799..75a9dcc9 100644 --- a/user_setups/esp32/esp32-2832s028.ini +++ b/user_setups/esp32/esp32-2832s028.ini @@ -30,6 +30,7 @@ build_flags = -D SUPPORT_TRANSACTIONS -D SPI_FREQUENCY=55000000 -D SPI_READ_FREQUENCY=20000000 + -D TOUCH_OFFSET_ROTATION=0 ; 1=swap xy, 2=invert x, 4=inverty -D ESP32_2432S028R=1 ;endregion