diff --git a/platformio.ini b/platformio.ini index 006a4986..979c86d5 100644 --- a/platformio.ini +++ b/platformio.ini @@ -327,11 +327,14 @@ platform_packages_compat = platformio/tool-esptoolpy #@ ~1.30000.0 -;; old V3 platform for esp32. Not used any more, just kept for reference +;; old V3 platform for esp32. Can be a fallback option when hitting flash size limits [esp32_legacy] platform = espressif32@3.5.0 platform_packages = framework-arduinoespressif32 @ https://github.com/Aircoookie/arduino-esp32.git#1.0.6.4 +build_unflags = ${common.build_unflags} + -Wshadow=compatible-local ;; not supported by older compilers build_flags = -g + -Wno-unused-variable -Wno-unused-function ;; removes noise -DARDUINO_ARCH_ESP32 -D CONFIG_ASYNC_TCP_USE_WDT=0 -D CONFIG_ASYNC_TCP_TASK_STACK_SIZE=9472 ;; WLEDMM increase stack by 1.25Kb, as audioreactive needs bigger SETTINGS_STACK_BUF_SIZE @@ -629,7 +632,7 @@ extends = env:esp32dev_V4_dio80 board = esp32dev platform = ${esp32_legacy.platform} platform_packages = ${esp32_legacy.platform_packages} -build_unflags = ${common.build_unflags} +build_unflags = ${esp32_legacy.build_unflags} build_flags = ${common.build_flags} ${esp32_legacy.build_flags} -D WLED_RELEASE_NAME=ESP32_compat #-D WLED_DISABLE_BROWNOUT_DET ${esp32.AR_build_flags} lib_deps = ${esp32_legacy.lib_deps} @@ -644,7 +647,7 @@ monitor_filters = esp32_exception_decoder board = esp32dev platform = ${esp32_legacy.platform} platform_packages = ${esp32_legacy.platform_packages} -build_unflags = ${common.build_unflags} +build_unflags = ${esp32_legacy.build_unflags} build_flags = ${common.build_flags} ${esp32_legacy.build_flags} -D WLED_RELEASE_NAME=ESP32_qio80_compat #-D WLED_DISABLE_BROWNOUT_DET ${esp32.AR_build_flags} lib_deps = ${esp32_legacy.lib_deps} @@ -679,7 +682,7 @@ board = esp32-poe platform = ${esp32_legacy.platform} platform_packages = ${esp32_legacy.platform_packages} upload_speed = 921600 -build_unflags = ${common.build_unflags} +build_unflags = ${esp32_legacy.build_unflags} build_flags = ${common.build_flags} ${esp32_legacy.build_flags} -D WLED_RELEASE_NAME=ESP32_Ethernet_compat -D RLYPIN=-1 -D WLED_USE_ETHERNET -D BTNPIN=-1 -D WLED_DISABLE_ESPNOW ;; ESP-NOW requires wifi, may crash with ethernet only ${esp32.AR_build_flags} @@ -1216,12 +1219,20 @@ lib_deps_XL = ; common defaults for all MM environments [esp32_4MB_S_base] board = esp32dev -platform = ${esp32.platform} -platform_packages = ${esp32.platform_packages} +;; legacy V3 platform +platform = ${esp32_legacy.platform} +platform_packages = ${esp32_legacy.platform_packages} +build_unflags = ${esp32_legacy.build_unflags} +build_flags = ${common.build_flags} ${esp32_legacy.build_flags} ${common_mm.build_flags_S} ${common_mm.build_disable_sync_interfaces} +lib_deps = ${esp32_legacy.lib_deps} ${common_mm.lib_deps_S} +lib_ignore = ${common_mm.DMXin_lib_ignore} ;; requires V4 framework upload_speed = 460800 ; or 921600 -build_unflags = ${common.build_unflags} -build_flags = ${common.build_flags_esp32} ${common_mm.build_flags_S} ${common_mm.build_disable_sync_interfaces} -lib_deps = ${esp32.lib_deps} ${common_mm.lib_deps_S} +;; new V4 platform +;;platform = ${esp32.platform} +;;platform_packages = ${esp32.platform_packages} +;;build_unflags = ${common.build_unflags} +;;build_flags = ${common.build_flags_esp32} ${common_mm.build_flags_S} ${common_mm.build_disable_sync_interfaces} +;;lib_deps = ${esp32.lib_deps} ${common_mm.lib_deps_S} board_build.partitions = ${esp32.default_partitions} board_build.f_flash = 80000000L ; use full 80MHz speed for flash (default = 40Mhz) board_build.flash_mode = dio ; (dio = dual i/o; more compatible than qio = quad i/o) @@ -1230,7 +1241,7 @@ monitor_filters = esp32_exception_decoder ;common default for all max environments [esp32_4MB_M_base] extends = esp32_4MB_S_base -build_flags = ${common.build_flags_esp32} ${common_mm.build_flags_S} ${common_mm.build_flags_M} ;; we don't want common_mm.build_disable_sync_interfaces, so we cannot inherit from esp32_4MB_S_base +build_flags = ${common.build_flags} ${esp32_legacy.build_flags} ${common_mm.build_flags_S} ${common_mm.build_flags_M} ;; we don't want common_mm.build_disable_sync_interfaces, so we cannot inherit from esp32_4MB_S_base build_unflags = ${esp32_4MB_S_base.build_unflags} lib_deps = ${esp32_4MB_S_base.lib_deps} ${common_mm.lib_deps_M} @@ -1807,16 +1818,21 @@ board_build.flash_mode = qio ; (dio = dual i/o; more compatible than qio = quad ; compiled with ESP-IDF 4.4.1 [env:esp32_4MB_V4_M] extends = esp32_4MB_V4_M_base +;; needs tasmota framework; will exceed flash limits with default framework +platform = ${esp32.platform} ;; "V4" tasmota +platform_packages = ${esp32.platform_packages} build_flags = ${esp32_4MB_V4_M_base.esp32_build_flags} -D WLED_RELEASE_NAME=esp32_4MB_V4_M -D WLED_WATCHDOG_TIMEOUT=0 #-D WLED_DISABLE_BROWNOUT_DET -D ARDUINO_USB_CDC_ON_BOOT=0 ; needed for arduino-esp32 >=2.0.4; avoids errors on startup - -D WLED_DISABLE_LOXONE ; FLASH 1272 bytes - -D WLED_DISABLE_ALEXA ; RAM 116 bytes; FLASH 13524 bytes - -D WLED_DISABLE_HUESYNC ;RAM 122 bytes; FLASH 6308 bytes - -D WLED_DISABLE_MQTT ; RAM 216 bytes; FLASH 16496 bytes ;; softhack007 disabled to stay below 100% flash size + ;;-D WLED_DISABLE_LOXONE ; FLASH 1272 bytes + ;;-D WLED_DISABLE_ALEXA ; RAM 116 bytes; FLASH 13524 bytes + ;;-D WLED_DISABLE_HUESYNC ;RAM 122 bytes; FLASH 6308 bytes + ;;-D WLED_DISABLE_MQTT ; RAM 216 bytes; FLASH 16496 bytes ;; softhack007 disabled to stay below 100% flash size -D WLED_DISABLE_INFRARED ;RAM 136 bytes; FLASH 24492 bytes ;; softhack007 disabled to stay below 100% flash size - -D WLEDMM_SAVE_FLASH + ;;-D WLEDMM_SAVE_FLASH + ;;-D WLED_DISABLE_PARTICLESYSTEM1D ;; exceeds flash size limit + ;;-D WLED_DISABLE_PARTICLESYSTEM2D ;; exceeds flash size limit lib_deps = ${esp32_4MB_V4_M_base.esp32_lib_deps} lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation ${common_mm.HUB75_lib_ignore} ;; over the flash size limit @@ -1824,10 +1840,10 @@ lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compila build_unflags = ${esp32_4MB_V4_M_base.build_unflags} -D USERMOD_ANIMARTRIX ;; Tips our memory usage over the limit -D USERMOD_ARTIFX - -D USERMOD_AUTO_SAVE + ;; -D USERMOD_AUTO_SAVE -D WLED_ENABLE_HUB75MATRIX -; RAM: [=== ] 26.1% (used 85632 bytes from 327680 bytes) -; Flash: [==========] 99.5% (used 1565065 bytes from 1572864 bytes) +; RAM: [== ] 23.9% (used 78204 bytes from 327680 bytes) +; Flash: [========= ] 85.8% (used 1349585 bytes from 1572864 bytes) ;; V4 build for 16MB flash, optimized for speed; HUB75 supported [env:esp32_16MB_V4_S] @@ -2821,10 +2837,11 @@ board_build.partitions = tools/WLED_ESP32_16MB.csv ;; WLED standard for ;https://www.athom.tech/blank-1/wled-esp32-music-addressable-led-strip-controller [env:athom_music_esp32_4MB_M] extends = esp32_4MB_M_base -build_unflags = ${common.build_unflags} +build_unflags = ${esp32_legacy.build_unflags} -D USERMOD_ARTIFX ;; disabled to save some program space in flash -D USERMOD_DALLASTEMPERATURE ;; disabled - flash space is too tight for this -D USERMOD_ROTARY_ENCODER_UI ;; see above + ${common_mm.DMXin_build_flags} build_flags = ${esp32_4MB_M_base.build_flags} ${Athom_PDMmic.build_flags} -D WLED_AP_SSID_UNIQUE @@ -2844,6 +2861,8 @@ build_flags = ${esp32_4MB_M_base.build_flags} ; -D PWM_PIN=-1 ; -D WLED_USE_MY_CONFIG -D WLEDMM_SAVE_FLASH +lib_ignore = ${esp32_4MB_M_base.lib_ignore} + ${common_mm.DMXin_lib_ignore} ; RAM: [=== ] 26.3% (used 86204 bytes from 327680 bytes) ; Flash: [========= ] 93.6% (used 1471681 bytes from 1572864 bytes) @@ -2894,15 +2913,18 @@ build_flags = ${esp32_4MB_M_base.build_flags} ; -D MCLK_PIN=0 -D SR_ENABLE_DEFAULT ;; enable at first start - no need to manually set "enable", then reboot ; -D WLED_USE_MY_CONFIG - ; -D WLED_DISABLE_LOXONE + -D WLED_DISABLE_LOXONE ;; exceeds flash size limits ; -D WLED_DISABLE_ALEXA ; -D WLED_DISABLE_HUESYNC ; -D WLED_DISABLE_MQTT ; -D WLED_DISABLE_INFRARED ; -D WLED_ENABLE_DMX -; RAM: [=== ] 26.0% (used 85236 bytes from 327680 bytes) -; Flash: [==========] 97.1% (used 1527049 bytes from 1572864 bytes) - + -D WLEDMM_SAVE_FLASH + -D WLED_DISABLE_ESPNOW ;; might help in case of WiFi connectivity problems + -D WLED_DISABLE_PARTICLESYSTEM1D ;; exceeds flash size limit + ;; -D WLED_DISABLE_PARTICLESYSTEM2D +; RAM: [== ] 24.2% (used 79424 bytes from 327680 bytes) +; Flash: [==========] 99.9% (used 1571177 bytes from 1572864 bytes) ;; experimental ;; PICO environment with ESP-IDF v4.4.4 / arduino-esp32 v2.0.9 [env:esp32_pico_4MB_V4_S]