Driver configuration improvements

This commit is contained in:
suchmememanyskill
2024-03-02 10:19:03 +01:00
parent 55e9ce3d81
commit 801432c3a6
4 changed files with 24 additions and 12 deletions

View File

@@ -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);

View File

@@ -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();

View File

@@ -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()

View File

@@ -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()