From 3c951d7751257f16cca93ded5a5215336067f9b6 Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Wed, 10 May 2023 14:02:51 +0200 Subject: [PATCH] fix GT911 crash in LVGL firmware (#18633) * fix GT911 crash * remove wrong frag when using GT911 --- tasmota/include/tasmota_configurations_ESP32.h | 2 +- tasmota/tasmota_support/support_esp.ino | 2 +- tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/tasmota/include/tasmota_configurations_ESP32.h b/tasmota/include/tasmota_configurations_ESP32.h index 2aaff8452..74108b8b1 100644 --- a/tasmota/include/tasmota_configurations_ESP32.h +++ b/tasmota/include/tasmota_configurations_ESP32.h @@ -306,7 +306,7 @@ #define SHOW_SPLASH #define USE_XPT2046 #define USE_FT5206 -//#define USE_GT911 // TODO Fix GT911 Touch driver with LVGL HASPMOTA +#define USE_GT911 #define USE_MPU_ACCEL #define USE_RTC_CHIPS // Enable RTC chip support and NTP server - Select only one #define USE_BM8563 diff --git a/tasmota/tasmota_support/support_esp.ino b/tasmota/tasmota_support/support_esp.ino index 699b13208..4315ee5d4 100644 --- a/tasmota/tasmota_support/support_esp.ino +++ b/tasmota/tasmota_support/support_esp.ino @@ -673,7 +673,7 @@ uint32_t ESP_getFreeHeap(void) { uint32_t ESP_getMaxAllocHeap(void) { // arduino returns IRAM but we want only DRAM -#ifdef RGB_DISPLAY +#ifdef USE_GT911 // GT911 IRQ crashes with heap_caps_get_largest_free_block return ESP_getFreeHeap(); #endif uint32_t free_block_size = heap_caps_get_largest_free_block(MALLOC_CAP_INTERNAL | MALLOC_CAP_8BIT); diff --git a/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino b/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino index 01de3fe42..7b241a9c7 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino @@ -2466,7 +2466,11 @@ void HandleInformation(void) WSContentSend_P(PSTR("}1" D_PROGRAM_SIZE "}2%d KB"), ESP_getSketchSize() / 1024); WSContentSend_P(PSTR("}1" D_FREE_PROGRAM_SPACE "}2%d KB"), ESP_getFreeSketchSpace() / 1024); #ifdef ESP32 +#ifdef USE_GT911 + WSContentSend_PD(PSTR("}1" D_FREE_MEMORY "}2%1_f KB"), &freemem); +#else WSContentSend_PD(PSTR("}1" D_FREE_MEMORY "}2%1_f KB (" D_FRAGMENTATION " %d%%)"), &freemem, ESP_getHeapFragmentation()); +#endif // USE_GT911 if (UsePSRAM()) { WSContentSend_P(PSTR("}1" D_PSR_MAX_MEMORY "}2%d KB"), ESP.getPsramSize() / 1024); WSContentSend_P(PSTR("}1" D_PSR_FREE_MEMORY "}2%d KB"), ESP.getFreePsram() / 1024);