From 801432c3a6ed87da1e058f2908f5665d47aaabf5 Mon Sep 17 00:00:00 2001 From: suchmememanyskill <38142618+suchmememanyskill@users.noreply.github.com> Date: Sat, 2 Mar 2024 10:19:03 +0100 Subject: [PATCH] Driver configuration improvements --- .../src/core/device/ESP32-2432S028R.cpp | 1 - .../src/core/device/ESP32-3248S035C.cpp | 1 - .../src/core/device/ESP32-smartdisplay.cpp | 24 +++++++++++++------ CYD-Klipper/src/core/lv_setup.cpp | 10 +++++--- 4 files changed, 24 insertions(+), 12 deletions(-) diff --git a/CYD-Klipper/src/core/device/ESP32-2432S028R.cpp b/CYD-Klipper/src/core/device/ESP32-2432S028R.cpp index 22ea562..d2734d8 100644 --- a/CYD-Klipper/src/core/device/ESP32-2432S028R.cpp +++ b/CYD-Klipper/src/core/device/ESP32-2432S028R.cpp @@ -85,7 +85,6 @@ void screen_setup() tft.setRotation(global_config.rotateScreen ? 3 : 1); tft.fillScreen(TFT_BLACK); - set_screen_brightness(); set_invert_display(); touchscreen_spi.begin(XPT2046_CLK, XPT2046_MISO, XPT2046_MOSI, XPT2046_CS); diff --git a/CYD-Klipper/src/core/device/ESP32-3248S035C.cpp b/CYD-Klipper/src/core/device/ESP32-3248S035C.cpp index b66b236..fd39f00 100644 --- a/CYD-Klipper/src/core/device/ESP32-3248S035C.cpp +++ b/CYD-Klipper/src/core/device/ESP32-3248S035C.cpp @@ -116,7 +116,6 @@ void screen_setup() ledcAttachPin(TFT_BL, 0); tft.setRotation(global_config.rotateScreen ? 3 : 1); tft.fillScreen(TFT_BLACK); - set_screen_brightness(); set_invert_display(); LED_init(); diff --git a/CYD-Klipper/src/core/device/ESP32-smartdisplay.cpp b/CYD-Klipper/src/core/device/ESP32-smartdisplay.cpp index 39f692c..5e29e05 100644 --- a/CYD-Klipper/src/core/device/ESP32-smartdisplay.cpp +++ b/CYD-Klipper/src/core/device/ESP32-smartdisplay.cpp @@ -15,7 +15,8 @@ void screen_setBrightness(byte brightness) smartdisplay_lcd_set_backlight(brightness / 255.0f); } -void set_invert_display(){ +void set_invert_display() +{ lv_obj_invalidate(lv_scr_act()); } @@ -33,12 +34,21 @@ void lv_screen_intercept(_lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_col original_screen_driver(disp_drv, area, color_p); } -#ifdef CYD_SCREEN_VERTICAL -#define ROTATION_INVERTED LV_DISP_ROT_180 -#define ROTATION_NORMAL LV_DISP_ROT_NONE -#else -#define ROTATION_INVERTED LV_DISP_ROT_270 -#define ROTATION_NORMAL LV_DISP_ROT_90 + +#ifndef ROTATION_INVERTED + #ifdef CYD_SCREEN_VERTICAL + #define ROTATION_INVERTED LV_DISP_ROT_180 + #else + #define ROTATION_INVERTED LV_DISP_ROT_270 + #endif +#endif + +#ifndef ROTATION_NORMAL + #ifdef CYD_SCREEN_VERTICAL + #define ROTATION_NORMAL LV_DISP_ROT_NONE + #else + #define ROTATION_NORMAL LV_DISP_ROT_90 + #endif #endif void screen_setup() diff --git a/CYD-Klipper/src/core/lv_setup.cpp b/CYD-Klipper/src/core/lv_setup.cpp index 4b41b2c..5b2d53c 100644 --- a/CYD-Klipper/src/core/lv_setup.cpp +++ b/CYD-Klipper/src/core/lv_setup.cpp @@ -25,13 +25,14 @@ void lv_touch_intercept_calibration(lv_indev_drv_t *indev_driver, lv_indev_data_ original_touch_driver(indev_driver, data); if (data->state == LV_INDEV_STATE_PR){ - point[0] = data->point.x; - point[1] = data->point.y; - + lv_coord_t local_point[] = {data->point.x, data->point.y}; while (data->state == LV_INDEV_STATE_PR){ original_touch_driver(indev_driver, data); delay(20); } + + point[0] = local_point[0]; + point[1] = local_point[1]; } data->state = LV_INDEV_STATE_REL; @@ -102,6 +103,8 @@ void lv_do_calibration(){ } } + delay(300); + lv_coord_t x1 = point[0]; lv_coord_t y1 = point[1]; point[0] = 0; @@ -267,6 +270,7 @@ void lv_setup() screen_timer_setup(); screen_timer_start(); + set_screen_brightness(); } bool is_screen_asleep()