From eb3186f88511aa509d373293fd77ea1a2bc55c29 Mon Sep 17 00:00:00 2001 From: TD-er Date: Fri, 24 Jun 2022 15:32:31 +0200 Subject: [PATCH 1/5] [PIO] Update to esp8266/Arduino @ 4.0.1 --- platformio_core_defs.ini | 32 +++++++++++++++++---------- platformio_esp82xx_base.ini | 8 +++---- platformio_esp82xx_envs.ini | 44 ++++++++++++++++++------------------- tools/build_ESPeasy.sh | 2 +- 4 files changed, 47 insertions(+), 39 deletions(-) diff --git a/platformio_core_defs.ini b/platformio_core_defs.ini index 07af7bbae..5d65487bf 100644 --- a/platformio_core_defs.ini +++ b/platformio_core_defs.ini @@ -164,6 +164,26 @@ platform_packages = mcspr/toolchain-xtensa @ ~5.100300.211127 build_flags = ${esp82xx_3_0_x.build_flags} -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3 +lib_ignore = ${esp82xx_defaults.lib_ignore} + IRremoteESP8266 + HeatpumpIR + LittleFS(esp8266) + ServoESP32 + TinyWireM + +[core_4_0_1] +extends = esp82xx_3_0_x +platform = espressif8266@4.0.1 +platform_packages = +build_flags = ${esp82xx_3_0_x.build_flags} + -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3 +lib_ignore = ${esp82xx_defaults.lib_ignore} + IRremoteESP8266 + HeatpumpIR + LittleFS(esp8266) + ServoESP32 + TinyWireM + [core_stage] extends = esp82xx_3_0_x @@ -173,19 +193,12 @@ build_flags = ${esp82xx_3_0_x.build_flags} -DPIO_FRAMEWORK_ARDUINO_MMU_CACHE16_IRAM48_SECHEAP_SHARED -DUSE_SECOND_HEAP -DPHASE_LOCKED_WAVEFORM - - - platform_packages = platformio/framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git mcspr/toolchain-xtensa @ ~5.100300.211127 -[core_esp32_2_1_0] -platform = espressif32@2.1.0 -build_flags = -DESP32_STAGE - ; Updated ESP-IDF to the latest stable 4.0.1 ; See: https://github.com/platformio/platform-espressif32/releases @@ -196,11 +209,6 @@ platform = https://github.com/tasmota/platform-espressif32/re platform_packages = build_flags = -DESP32_STAGE -[core_esp32_3_5_0] -platform = espressif32 @ 3.5.0 -platform_packages = -build_flags = -DESP32_STAGE - [core_esp32_stage] platform = https://github.com/platformio/platform-espressif32.git#feature/arduino-idf-master platform_packages = framework-arduinoespressif32 @ https://github.com/tasmota/arduino-esp32/releases/download/2.0.1/framework-arduinoespressif32-release_IDF4.4.tar.gz diff --git a/platformio_esp82xx_base.ini b/platformio_esp82xx_base.ini index f872648d5..7cce176ae 100644 --- a/platformio_esp82xx_base.ini +++ b/platformio_esp82xx_base.ini @@ -17,10 +17,10 @@ lib_ignore = ${core_2_7_4_alt_wifi.lib_ignore} [core302_platform] -build_flags = ${core_3_0_2.build_flags} -platform = ${core_3_0_2.platform} -platform_packages = ${core_3_0_2.platform_packages} -lib_ignore = ${core_3_0_2.lib_ignore} +build_flags = ${core_4_0_1.build_flags} +platform = ${core_4_0_1.platform} +platform_packages = ${core_4_0_1.platform_packages} +lib_ignore = ${core_4_0_1.lib_ignore} [beta_platform] diff --git a/platformio_esp82xx_envs.ini b/platformio_esp82xx_envs.ini index cf0cb1076..143e42560 100644 --- a/platformio_esp82xx_envs.ini +++ b/platformio_esp82xx_envs.ini @@ -70,9 +70,9 @@ extra_scripts = ${esp8266_custom_common.extra_scripts} [env:custom_302_ESP8266_4M1M] extends = esp8266_4M1M -platform = ${core_3_0_2.platform} -platform_packages = ${core_3_0_2.platform_packages} -build_flags = ${core_3_0_2.build_flags} +platform = ${core302_platform.platform} +platform_packages = ${core302_platform.platform_packages} +build_flags = ${core302_platform.build_flags} ${esp8266_4M1M.build_flags} -DPLUGIN_BUILD_CUSTOM lib_ignore = ${esp8266_custom_common.lib_ignore} @@ -230,9 +230,9 @@ lib_ignore = ${regular_platform_alt_wifi.lib_ignore} ;[env:normal_302_ESP8266_1M] ;extends = esp8266_1M -;platform = ${core_3_0_2.platform} -;platform_packages = ${core_3_0_2.platform_packages} -;build_flags = ${core_3_0_2.build_flags} +;platform = ${core302_platform.platform} +;platform_packages = ${core302_platform.platform_packages} +;build_flags = ${core302_platform.build_flags} ; ${esp8266_1M.build_flags} @@ -321,11 +321,11 @@ lib_ignore = ${regular_platform_alt_wifi.lib_ignore} [env:normal_302_ESP8266_4M1M] extends = esp8266_4M1M -platform = ${core_3_0_2.platform} -platform_packages = ${core_3_0_2.platform_packages} -build_flags = ${core_3_0_2.build_flags} +platform = ${core302_platform.platform} +platform_packages = ${core302_platform.platform_packages} +build_flags = ${core302_platform.build_flags} ${esp8266_4M1M.build_flags} -lib_ignore = ${core_3_0_2.lib_ignore} +lib_ignore = ${core302_platform.lib_ignore} SD SDFS LittleFS(esp8266) @@ -391,17 +391,17 @@ build_flags = ${regular_platform.build_flags} [env:minimal_core_302_ESP8266_1M_OTA_Domoticz] extends = esp8266_1M_OTA -platform = ${core_3_0_2.platform} -platform_packages = ${core_3_0_2.platform_packages} -build_flags = ${core_3_0_2.build_flags} +platform = ${core302_platform.platform} +platform_packages = ${core302_platform.platform_packages} +build_flags = ${core302_platform.build_flags} ${esp8266_1M_OTA.build_flags} ${minimal_OTA_domoticz.build_flags} [env:minimal_core_302_ESP8285_1M_OTA_Domoticz] extends = esp8285_1M_OTA -platform = ${core_3_0_2.platform} -platform_packages = ${core_3_0_2.platform_packages} -build_flags = ${core_3_0_2.build_flags} +platform = ${core302_platform.platform} +platform_packages = ${core302_platform.platform_packages} +build_flags = ${core302_platform.build_flags} ${esp8285_1M_OTA.build_flags} ${minimal_OTA_domoticz.build_flags} @@ -424,17 +424,17 @@ build_flags = ${regular_platform.build_flags} [env:minimal_core_302_ESP8266_1M_OTA_FHEM_HA] extends = esp8266_1M_OTA -platform = ${core_3_0_2.platform} -platform_packages = ${core_3_0_2.platform_packages} -build_flags = ${core_3_0_2.build_flags} +platform = ${core302_platform.platform} +platform_packages = ${core302_platform.platform_packages} +build_flags = ${core302_platform.build_flags} ${esp8266_1M_OTA.build_flags} ${minimal_OTA_FHEM_HA.build_flags} [env:minimal_core_302_ESP8285_1M_OTA_FHEM_HA] extends = esp8285_1M_OTA -platform = ${core_3_0_2.platform} -platform_packages = ${core_3_0_2.platform_packages} -build_flags = ${core_3_0_2.build_flags} +platform = ${core302_platform.platform} +platform_packages = ${core302_platform.platform_packages} +build_flags = ${core302_platform.build_flags} ${esp8285_1M_OTA.build_flags} ${minimal_OTA_FHEM_HA.build_flags} diff --git a/tools/build_ESPeasy.sh b/tools/build_ESPeasy.sh index 89a09d101..0a4f11321 100755 --- a/tools/build_ESPeasy.sh +++ b/tools/build_ESPeasy.sh @@ -289,7 +289,7 @@ set -o pipefail; pip install -r ${SRC}/requirements.txt | { grep -v "already sat # Update (and clean) all targets # N.B. clean does also install missing packages which must be installed before applying patches. -platformio update +platformio pkg update platformio run --target clean # patch platformio core libs for PUYA bug (https://github.com/letscontrolit/ESPEasy/issues/650) cd ${SRC}/patches; ./check_puya_patch; From f362e419289754a15733213275098ba970d66238 Mon Sep 17 00:00:00 2001 From: TD-er Date: Fri, 24 Jun 2022 15:33:34 +0200 Subject: [PATCH 2/5] [Rules] Disable rules reorder optimization (#4062) Fixes: #4062 --- docs/source/Tools/Tools.rst | 2 +- src/src/DataStructs/RulesEventCache.cpp | 13 +++++++++++-- src/src/Helpers/StringProvider.cpp | 4 ++-- src/src/Helpers/StringProvider.h | 2 +- src/src/WebServer/AdvancedConfigPage.cpp | 4 ++-- 5 files changed, 17 insertions(+), 8 deletions(-) diff --git a/docs/source/Tools/Tools.rst b/docs/source/Tools/Tools.rst index f7b3947c2..4c1f78237 100644 --- a/docs/source/Tools/Tools.rst +++ b/docs/source/Tools/Tools.rst @@ -227,7 +227,7 @@ Rules Settings * Rules - Check to enable rules functionality (on next page load, extra Rules tab will appear) * Old Engine - Default checked. * Enable Rules Cache - Rules cache will keep track of where in the rules files each ``on ... do`` block is located. This significantly improves the time it takes to handle events. (Enabled by default, Added 2022/04/17) -* Allow Rules Event Reorder - It is best to have the rules blocks for the most frequently occuring events placed at the top of the first rules file. (also for frequently happening events, which you don't want to act on) The cached event positions can be reordered in memory based on how often an event was matched. (Enabled by default, Added 2022/04/17) +* Allow Rules Event Reorder - It is best to have the rules blocks for the most frequently occuring events placed at the top of the first rules file. (also for frequently happening events, which you don't want to act on) The cached event positions can be reordered in memory based on how often an event was matched. (Enabled by default, Added 2022/04/17, disabled 2022/06/24) * Tolerant last parameter - When checked, the last parameter of a command will have less strict parsing. * SendToHTTP wait for ack - When checked, the command SendToHTTP will wait for an acknowledgement from the server. diff --git a/src/src/DataStructs/RulesEventCache.cpp b/src/src/DataStructs/RulesEventCache.cpp index a2e0b280f..40d981274 100644 --- a/src/src/DataStructs/RulesEventCache.cpp +++ b/src/src/DataStructs/RulesEventCache.cpp @@ -29,7 +29,13 @@ bool RulesEventCache::addLine(const String& line, const String& filename, size_t RulesEventCache_vector::const_iterator RulesEventCache::findMatchingRule(const String& event, bool optimize) { RulesEventCache_vector::iterator it = _eventCache.begin(); - RulesEventCache_vector::iterator prev = _eventCache.end(); +// RulesEventCache_vector::iterator prev = _eventCache.end(); + + // FIXME TD-er: Disable optimize as it has some side effects. + // For example, matching a specific event first and then a more generic one is perfectly normal to do. + // But this optimization will then put the generic one in front as it will be matched more often. + // Thus it will never match the more specific one anymore. + for (; it != _eventCache.end(); ++it) { @@ -38,6 +44,7 @@ RulesEventCache_vector::const_iterator RulesEventCache::findMatchingRule(const S STOP_TIMER(RULES_MATCH); if (match) { + /* if (optimize) { it->_nrTimesMatched++; @@ -50,9 +57,10 @@ RulesEventCache_vector::const_iterator RulesEventCache::findMatchingRule(const S } } } + */ return it; } - +/* if (optimize) { if (prev == _eventCache.end()) { prev = it; @@ -62,6 +70,7 @@ RulesEventCache_vector::const_iterator RulesEventCache::findMatchingRule(const S prev = it; } } + */ } return it; } diff --git a/src/src/Helpers/StringProvider.cpp b/src/src/Helpers/StringProvider.cpp index 7cfff556f..3278f6271 100644 --- a/src/src/Helpers/StringProvider.cpp +++ b/src/src/Helpers/StringProvider.cpp @@ -94,7 +94,7 @@ const __FlashStringHelper * getLabel(LabelType::Enum label) { case LabelType::JSON_BOOL_QUOTES: return F("JSON bool output without quotes"); case LabelType::ENABLE_TIMING_STATISTICS: return F("Collect Timing Statistics"); case LabelType::ENABLE_RULES_CACHING: return F("Enable Rules Cache"); - case LabelType::ENABLE_RULES_EVENT_REORDER: return F("Optimize Rules Cache Event Order"); +// case LabelType::ENABLE_RULES_EVENT_REORDER: return F("Optimize Rules Cache Event Order"); // TD-er: Disabled for now case LabelType::TASKVALUESET_ALL_PLUGINS: return F("Allow TaskValueSet on all plugins"); case LabelType::ALLOW_OTA_UNLIMITED: return F("Allow OTA without size-check"); case LabelType::ENABLE_CLEAR_HUNG_I2C_BUS: return F("Try clear I2C bus when stuck"); @@ -291,7 +291,7 @@ String getValue(LabelType::Enum label) { case LabelType::JSON_BOOL_QUOTES: return jsonBool(Settings.JSONBoolWithoutQuotes()); case LabelType::ENABLE_TIMING_STATISTICS: return jsonBool(Settings.EnableTimingStats()); case LabelType::ENABLE_RULES_CACHING: return jsonBool(Settings.EnableRulesCaching()); - case LabelType::ENABLE_RULES_EVENT_REORDER: return jsonBool(Settings.EnableRulesEventReorder()); +// case LabelType::ENABLE_RULES_EVENT_REORDER: return jsonBool(Settings.EnableRulesEventReorder()); // TD-er: Disabled for now case LabelType::TASKVALUESET_ALL_PLUGINS: return jsonBool(Settings.AllowTaskValueSetAllPlugins()); case LabelType::ALLOW_OTA_UNLIMITED: return jsonBool(Settings.AllowOTAUnlimited()); case LabelType::ENABLE_CLEAR_HUNG_I2C_BUS: return jsonBool(Settings.EnableClearHangingI2Cbus()); diff --git a/src/src/Helpers/StringProvider.h b/src/src/Helpers/StringProvider.h index b53ae306f..1b6f6ec4f 100644 --- a/src/src/Helpers/StringProvider.h +++ b/src/src/Helpers/StringProvider.h @@ -62,7 +62,7 @@ struct LabelType { JSON_BOOL_QUOTES, ENABLE_TIMING_STATISTICS, ENABLE_RULES_CACHING, - ENABLE_RULES_EVENT_REORDER, +// ENABLE_RULES_EVENT_REORDER, // TD-er: Disabled for now TASKVALUESET_ALL_PLUGINS, ALLOW_OTA_UNLIMITED, ENABLE_CLEAR_HUNG_I2C_BUS, diff --git a/src/src/WebServer/AdvancedConfigPage.cpp b/src/src/WebServer/AdvancedConfigPage.cpp index a19e1e9fb..098a3737f 100644 --- a/src/src/WebServer/AdvancedConfigPage.cpp +++ b/src/src/WebServer/AdvancedConfigPage.cpp @@ -116,7 +116,7 @@ void handle_advanced() { #endif Settings.EnableRulesCaching(isFormItemChecked(LabelType::ENABLE_RULES_CACHING)); - Settings.EnableRulesEventReorder(isFormItemChecked(LabelType::ENABLE_RULES_EVENT_REORDER)); +// Settings.EnableRulesEventReorder(isFormItemChecked(LabelType::ENABLE_RULES_EVENT_REORDER)); // TD-er: Disabled for now Settings.AllowOTAUnlimited(isFormItemChecked(LabelType::ALLOW_OTA_UNLIMITED)); @@ -139,7 +139,7 @@ void handle_advanced() { addFormCheckBox(F("Old Engine"), F("oldrulesengine"), Settings.OldRulesEngine()); #endif // WEBSERVER_NEW_RULES addFormCheckBox(LabelType::ENABLE_RULES_CACHING, Settings.EnableRulesCaching()); - addFormCheckBox(LabelType::ENABLE_RULES_EVENT_REORDER, Settings.EnableRulesEventReorder()); +// addFormCheckBox(LabelType::ENABLE_RULES_EVENT_REORDER, Settings.EnableRulesEventReorder()); // TD-er: Disabled for now addFormCheckBox(F("Tolerant last parameter"), F("tolerantargparse"), Settings.TolerantLastArgParse()); addFormNote(F("Perform less strict parsing on last argument of some commands (e.g. publish and sendToHttp)")); From dd3fa8f36635fc058550aab0a05f9c2a7e69ee29 Mon Sep 17 00:00:00 2001 From: TD-er Date: Fri, 24 Jun 2022 15:34:42 +0200 Subject: [PATCH 3/5] [MCP/PCF] Small optimization in code to set MCP/PCF pin range --- src/src/Commands/GPIO.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/src/Commands/GPIO.cpp b/src/src/Commands/GPIO.cpp index a752e33a1..e59a4ce7c 100644 --- a/src/src/Commands/GPIO.cpp +++ b/src/src/Commands/GPIO.cpp @@ -782,7 +782,7 @@ bool mcpgpio_range_pattern_helper(struct EventStruct *event, const char *Line, b uint8_t readValue; const uint8_t currentVal = data.initVal + i; const uint8_t currentAddress = static_cast(currentVal / 2); - const uint8_t currentMask = (data.mask >> (8 * i)) & 0xFF; + uint8_t currentMask = (data.mask >> (8 * i)) & 0xFF; const uint8_t currentInvertedMask = 0xFF - currentMask; const uint8_t currentWrite = (data.write >> (8 * i)) & 0xFF; const uint8_t currentGPIORegister = ((currentVal % 2) == 0) ? MCP23017_GPIOA : MCP23017_GPIOB; @@ -805,9 +805,8 @@ bool mcpgpio_range_pattern_helper(struct EventStruct *event, const char *Line, b } const uint8_t mode = (onLine) ? PIN_MODE_OUTPUT : PIN_MODE_OFFLINE; - for (uint8_t j = 0; j < 8; j++) { - // if ((currentMask & (uint8_t(pow(2,j)))) >> j) { //only for the pins in the mask - if ((currentMask & (1 << j)) >> j) { // only for the pins in the mask + for (uint8_t j = 0; currentMask != 0 && j < 8; j++) { + if (currentMask & 1) { // only for the pins in the mask uint8_t currentPin = data.firstPin + j + 8 * i; const uint32_t key = createKey(PLUGIN_MCP, currentPin); @@ -823,6 +822,7 @@ bool mcpgpio_range_pattern_helper(struct EventStruct *event, const char *Line, b addLog(LOG_LEVEL_INFO, log); SendStatusOnlyIfNeeded(event, SEARCH_PIN_STATE, key, log, 0); } + currentMask >>= 1; // Shift the mask 1 position } } return onLine; @@ -867,7 +867,7 @@ bool pcfgpio_range_pattern_helper(struct EventStruct *event, const char *Line, b uint8_t currentPin = data.firstPin + j + 8 * i; const uint32_t key = createKey(PLUGIN_PCF, currentPin); - if ((currentMask & (1 << j)) >> j) { // only for the pins in the mask + if (currentMask & 1) { // only for the pins in the mask state = onLine ? ((writeGPIOValue & (1 << j)) >> j) : -1; createAndSetPortStatus_Mode_State(key, mode, state); @@ -882,6 +882,7 @@ bool pcfgpio_range_pattern_helper(struct EventStruct *event, const char *Line, b readValue |= (1 << j); // set port j = 1 } } + currentMask >>= 1; // Shift the mask 1 position } if (onLine) { From cc02a00b322854784fc486bf1f8713f7fed2f921 Mon Sep 17 00:00:00 2001 From: TD-er Date: Sat, 25 Jun 2022 16:52:17 +0200 Subject: [PATCH 4/5] [2nd Heap] No longer use "2nd heap" on all "beta" builds (unstable) Keep building it in a special "custom" build, but no longer for all "beta" builds as it is just not as stable as I would like. It is crashing with watchdog resets even when doing almost nothing. --- platformio_core_defs.ini | 12 +++++++++++- platformio_esp82xx_base.ini | 6 ++++++ platformio_esp82xx_envs.ini | 12 +++++++++++- src/src/ESPEasyCore/ESPEasy_setup.cpp | 9 +++++---- 4 files changed, 33 insertions(+), 6 deletions(-) diff --git a/platformio_core_defs.ini b/platformio_core_defs.ini index 5d65487bf..424c74403 100644 --- a/platformio_core_defs.ini +++ b/platformio_core_defs.ini @@ -185,7 +185,7 @@ lib_ignore = ${esp82xx_defaults.lib_ignore} TinyWireM -[core_stage] +[core_stage_2ndheap] extends = esp82xx_3_0_x platform = https://github.com/platformio/platform-espressif8266.git build_flags = ${esp82xx_3_0_x.build_flags} @@ -197,6 +197,16 @@ platform_packages = platformio/framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git mcspr/toolchain-xtensa @ ~5.100300.211127 +[core_stage] +extends = esp82xx_3_0_x +platform = https://github.com/platformio/platform-espressif8266.git +build_flags = ${esp82xx_3_0_x.build_flags} + -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3 + -DPHASE_LOCKED_WAVEFORM +platform_packages = + platformio/framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git + mcspr/toolchain-xtensa @ ~5.100300.211127 + diff --git a/platformio_esp82xx_base.ini b/platformio_esp82xx_base.ini index 7cce176ae..5a187da0f 100644 --- a/platformio_esp82xx_base.ini +++ b/platformio_esp82xx_base.ini @@ -23,6 +23,12 @@ platform_packages = ${core_4_0_1.platform_packages} lib_ignore = ${core_4_0_1.lib_ignore} +[beta_platform_2ndheap] +build_flags = ${core_stage_2ndheap.build_flags} +platform = ${core_stage_2ndheap.platform} +platform_packages = ${core_stage_2ndheap.platform_packages} +lib_ignore = ${core_stage_2ndheap.lib_ignore} + [beta_platform] build_flags = ${core_stage.build_flags} platform = ${core_stage.platform} diff --git a/platformio_esp82xx_envs.ini b/platformio_esp82xx_envs.ini index 143e42560..343fa5922 100644 --- a/platformio_esp82xx_envs.ini +++ b/platformio_esp82xx_envs.ini @@ -78,7 +78,6 @@ build_flags = ${core302_platform.build_flags} lib_ignore = ${esp8266_custom_common.lib_ignore} extra_scripts = ${esp8266_custom_common.extra_scripts} - [env:custom_beta_ESP8266_4M1M] extends = esp8266_4M1M platform = ${beta_platform.platform} @@ -89,6 +88,17 @@ build_flags = ${beta_platform.build_flags} lib_ignore = ${esp8266_custom_common.lib_ignore} extra_scripts = ${esp8266_custom_common.extra_scripts} + +[env:custom_beta_2ndheap_ESP8266_4M1M] +extends = esp8266_4M1M +platform = ${beta_platform_2ndheap.platform} +platform_packages = ${beta_platform_2ndheap.platform_packages} +build_flags = ${beta_platform_2ndheap.build_flags} + ${esp8266_4M1M.build_flags} + -DPLUGIN_BUILD_CUSTOM +lib_ignore = ${esp8266_custom_common.lib_ignore} +extra_scripts = ${esp8266_custom_common.extra_scripts} + [env:custom_beta_IR_ESP8266_4M1M] extends = esp8266_4M1M platform = ${beta_platform.platform} diff --git a/src/src/ESPEasyCore/ESPEasy_setup.cpp b/src/src/ESPEasyCore/ESPEasy_setup.cpp index aff01b727..74b292212 100644 --- a/src/src/ESPEasyCore/ESPEasy_setup.cpp +++ b/src/src/ESPEasyCore/ESPEasy_setup.cpp @@ -96,12 +96,12 @@ void sw_watchdog_callback(void *arg) \*********************************************************************************************/ void ESPEasy_setup() { -#ifdef ESP8266_DISABLE_EXTRA4K +#if defined(ESP8266_DISABLE_EXTRA4K) || defined(USE_SECOND_HEAP) disable_extra4k_at_link_time(); -#endif // ifdef ESP8266_DISABLE_EXTRA4K +#endif #ifdef PHASE_LOCKED_WAVEFORM enablePhaseLockedWaveform(); -#endif // ifdef PHASE_LOCKED_WAVEFORM +#endif #ifdef USE_SECOND_HEAP HeapSelectDram ephemeral; #endif @@ -126,11 +126,12 @@ void ESPEasy_setup() } } #endif // CONFIG_IDF_TARGET_ESP32 +#endif // ESP32 #ifndef BUILD_NO_RAM_TRACKER lowestFreeStack = getFreeStackWatermark(); lowestRAM = FreeMem(); #endif // ifndef BUILD_NO_RAM_TRACKER -#endif // ESP32 + initWiFi(); run_compiletime_checks(); From 7fa356b51ff9237db05a8a35199a2ee46f93fed1 Mon Sep 17 00:00:00 2001 From: TD-er Date: Sat, 25 Jun 2022 19:22:43 +0200 Subject: [PATCH 5/5] [Build] Disable ESP8266 custom beta debug build due to size --- platformio_esp82xx_envs.ini | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/platformio_esp82xx_envs.ini b/platformio_esp82xx_envs.ini index 343fa5922..b17940304 100644 --- a/platformio_esp82xx_envs.ini +++ b/platformio_esp82xx_envs.ini @@ -120,21 +120,21 @@ lib_ignore = ESP32_ping extra_scripts = ${esp8266_custom_common.extra_scripts} - -[env:custom_beta_debug_ESP8266_4M1M] -extends = esp8266_4M1M -platform = ${beta_platform.platform} -platform_packages = ${beta_platform.platform_packages} -build_flags = ${beta_platform.build_flags} - ${esp8266_4M1M.build_flags} - -DPLUGIN_BUILD_CUSTOM - -g - -DDEBUG_ESP_OOM - -DUMM_POISON_CHECK - -DDEBUG_ESP_PORT=Serial -build_unflags = -lib_ignore = ${esp8266_custom_common.lib_ignore} -extra_scripts = ${esp8266_custom_common.extra_scripts} +; TD-er: Disabled as it will no longer fit +;[env:custom_beta_debug_ESP8266_4M1M] +;extends = esp8266_4M1M +;platform = ${beta_platform.platform} +;platform_packages = ${beta_platform.platform_packages} +;build_flags = ${beta_platform.build_flags} +; ${esp8266_4M1M.build_flags} +; -DPLUGIN_BUILD_CUSTOM +; -g +; -DDEBUG_ESP_OOM +; -DUMM_POISON_CHECK +; -DDEBUG_ESP_PORT=Serial +;build_unflags = +;lib_ignore = ${esp8266_custom_common.lib_ignore} +;extra_scripts = ${esp8266_custom_common.extra_scripts} ; Custom: 4M2M version -- SPIFFS --------------