diff --git a/platformio.ini b/platformio.ini index 8d14f9a1..7a0ab5c5 100644 --- a/platformio.ini +++ b/platformio.ini @@ -1185,13 +1185,16 @@ build_flags = ${esp32_4MB_M_base.build_flags} extends = esp32_4MB_XL_base build_flags = ${esp32_4MB_XL_base.build_flags} -D WLED_RELEASE_NAME=esp32_4MB_XL + -D WLED_DISABLE_LOXONE ;; Over the limits + -D WLEDMM_SAVE_FLASH ;; a humble attempt to save a few extra bytes build_unflags = ${esp32_4MB_XL_base.build_unflags} - -D USERMOD_ANIMARTRIX ;; Tips our memory usage over the limit + -D USERMOD_ANIMARTRIX ;; Tips our memory usage over the limit + -D WLEDMM_FASTPATH ;; Over the limits ; RAM: [== ] 24.4% (used 80060 bytes from 327680 bytes) ; Flash: [==========] 95.3% (used 1499037 bytes from 1572864 bytes) -; HELP !!!!! : -; RAM: [== ] 24.5% (used 80356 bytes from 327680 bytes) -; Flash: [==========] 99.9% (used 1571053 bytes from 1572864 bytes) +; !!! HELP !!!!! : +; RAM: [=== ] 26.2% (used 85756 bytes from 327680 bytes) +; Flash: [==========] 100.0% (used 1572553 bytes from 1572864 bytes) ;; standard framework build for 16MB flash, optimized for speed [env:esp32_16MB_S] diff --git a/wled00/json.cpp b/wled00/json.cpp index 7d360220..b481d7b8 100644 --- a/wled00/json.cpp +++ b/wled00/json.cpp @@ -686,7 +686,7 @@ void serializeState(JsonObject root, bool forPreset, bool includeBri, bool segme #endif // WLEDMM print error message to netDebug - esp32 only, as 8266 flash is very limited -#ifdef ARDUINO_ARCH_ESP32 +#if defined(ARDUINO_ARCH_ESP32) && !defined(WLEDMM_SAVE_FLASH) String errPrefix = F("\nWLED error: "); String warnPrefix = F("WLED warning: "); switch(errorFlag) { @@ -824,6 +824,7 @@ esp_reset_reason_t getRestartReason() { } String restartCode2InfoLong(esp_reset_reason_t reason) { switch (reason) { +#if !defined(WLEDMM_SAVE_FLASH) case ESP_RST_UNKNOWN: return(F("Reset reason can not be determined")); break; case ESP_RST_POWERON: return(F("Restart due to power-on event")); break; case ESP_RST_EXT: return(F("Reset by external pin (not applicable for ESP32)")); break; @@ -835,11 +836,25 @@ String restartCode2InfoLong(esp_reset_reason_t reason) { case ESP_RST_DEEPSLEEP:return(F("Restart after exiting deep sleep mode")); break; case ESP_RST_BROWNOUT: return(F("Brownout Reset (software or hardware)")); break; case ESP_RST_SDIO: return(F("Reset over SDIO")); break; +#else + case ESP_RST_UNKNOWN: return(F("ESP_RST_UNKNOWN")); break; + case ESP_RST_POWERON: return(F("ESP_RST_POWERON")); break; + case ESP_RST_EXT: return(F("ESP_RST_EXT")); break; + case ESP_RST_SW: return(F("esp_restart()")); break; + case ESP_RST_PANIC: return(F("SW Panic or Exception")); break; + case ESP_RST_INT_WDT: return(F("ESP_RST_INT_WDT")); break; + case ESP_RST_TASK_WDT: return(F("ESP_RST_TASK_WDT")); break; + case ESP_RST_WDT: return(F("ESP_RST_WDT")); break; + case ESP_RST_DEEPSLEEP:return(F("ESP_RST_DEEPSLEEP")); break; + case ESP_RST_BROWNOUT: return(F("Brownout Reset")); break; + case ESP_RST_SDIO: return(F("ESP_RST_SDIO")); break; +#endif } return(F("unknown")); } String restartCode2Info(esp_reset_reason_t reason) { switch (reason) { +#if !defined(WLEDMM_SAVE_FLASH) case ESP_RST_UNKNOWN: return(F("unknown reason")); break; case ESP_RST_POWERON: return(F("power-on event")); break; case ESP_RST_EXT: return(F("external pin reset")); break; @@ -851,6 +866,19 @@ String restartCode2Info(esp_reset_reason_t reason) { case ESP_RST_DEEPSLEEP:return(F("exit from deep sleep")); break; case ESP_RST_BROWNOUT: return(F("Brownout Reset")); break; case ESP_RST_SDIO: return(F("Reset over SDIO")); break; +#else + case ESP_RST_UNKNOWN: return(F("unknown")); break; + case ESP_RST_POWERON: return(F("power-on")); break; + case ESP_RST_EXT: return(F("ext. pin reset")); break; + case ESP_RST_SW: return(F("SW restart")); break; + case ESP_RST_PANIC: return(F("SW panic or exception")); break; + case ESP_RST_INT_WDT: return(F("int. watchdog")); break; + case ESP_RST_TASK_WDT: return(F("task watchdog")); break; + case ESP_RST_WDT: return(F("other watchdog")); break; + case ESP_RST_DEEPSLEEP:return(F("deep sleep")); break; + case ESP_RST_BROWNOUT: return(F("Brownout")); break; + case ESP_RST_SDIO: return(F("SDIO reset")); break; +#endif } return(F("unknown")); }