From 655fada80c237b61539d72c877c4c48c1ccc2f2e Mon Sep 17 00:00:00 2001 From: Frank <91616163+softhack007@users.noreply.github.com> Date: Fri, 13 Dec 2024 18:37:47 +0100 Subject: [PATCH] platformio.ini cleanup * re-organized default_env by board type * added a note saying if HUB75 support is included * esp32 buildenv cleanup (removed not used flags) * env:esp32_4MB_PSRAM_M deleted * flash usage statistics --- platformio.ini | 253 ++++++++++++++++++++++++------------------------- 1 file changed, 126 insertions(+), 127 deletions(-) diff --git a/platformio.ini b/platformio.ini index ca7bbbef..c91b8677 100644 --- a/platformio.ini +++ b/platformio.ini @@ -55,11 +55,11 @@ default_envs = esp32_4MB_XL ; esp32_16MB_S ;; experimental, optimized for speed esp32_16MB_M ;; esp32 recommended for boards with 16MB flash + esp32_16MB_M_eth ; esp32_16MB_M_debug ; esp32_16MB_XL - esp8266_2MB_S - esp8266_4MB_S ;; recommended for 8266 with audio sync - esp8266_4MB_M + esp32_pico_4MB_M + ;; wemos_shield_esp32_4MB_M ; wemos_shield_esp32_4MB_ICS4343x_M ; wemos_shield_esp32_4MB_SPM1423_M @@ -69,38 +69,48 @@ default_envs = ; wemos_shield_esp32_16MB_SPM1423_M ; wemos_shield_esp32_16MB_SPM1423_XL ; wemos_shield_esp32_16MB_LineIn_M - esp32_pico_4MB_M - esp32_4MB_PSRAM_S - ; esp32_4MB_PSRAM_REV3_S ;; experimental, optimized for WROVER-E with "revision3" chip - esp32S3_4MB_S - esp32S3_8MB_S ;; experimental, optimized for speed - esp32S3_8MB_M - esp32S3_4MB_PSRAM_S ;; for lolin s3 mini, S3 zero, S3 super mini - optimized for speed - esp32S3_4MB_PSRAM_M ;; for lolin s3 mini, S3 zero, S3 super mini - esp32S3_8MB_PSRAM_M ;; experiemental - esp32S3_16MB_PSRAM_M_HUB75 ;; for S3 with 16MB flash, and MOONHUB HUB75 adapter board - esp32S3_WROOM-2_M ;; for S3 WROOM-2 - ;; esp32s2_tinyUF2_PSRAM_S ;; experimental - only for adafruit -S2 boards with tinyUF2 bootloader !!! + ;; + esp32_4MB_V4_S ;; experimental; HUB75 supported + esp32_4MB_V4_HUB75_forum ;; experimental; HUB75 supported (forum pinout) + esp32_16MB_V4_S ;; experimental - optimized for speed; HUB75 supported + esp32_16MB_V4_M ;; experimental; HUB75 supported + ; esp32_16MB_V4_M_debug ;; experimental + ; esp32_pico_4MB_V4_S ;; experimental - may work better in case you experience wifi connectivity problems + ;; + esp32_4MB_PSRAM_S ;; WROVER experimental; HUB75 supported + ; esp32_4MB_PSRAM_REV3_S ;; WROVER-E experimental, optimized for WROVER-E with "revision3" chip + ;; + esp32S3_4MB_S ;; for HD-WF2 (HUB75 supported) + esp32S3_8MB_S ;; experimental, optimized for speed, HUB75 supported + esp32S3_8MB_M ;; HUB75 supported + esp32S3_4MB_PSRAM_S ;; for lolin s3 mini, S3 zero, S3 super mini - optimized for speed (no HUB75 support) + esp32S3_4MB_PSRAM_M ;; for lolin s3 mini, S3 zero, S3 super mini (no HUB75 support) + esp32S3_8MB_PSRAM_M ;; experiemental; HUB75 supported + esp32S3_16MB_PSRAM_M_HUB75 ;; for S3 with 16MB flash, HUB75 supported (MOONHUB HUB75 adapter board) + esp32S3_WROOM-2_M ;; for S3 WROOM-2; HUB75 supported + ;; esp32s2_PSRAM_S ;; OTA-compatible with upstream esp32s2_PSRAM_M ;; for lolin S2 mini - esp32c3dev_4MB_M ;; experimental + ;; esp32s2_tinyUF2_PSRAM_S ;; experimental - only for adafruit -S2 boards with tinyUF2 bootloader !!! + ;; esp32c3dev_2MB_M ;; experimental - 2MB Flash, no OTA + esp32c3dev_4MB_M ;; experimental esp32c3mini_dio_4MB_M ;; for boards that need "dio" flash mode (instead of qio) seeed_esp32c3_4MB_S ;; experimental - esp32_4MB_V4_S ;; experimental - esp32_16MB_V4_S ;; experimental - optimized for speed - esp32_16MB_V4_M ;; experimental - esp32_16MB_V4_M_debug ;; experimental - esp32_pico_4MB_V4_S ;; experimental - may work better in case you experience wifi connectivity problems - esp8266pro_16MB_S + ;; + esp8266_2MB_S + esp8266_4MB_S ;; recommended for 8266 with audio sync + esp8266_4MB_M + ; esp8266pro_16MB_S esp8266pro_16MB_M esp01_1MB_S - esp32_16MB_M_eth + ;; athom_music_esp32_4MB_M - adafruit_matrixportal_esp32s3 + adafruit_matrixportal_esp32s3 ;; HUB75 supported ; Go to MoonModules environments for environments + src_dir = ./wled00 data_dir = ./wled00/data build_cache_dir = ~/.platformio/buildcache @@ -249,8 +259,6 @@ lib_deps = ;; https://github.com/softhack007/FastLED.git#ESP32-C6 ;; patched version needed for -C6 IRremoteESP8266 @ 2.8.2 ;;makuna/NeoPixelBus @ 2.7.5 ;; WLEDMM will be added in board specific sections - ;;https://github.com/Aircoookie/ESPAsyncWebServer.git @ ~2.0.7 - ;; https://github.com/lost-hope/ESPAsyncWebServer.git#master ;; WLEDMM to display .log and .wled files in /edit https://github.com/Aircoookie/ESPAsyncWebServer.git#v2.2.1 ;; newer with bugfixes and stability improvements #For use of the TTGO T-Display ESP32 Module with integrated TFT display uncomment the following line #TFT_eSPI @@ -1298,28 +1306,20 @@ build_flags = ${esp32_4MB_S_base.build_flags} ${Speed_Flags.build_flags} ;; -O2 -> optimize for speed instead of size -D WLED_RELEASE_NAME=esp32_4MB_S -D WLEDMM_FASTPATH ; WLEDMM experimental option. Reduces audio lag (latency), and allows for faster LED framerates. May break compatibility with previous versions. - ;; for speed builds, we need to disable some features to stay within 4MB flash - ;-D WLED_DISABLE_ALEXA - -D WLED_DISABLE_HUESYNC - -D WLED_DISABLE_LOXONE - ;-D WLED_DISABLE_MQTT - ;-D WLED_DISABLE_INFRARED - -D WLEDMM_SAVE_FLASH + ;-D WLEDMM_SAVE_FLASH ;WLEDMM: disable the next line if you don't need "net Debug". It will free ~2% of flash ${common_mm.NetDebug_build_flags} -;; normal build -; RAM: [=== ] 25.0% (used 81988 bytes from 327680 bytes) -; Flash: [========= ] 87.4% (used 1374677 bytes from 1572864 bytes) WLEDMM: Earlier 85.7 ;; optimized-for-speed build -; RAM: [=== ] 25.4% (used 83244 bytes from 327680 bytes) -; Flash: [========= ] 93.3% (used 1466821 bytes from 1572864 bytes) +; RAM: [== ] 23.6% (used 77188 bytes from 327680 bytes) +; Flash: [========= ] 93.8% (used 1475997 bytes from 1572864 bytes) [env:esp32_4MB_M] extends = esp32_4MB_M_base build_flags = ${esp32_4MB_M_base.build_flags} -D WLED_RELEASE_NAME=esp32_4MB_M -; RAM: [=== ] 26.0% (used 85244 bytes from 327680 bytes) -; Flash: [==========] 97.4% (used 1532125 bytes from 1572864 bytes) + -D WLEDMM_SAVE_FLASH +; RAM: [== ] 24.2% (used 79196 bytes from 327680 bytes) +; Flash: [==========] 97.4% (used 1532425 bytes from 1572864 bytes) [env:esp32_4MB_M_eth] extends = esp32_4MB_M_base @@ -1328,7 +1328,9 @@ build_flags = ${esp32_4MB_M_base.build_flags} -D WLED_USE_ETHERNET -D RLYPIN=-1 -D BTNPIN=-1 ;; Prevent clash -D WLED_DISABLE_ESPNOW ;; ESP-NOW requires wifi, may crash with ethernet only - + -D WLEDMM_SAVE_FLASH +; RAM: [== ] 24.2% (used 79404 bytes from 327680 bytes) +; Flash: [==========] 97.8% (used 1538025 bytes from 1572864 bytes) [env:esp32_4MB_XL] extends = esp32_4MB_XL_base @@ -1342,8 +1344,8 @@ build_flags = ${esp32_4MB_XL_base.build_flags} -D WLEDMM_SAVE_FLASH ;; a humble attempt to save a few extra bytes build_unflags = ${esp32_4MB_XL_base.build_unflags} board_build.partitions = tools/WLED_ESP32_4MB_256KB_FS.csv -; RAM: [=== ] 26.3% (used 86188 bytes from 327680 bytes) -; Flash: [========= ] 85.2% (used 1619513 bytes from 1900544 bytes) +; RAM: [== ] 24.5% (used 80140 bytes from 327680 bytes) +; Flash: [========= ] 85.8% (used 1630789 bytes from 1900544 bytes) ;; standard framework build for 16MB flash, optimized for speed [env:esp32_16MB_S] @@ -1361,13 +1363,9 @@ build_flags = ${esp32_4MB_S_base.build_flags} lib_deps = ${esp32_4MB_S_base.lib_deps} ${common_mm.animartrix_lib_deps} ; lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation -;; -;; normal build -; RAM: [=== ] 25.8% (used 84588 bytes from 327680 bytes) -; Flash: [======= ] 68.3% (used 1431377 bytes from 2097152 bytes) ;; optimized-for-speed build -; RAM: [=== ] 25.8% (used 84652 bytes from 327680 bytes) -; Flash: [======== ] 78.0% (used 1634829 bytes from 2097152 bytes) +; RAM: [== ] 23.7% (used 77524 bytes from 327680 bytes) +; Flash: [======= ] 72.9% (used 1528541 bytes from 2097152 bytes) [env:esp32_16MB_M] extends = esp32_4MB_M_base @@ -1376,9 +1374,9 @@ build_flags = ${esp32_4MB_M_base.build_flags} board = esp32_16MB board_build.partitions = tools/WLED_ESP32_16MB.csv ;; WLED standard for 16MB flash: 2MB firmware, 12 MB filesystem ;board_build.partitions = tools/WLED_ESP32_16MB_9MB_FS.csv ;; WLED extended for 16MB flash: 3.2MB firmware, 9 MB filesystem - ; RAM: [=== ] 26.0% (used 85244 bytes from 327680 bytes) - ; Flash: [======= ] 73.1% (used 1532125 bytes from 2097152 bytes) ;lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation +; RAM: [== ] 24.2% (used 79196 bytes from 327680 bytes) +; Flash: [======= ] 73.6% (used 1542905 bytes from 2097152 bytes) [env:esp32_4MB_M_debug] extends = esp32_4MB_M_base @@ -1391,13 +1389,14 @@ build_flags = ${esp32_4MB_M_base.build_flags} -D CORE_DEBUG_LEVEL=2 ;; 2=warning -D WLED_RELEASE_NAME=esp32_4MB_M_debug monitor_filters = esp32_exception_decoder -; RAM: [== ] 24.5% (used 80292 bytes from 327680 bytes) -; Flash: [========= ] 94.5% (used 1487113 bytes from 1572864 bytes) +; RAM: [== ] 24.1% (used 79060 bytes from 327680 bytes) +; Flash: [==========] 99.3% (used 1561969 bytes from 1572864 bytes) [env:esp32_16MB_M_debug] extends = esp32_4MB_M_base build_unflags = ${common.build_unflags} -D CORE_DEBUG_LEVEL=0 + -D NDEBUG build_flags = ${esp32_4MB_M_base.build_flags} ${Debug_Flags.build_flags} ; -D WLED_DEBUG_HEAP ;; WLEDMM enable heap debugging (needs newer framework versions) @@ -1407,8 +1406,8 @@ monitor_filters = esp32_exception_decoder board = esp32_16MB board_build.partitions = tools/WLED_ESP32_16MB.csv ;; WLED standard for 16MB flash: 2MB firmware, 12 MB filesystem ;board_build.partitions = tools/WLED_ESP32_16MB_9MB_FS.csv ;; WLED extended for 16MB flash: 3.2MB firmware, 9 MB filesystem -; RAM: [== ] 24.5% (used 80292 bytes from 327680 bytes) -; Flash: [======= ] 70.9% (used 1487129 bytes from 2097152 bytes) +; RAM: [== ] 24.3% (used 79468 bytes from 327680 bytes) +; Flash: [======== ] 76.7% (used 1609205 bytes from 2097152 bytes) [env:esp32_16MB_XL] extends = esp32_4MB_XL_base @@ -1417,9 +1416,9 @@ build_flags = ${esp32_4MB_XL_base.build_flags} board = esp32_16MB board_build.partitions = tools/WLED_ESP32_16MB.csv ;; WLED standard for 16MB flash: 2MB firmware, 12 MB filesystem ;board_build.partitions = tools/WLED_ESP32_16MB_9MB_FS.csv ;; WLED extended for 16MB flash: 3.2MB firmware, 9 MB filesystem - ; RAM: [== ] 24.4% (used 79916 bytes from 327680 bytes) - ; Flash: [======= ] 67.0% (used 1405701 bytes from 2097152 bytes) ;lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation +; RAM: [== ] 24.5% (used 80140 bytes from 327680 bytes) +; Flash: [======== ] 77.8% (used 1631929 bytes from 2097152 bytes) [env:esp32_16MB_M_eth] extends = esp32_4MB_M_base @@ -1430,8 +1429,8 @@ build_flags = ${esp32_4MB_M_base.build_flags} -D WLED_RELEASE_NAME=esp32_16MB_M_eth ; This will be included in the firmware.bin filename -D WLED_USE_ETHERNET -D WLED_DISABLE_ESPNOW ;; ESP-NOW requires wifi, may crash with ethernet only -; RAM: [=== ] 26.1% (used 85452 bytes from 327680 bytes) -; Flash: [======= ] 73.3% (used 1537945 bytes from 2097152 bytes) +; RAM: [== ] 24.2% (used 79388 bytes from 327680 bytes) +; Flash: [======= ] 73.8% (used 1548525 bytes from 2097152 bytes) [env:esp8266_2MB_S] @@ -1626,7 +1625,7 @@ lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compila ;; Warning: the build-in LittleFS (arduino-esp32 2.0.x) seems to be "slightly different" from Lorol LittleFS. ;; When upgrading to the new framework, it might be necessary to first do a chip erase (make sure you have a backup of cfg.json and presets.json) -; compiled with ESP-IDF 4.4.1 +; compiled with ESP-IDF 4.4.1; HUB75 supported [env:esp32_4MB_V4_S] extends = esp32_4MB_V4_S_base build_flags = ${esp32_4MB_V4_S_base.esp32_build_flags} @@ -1644,12 +1643,11 @@ build_flags = ${esp32_4MB_V4_S_base.esp32_build_flags} ; -D SR_DEBUG ; -D MIC_LOGGER ${common_mm.HUB75_build_flags} - lib_deps = ${esp32_4MB_V4_S_base.esp32_lib_deps} ${common_mm.HUB75_lib_deps} lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation - ; RAM: [=== ] 28.1% (used 91960 bytes from 327680 bytes) - ; Flash: [==========] 97.8% (used 1537777 bytes from 1572864 bytes) +; RAM: [=== ] 25.5% (used 83400 bytes from 327680 bytes) +; Flash: [==========] 97.3% (used 1530013 bytes from 1572864 bytes) ;; softhack007: my favourite HUB75 buildenv - fastest possible [env:esp32_4MB_V4_HUB75_forum] @@ -1697,7 +1695,6 @@ build_flags = ${esp32_4MB_V4_S_base.esp32_build_flags} -D WLEDMM_SAVE_FLASH -D WLED_DISABLE_BROWNOUT_DET ;;-DCORE_DEBUG_LEVEL=1 - lib_deps = ${esp32_4MB_V4_S_base.esp32_lib_deps} ${common_mm.HUB75_lib_deps} ${common_mm.animartrix_lib_deps} @@ -1707,7 +1704,8 @@ lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compila board_build.partitions = ${esp32.big_partitions} board_build.f_flash = 80000000L ; use full 80MHz speed for flash (default = 40Mhz) board_build.flash_mode = qio ; (dio = dual i/o; more compatible than qio = quad i/o) - +; RAM: [== ] 23.7% (used 77720 bytes from 327680 bytes) +; Flash: [========= ] 93.1% (used 1768897 bytes from 1900544 bytes) ; compiled with ESP-IDF 4.4.1 [env:esp32_4MB_V4_M] @@ -1731,11 +1729,10 @@ build_unflags = ${esp32_4MB_V4_M_base.build_unflags} -D USERMOD_ARTIFX -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: [=== ] 28.0% (used 91664 bytes from 327680 bytes) -;; Flash: [==========] 99.5% (used 1564945 bytes from 1572864 bytes) - -;; V4 build for 16MB flash, optimized for speed +;; V4 build for 16MB flash, optimized for speed; HUB75 supported [env:esp32_16MB_V4_S] extends = esp32_4MB_V4_S_base build_unflags = ${esp32_4MB_V4_S_base.build_unflags} @@ -1746,20 +1743,22 @@ build_flags = ${esp32_4MB_V4_S_base.esp32_build_flags} -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 WLEDMM_FASTPATH ; WLEDMM experimental option. Reduces audio lag (latency), and allows for faster LED framerates. May break compatibility with previous versions. - ;; ${common_mm.animartrix_build_flags} ;; breaks the build - Internal Compiler Error + -D WLED_DISABLE_BROWNOUT_DET + -D JSON_BUFFER_SIZE=18432 -D MIN_HEAP_SIZE=6144 + -D MAX_SEGMENT_DATA=40960 ;; default 32767 + ${common_mm.HUB75_build_flags} + ${common_mm.animartrix_build_flags} lib_deps = ${esp32_4MB_V4_S_base.esp32_lib_deps} - ;; ${common_mm.animartrix_lib_deps} + ${common_mm.HUB75_lib_deps} + ${common_mm.animartrix_lib_deps} board = esp32_16MB board_build.partitions = tools/WLED_ESP32_16MB.csv ;; WLED standard for 16MB flash: 2MB firmware, 12 MB filesystem ;board_build.partitions = tools/WLED_ESP32_16MB_9MB_FS.csv ;; WLED extended for 16MB flash: 3.2MB firmware, 9 MB filesystem -;; normal build -; RAM: [=== ] 25.4% (used 83312 bytes from 327680 bytes) -; Flash: [======= ] 73.3% (used 1536317 bytes from 2097152 bytes) ;; optimized-for-speed build -; RAM: [=== ] 26.1% (used 85396 bytes from 327680 bytes) -; Flash: [======== ] 82.8% (used 1736129 bytes from 2097152 bytes) +; RAM: [== ] 23.7% (used 77704 bytes from 327680 bytes) +; Flash: [======== ] 84.4% (used 1770341 bytes from 2097152 bytes) -; compiled with ESP-IDF 4.4.1 +; compiled with ESP-IDF 4.4.1; HUB75 included (may have PIN conflicts) [env:esp32_16MB_V4_M] extends = esp32_4MB_V4_M_base build_flags = ${esp32_4MB_V4_M_base.esp32_build_flags} @@ -1773,17 +1772,22 @@ build_flags = ${esp32_4MB_V4_M_base.esp32_build_flags} -D ENCODER_DT_PIN=35 -D ENCODER_CLK_PIN=39 -D ENCODER_SW_PIN=5 ; WLEDMM spec by @SERG74: use 35 and 39 instead of 18 and 19 (conflicts) -D FLD_PIN_SCL=-1 -D FLD_PIN_SDA=-1 ; use global! -D HW_PIN_SCL=22 -D HW_PIN_SDA=21 + ${common_mm.HUB75_build_flags} + ${common_mm.animartrix_build_flags} lib_deps = ${esp32_4MB_V4_M_base.esp32_lib_deps} + ${common_mm.HUB75_lib_deps} + ${common_mm.animartrix_lib_deps} board = esp32_16MB board_build.partitions = tools/WLED_ESP32_16MB.csv ;; WLED standard for 16MB flash: 2MB firmware, 12 MB filesystem ;board_build.partitions = tools/WLED_ESP32_16MB_9MB_FS.csv ;; WLED extended for 16MB flash: 3.2MB firmware, 9 MB filesystem - ; RAM: [== ] 24.8% (used 81316 bytes from 327680 bytes) - ; Flash: [======= ] 72.9% (used 1528253 bytes from 2097152 bytes) +; RAM: [=== ] 25.7% (used 84104 bytes from 327680 bytes) +; Flash: [======== ] 80.7% (used 1692269 bytes from 2097152 bytes) [env:esp32_16MB_V4_M_debug] extends = esp32_4MB_V4_M_base build_unflags = ${common.build_unflags} -D CORE_DEBUG_LEVEL=0 + -D NDEBUG build_flags = ${esp32_4MB_V4_M_base.esp32_build_flags} ${Debug_Flags.build_flags} -D CORE_DEBUG_LEVEL=4 ;; 0=none, 1=error, 2=warning, 3=info, 4=debug, 5=verbose @@ -1796,16 +1800,24 @@ board = esp32_16MB board_build.partitions = tools/WLED_ESP32_16MB.csv ;; WLED standard for 16MB flash: 2MB firmware, 12 MB filesystem ;board_build.partitions = tools/WLED_ESP32_16MB_9MB_FS.csv ;; WLED extended for 16MB flash: 3.2MB firmware, 9 MB filesystem monitor_filters = esp32_exception_decoder -; RAM: [=== ] 25.0% (used 82008 bytes from 327680 bytes) -; Flash: [======== ] 78.1% (used 1638193 bytes from 2097152 bytes) WLEDMM: Earlier 76.9 +; RAM: [=== ] 26.4% (used 86356 bytes from 327680 bytes) +; Flash: [======== ] 83.6% (used 1753461 bytes from 2097152 bytes) -;; experimental environment for boards with PSRAM (needs ESP-IDF 4.4.1). +;; experimental environment for boards with PSRAM (needs ESP-IDF 4.4.1). HUB75 included (may have PIN conflicts) [env:esp32_4MB_PSRAM_S] extends = esp32_4MB_V4_S_base board = lolin_d32_pro ;board = esp32cam +;board = ttgo-t7-v14-mini32 +board_build.partitions = ${esp32.extended_partitions} +board_build.f_flash = 80000000L +;board_build.flash_mode = dio + build_unflags = ${esp32_4MB_V4_S_base.build_unflags} - -D WLED_ENABLE_HUB75MATRIX ;; uses too much flash + -D WLED_ENABLE_DMX + -D WLED_ENABLE_DMX_INPUT + ; -D WLED_ENABLE_HUB75MATRIX ;; uses a lot of flash + ; -D USERMOD_ANIMARTRIX ;; uses a lot of memory build_flags = ${esp32_4MB_V4_S_base.esp32_build_flags} -D WLED_RELEASE_NAME=esp32_4MB_PSRAM_S -D WLED_WATCHDOG_TIMEOUT=0 #-D WLED_DISABLE_BROWNOUT_DET @@ -1819,14 +1831,19 @@ build_flags = ${esp32_4MB_V4_S_base.esp32_build_flags} -D WLED_DISABLE_ALEXA ; RAM 116 bytes; FLASH 13524 bytes -D WLED_DISABLE_MQTT ; RAM 216 bytes; FLASH 16496 bytes -D WLED_DISABLE_INFRARED ;RAM 136 bytes; FLASH 24492 bytes ewowi: disabled to stay below 100% - ; -D WLED_ENABLE_DMX ; -D WLED_DEBUG ; -D SR_DEBUG ; -D MIC_LOGGER + ${common_mm.HUB75_build_flags} lib_deps = ${esp32_4MB_V4_S_base.esp32_lib_deps} -lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation -;; RAM: [== ] 20.4% (used 66960 bytes from 327680 bytes) -;; Flash: [==========] 98.7% (used 1553129 bytes from 1572864 bytes) + ${common_mm.HUB75_lib_deps} +lib_ignore = + IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation + ;; ${common_mm.HUB75_lib_ignore} + ${common_mm.animartrix_lib_ignore} + ${common_mm.DMXin_lib_ignore} +;; RAM: [== ] 17.8% (used 58236 bytes from 327680 bytes) +;; Flash: [========= ] 90.0% (used 1534209 bytes from 1703936 bytes) ;; similar to 4MB_PSRAM_S, but optimized for WROVER-E (chip revision >= 3) that doesn't need any workarounds for PSRAM any more ;; tl;dr: its faster on PSRAM. But it will not work on all boards. @@ -1834,13 +1851,16 @@ lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compila extends = esp32_4MB_V4_S_base ;board = esp32cam board = lolin_d32_pro -;board_build.partitions = tools/WLED_ESP32_4MB_256KB_FS.csv ;; Alternative for 4MB flash: 1.8MB firmware, 256KB filesystem (esptool erase_flash needed before changing) +;board = ttgo-t7-v14-mini32 +board_build.partitions = ${esp32.extended_partitions} +board_build.f_flash = 80000000L +board_build.flash_mode = dio + build_unflags = ${esp32_4MB_V4_S_base.build_unflags} ;;${Speed_Flags.build_unflags} ;; to override -Os -DARDUINO_EVENT_RUNNING_CORE=1 ;; we want to run wifi on core0, so remove the standard flag -mfix-esp32-psram-cache-issue ;; this fix is not needed any more for revision 3 -mfix-esp32-psram-cache-strategy=memw ;; same as above - -D WLED_ENABLE_HUB75MATRIX ;; uses too much flash build_flags = ${esp32_4MB_V4_S_base.esp32_build_flags} -DARDUINO_EVENT_RUNNING_CORE=0 ;; assign Wifi to core0, to have more CPU on core#1 (arduino loop) @@ -1858,49 +1878,29 @@ build_flags = ${esp32_4MB_V4_S_base.esp32_build_flags} -D WLED_DISABLE_LOXONE ; FLASH 1272 bytes -D WLED_DISABLE_HUESYNC ; RAM 122 bytes; FLASH 6308 bytes -D WLED_DISABLE_ALEXA ; RAM 116 bytes; FLASH 13524 bytes - -D WLED_DISABLE_MQTT ; RAM 216 bytes; FLASH 16496 bytes + ; -D WLED_DISABLE_MQTT ; RAM 216 bytes; FLASH 16496 bytes -D WLED_DISABLE_INFRARED ;RAM 136 bytes; FLASH 24492 bytes ewowi: disabled to stay below 100% ;-D WLED_DISABLE_ADALIGHT ;; To disable serial protocols (see upstream #3128) ; -D WLED_ENABLE_DMX ; -D WLED_DEBUG ; -D SR_DEBUG ; -D MIC_LOGGER + ${common_mm.HUB75_build_flags} lib_deps = ${esp32_4MB_V4_S_base.esp32_lib_deps} -lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation -;; RAM: [== ] 20.4% (used 66976 bytes from 327680 bytes) -;; Flash: [==========] 97.0% (used 1525833 bytes from 1572864 bytes) - -;; PSRAM build env that only leaves 300Kb for filesystem (instead of 1MB), but adds 300kB for program space -[env:esp32_4MB_PSRAM_M] -extends = esp32_4MB_V4_M_base -board = lolin_d32_pro -;board = esp32cam -board_build.partitions = tools/WLED_ESP32_4MB_256KB_FS.csv ;; 1.8MB firmware, 256KB filesystem (esptool erase_flash needed when changing from "standard WLED" partitions) -build_flags = ${esp32_4MB_V4_M_base.esp32_build_flags} - -D WLED_RELEASE_NAME=esp32_4MB_PSRAM_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 WLEDMM_SAVE_FLASH - -DBOARD_HAS_PSRAM ;; -D WLED_USE_PSRAM ;; WLED_USE_PSRAM causes major slow-down (slow LEDs) on some ESP32 boards - -D WLED_USE_PSRAM_JSON -DALL_JSON_TO_PSRAM ; WLEDMM --> force all JSON stuff into PSRAM; gives more free heap - -D WLED_DISABLE_LOXONE ;; FLASH 1272 bytes - -D WLED_DISABLE_HUESYNC ;; RAM 122 bytes; FLASH 6308 bytes - -D WLED_DISABLE_ALEXA ;; RAM 116 bytes; FLASH 13524 bytes - ; -D WLED_DISABLE_MQTT ;; RAM 216 bytes; FLASH 16496 bytes - ; -D WLED_DISABLE_INFRARED ;;RAM 136 bytes; FLASH 24492 bytes - ; -D WLED_ENABLE_DMX - ; -D WLED_DEBUG - ; -D SR_DEBUG - ; -D MIC_LOGGER -lib_deps = ${esp32_4MB_V4_M_base.esp32_lib_deps} -;lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation -;; RAM: [== ] 20.7% (used 67672 bytes from 327680 bytes) -;; Flash: [========= ] 90.4% (used 1718421 bytes from 1900544 bytes) + ${common_mm.HUB75_lib_deps} +lib_ignore = + IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation + ${common_mm.animartrix_lib_ignore} + ;; ${common_mm.HUB75_lib_ignore} +;; RAM: [== ] 18.0% (used 58920 bytes from 327680 bytes) +;; Flash: [========= ] 90.6% (used 1542929 bytes from 1703936 bytes) # ------------------------------------------------------------------------------ # esp32-S3 environments # ------------------------------------------------------------------------------ + + [env:esp32S3_4MB_S] ;; Use for HD-WF2 extends = esp32_4MB_V4_M_base board = esp32-s3-devkitc-1 @@ -1982,6 +1982,7 @@ board_build.flash_mode = qio ; Flash: [======= ] 70.6% (used 1479573 bytes from 2097152 bytes) ;; MM for ESP32-S3 PSRAM development board, with 8MB FLASH and >= 8MB PSRAM (memory_type: qio_opi) +;; HUB75 supported, but may still hve pin conflicts [env:esp32S3_8MB_PSRAM_M] extends = esp32_4MB_V4_M_base @@ -2020,14 +2021,13 @@ build_flags = ${common.build_flags} ${esp32s3.build_flags} -Wno-misleading-inden ; -D MIC_LOGGER lib_deps = ${esp32s3.lib_deps} ${common_mm.lib_deps_S} ${common_mm.lib_deps_V4_M} ${common_mm.HUB75_lib_deps} - ;lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation board_build.partitions = tools/WLED_ESP32_8MB.csv ; RAM: [== ] 21.1% (used 69156 bytes from 327680 bytes) ; Flash: [======== ] 75.9% (used 1591817 bytes from 2097152 bytes) -;; MM for ESP32-S3 boards - FASTPATH + optimize for speed [env:esp32S3_8MB_S] +;; MM for ESP32-S3 boards - FASTPATH + optimize for speed; ; HUB75 support included (may still have pin conflicts) extends = esp32_4MB_V4_M_base board = esp32-s3-devkitc-1 ;; generic S3 dev board board_build.flash_mode = qio ;; use "dio" if your board gets unstable with "qio" @@ -2041,6 +2041,7 @@ build_flags = ${common.build_flags} ${esp32s3.build_flags} -Wno-misleading-inden ;;-D WLED_DISABLE_ADALIGHT ;; disables serial protocols - recommended for Hardware-CDC USB (Serial RX will receive junk commands when RX pin is unconnected, unless its pulled down by resistor) ${Speed_Flags.build_flags_V4} ;; optimize for speed instead of size -D WLEDMM_FASTPATH ; WLEDMM experimental option. Reduces audio lag (latency), and allows for faster LED framerates. May break compatibility with previous versions. + ${common_mm.HUB75_build_flags} ${common_mm.animartrix_build_flags} -D WLED_WATCHDOG_TIMEOUT=0 -D CONFIG_ASYNC_TCP_USE_WDT=0 -D WLED_DISABLE_LOXONE ; FLASH 1272 bytes @@ -2062,15 +2063,13 @@ build_flags = ${common.build_flags} ${esp32s3.build_flags} -Wno-misleading-inden ; -D SR_DEBUG ; -D MIC_LOGGER lib_deps = ${esp32s3.lib_deps} ${common_mm.lib_deps_S} + ${common_mm.HUB75_lib_deps} ${common_mm.animartrix_lib_deps} lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation board_build.partitions = tools/WLED_ESP32_8MB.csv -;; normal build -; RAM: [== ] 24.9% (used 81656 bytes from 327680 bytes) -; Flash: [======= ] 66.1% (used 1386229 bytes from 2097152 bytes) ;; optimized-for-speed build -; RAM: [=== ] 25.8% (used 84544 bytes from 327680 bytes) -; Flash: [======== ] 78.1% (used 1638737 bytes from 2097152 bytes) +; RAM: [=== ] 26.0% (used 85328 bytes from 327680 bytes) +; Flash: [======== ] 79.9% (used 1674885 bytes from 2097152 bytes) ;; for S3 with 16MB flash, octal PSRAM,