diff --git a/lib/lib_display/UDisplay/src/uDisplay.cpp b/lib/lib_display/UDisplay/src/uDisplay.cpp index 69c015fe1f39..bde0c624053e 100644 --- a/lib/lib_display/UDisplay/src/uDisplay.cpp +++ b/lib/lib_display/UDisplay/src/uDisplay.cpp @@ -737,10 +737,13 @@ uDisplay::uDisplay(char *lp) : Renderer(800, 600) { panel_config->epd.lut_partial_len = panel_config->epd.lutpsize; break; case 'T': - // Parse timing directly into EPD config - panel_config->epd.lut_full_time = next_val(&lp1); - panel_config->epd.lut_partial_time = next_val(&lp1); - panel_config->epd.update_time = next_val(&lp1); + // :TI and :TS are touch config lines handled by xdsp_17_universal.ino + // Only parse EPD timing when the line is :T, (EPD timing values) + if (*lp1 != 'I' && *lp1 != 'S') { + panel_config->epd.lut_full_time = next_val(&lp1); + panel_config->epd.lut_partial_time = next_val(&lp1); + panel_config->epd.update_time = next_val(&lp1); + } break; case 'B': lvgl_param.flushlines = next_val(&lp1); diff --git a/tasmota/displaydesc/WT32-SC01-Plus_ST7796_p8_display.ini b/tasmota/displaydesc/WT32-SC01-Plus_ST7796_p8_display.ini new file mode 100644 index 000000000000..1076a0f232f9 --- /dev/null +++ b/tasmota/displaydesc/WT32-SC01-Plus_ST7796_p8_display.ini @@ -0,0 +1,22 @@ +:H,ST7796-SC01P,480,320,16,PAR,8,4,-1,0,47,-1,45,9,46,3,8,18,17,16,15,20 +:S,2,1,1,0,40,20 +:I +01,A0 +11,A0 +3A,81,55 +36,81,00 +21,80 +13,80 +29,A0 +:o,28 +:O,29 +:A,2A,2B,2C +:R,36 +:0,28,00,00,01 +:1,88,00,00,02 +:2,E8,00,00,03 +:3,48,00,00,00 +:B,40,2 +:i,20,21 +:TI1,38,5,6,7,4 +# diff --git a/tasmota/tasmota_xdrv_driver/xdrv_54_lvgl.ino b/tasmota/tasmota_xdrv_driver/xdrv_54_lvgl.ino index abcaee71d4ab..772008df0a99 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_54_lvgl.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_54_lvgl.ino @@ -484,9 +484,6 @@ void start_lvgl(const char * uconfig) { lv_obj_set_style_bg_color(lv_screen_active(), lv_color_hex(USE_LVGL_BG_DEFAULT), static_cast(LV_PART_MAIN) | static_cast(LV_STATE_DEFAULT)); lv_obj_set_style_bg_opa(lv_screen_active(), LV_OPA_COVER, static_cast(LV_PART_MAIN) | static_cast(LV_STATE_DEFAULT)); -#ifdef USE_BERRY_LVGL_PANEL - berry.lvgl_panel_loaded = false; // we can load the panel -#endif // USE_BERRY_LVGL_PANEL #if LV_USE_LOG lv_log_register_print_cb(lvbe_debug);