From b9e7621cd671619a355d650756a5cc72b4fec091 Mon Sep 17 00:00:00 2001 From: Frank <91616163+softhack007@users.noreply.github.com> Date: Sun, 21 Dec 2025 01:11:18 +0100 Subject: [PATCH] platformio.ini updates to include PixelForge unrelated: enable some features that still fit into flash --- platformio.ini | 99 ++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 80 insertions(+), 19 deletions(-) diff --git a/platformio.ini b/platformio.ini index 9c97a1a8..d26b9fa7 100644 --- a/platformio.ini +++ b/platformio.ini @@ -299,6 +299,7 @@ build_flags = -D USERMOD_AUDIOREACTIVE -D NON32XFER_HANDLER ;; ask forgiveness for PROGMEM misuse -D WLED_DISABLE_PARTICLESYSTEM2D + -D WLED_DISABLE_PIXELFORGE ;; not enought space in flash ;; special library dependencies for 8266 (workaround for upsteam #5136) - replaces env.lib_deps lib8266_deps = @@ -367,6 +368,8 @@ default_partitions = ${esp32.default_partitions} ;; backwards compatibi board_build.f_flash = 80000000L board_build.flash_mode = dout ;; avoid dio/quot/qio - these are broken in arduino-esp32 1.0.6.x ;;board_build.flash_mode = dio +; RAM: [== ] 24.2% (used 79284 bytes from 327680 bytes) +; Flash: [========= ] 93.1% (used 1464961 bytes from 1572864 bytes) ;; standard platform for esp32 [esp32] @@ -669,6 +672,9 @@ platform_packages = ${esp32_legacy.platform_packages} 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} + ;;-D WLED_ENABLE_PIXART ;; 8KB Flash + -D WLED_ENABLE_PIXELFORGE -DWLED_ENABLE_GIF ;; 30KB flash + ;;-D WLED_ENABLE_FULL_FONTS ;; 10KB flash lib_deps = ${esp32_legacy.lib_deps} ${esp32.AR_lib_deps} board_build.partitions = ${esp32_legacy.default_partitions} @@ -720,8 +726,12 @@ platform_packages = ${esp32_legacy.platform_packages} upload_speed = 921600 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_USE_ETHERNET -D BTNPIN=-1 -D RLYPIN=-1 -D IRPIN=-1 + -D LEDPIN=4 -D WLED_DISABLE_ESPNOW ;; ESP-NOW requires wifi, may crash with ethernet only + ;;-D WLED_ENABLE_PIXART ;; 8KB Flash + -D WLED_ENABLE_PIXELFORGE -DWLED_ENABLE_GIF ;; 30KB flash + ;;-D WLED_ENABLE_FULL_FONTS ;; 10KB flash ${esp32.AR_build_flags} lib_deps = ${esp32_legacy.lib_deps} ${esp32.AR_lib_deps} @@ -1216,6 +1226,9 @@ build_flags_M = -D USERMOD_ROTARY_ENCODER_UI -D USERMOD_AUTO_SAVE -D WLED_ENABLE_FULL_FONTS ;; enables (limited) unicode support in scrolling text - warning: increases firmware size by 6848 bytes + ;;-D WLED_ENABLE_PIXART ;; 8KB Flash + -D WLED_ENABLE_PIXELFORGE ;; 12KB Flash + ${common_mm.animartrix_build_flags} ${common_mm.NetDebug_build_flags} @@ -1437,7 +1450,8 @@ board_build.partitions = ${esp32.extended_partitions} ;; 1.65MB firmware, 700KB build_flags = ${esp32_4MB_M_base.build_flags} -D WLED_RELEASE_NAME=esp32_4MB_M_eth -D WLED_USE_ETHERNET - -D RLYPIN=-1 -D BTNPIN=-1 ;; Prevent clash + -D RLYPIN=-1 -D BTNPIN=-1 -D IRPIN=-1 ;; Prevent clash + -D LEDPIN=4 ;; safe default -D WLED_DISABLE_ESPNOW ;; ESP-NOW requires wifi, may crash with ethernet only -D WLEDMM_SAVE_FLASH ;-D WLED_DISABLE_ALEXA @@ -1478,6 +1492,9 @@ build_flags = ${esp32_4MB_S_base.build_flags} ${Speed_Flags.build_flags} ;; 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.animartrix_build_flags} + -D WLED_ENABLE_GIF ;; 28KB Flash + -D WLED_ENABLE_PIXART ;; 8KB Flash + -D WLED_ENABLE_PIXELFORGE ;; 12KB Flash lib_deps = ${esp32_4MB_S_base.lib_deps} ${common_mm.animartrix_lib_deps} ; lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation @@ -1489,6 +1506,8 @@ lib_deps = ${esp32_4MB_S_base.lib_deps} extends = esp32_4MB_M_base build_flags = ${esp32_4MB_M_base.build_flags} -D WLED_RELEASE_NAME=esp32_16MB_M + -D WLED_ENABLE_PIXART ;; 8KB Flash + -D WLED_ENABLE_PIXELFORGE ;; 12KB Flash board = esp32_16MB ;board_build.partitions = tools/WLED_ESP32_16MB.csv ;; WLED standard for 16MB flash: 2MB firmware, 12 MB filesystem board_build.partitions = ${esp32.extreme_partitions} ;; WLED extended for 16MB flash: 3.2MB firmware, 9 MB filesystem @@ -1545,8 +1564,12 @@ board_build.partitions = ${esp32.extreme_partitions} ;; WLED extended for 16MB f board = esp32_16MB-poe ;; needed for ethernet boards (selects "esp32-poe" as variant) 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_ENABLE_PIXART ;; 8KB Flash + -D WLED_ENABLE_PIXELFORGE ;; 12KB Flash -D WLED_USE_ETHERNET -D WLED_DISABLE_ESPNOW ;; ESP-NOW requires wifi, may crash with ethernet only + -D BTNPIN=-1 -D RLYPIN=-1 -D IRPIN=-1 + -D LEDPIN=4 ; RAM: [== ] 24.2% (used 79388 bytes from 327680 bytes) ; Flash: [======= ] 73.8% (used 1548525 bytes from 2097152 bytes) @@ -1827,6 +1850,8 @@ build_flags = ${esp32_4MB_V4_S_base.esp32_build_flags} -D SR_DMTYPE=254 ;; HUB75 driver needs the I2S unit - set AR default mode to 'Network Receive Only' to prevent driver conflicts. -D WLED_USE_ETHERNET -D WLED_DISABLE_ESPNOW ;; ESP-NOW requires wifi, may crash with ethernet only + -D BTNPIN=-1 -D RLYPIN=-1 -D IRPIN=-1 + -D LEDPIN=4 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 @@ -1938,6 +1963,9 @@ build_flags = ${esp32_4MB_V4_S_base.esp32_build_flags} ${common_mm.HUB75_build_flags} -D SR_DMTYPE=254 ;; HUB75 driver needs the I2S unit - set AR default mode to 'Network Receive Only' to prevent driver conflicts. ${common_mm.animartrix_build_flags} + -D WLED_ENABLE_GIF ;; 28KB Flash + -D WLED_ENABLE_PIXART ;; 8KB Flash + -D WLED_ENABLE_PIXELFORGE ;; 12KB Flash lib_deps = ${esp32_4MB_V4_S_base.esp32_lib_deps} ${common_mm.HUB75_lib_deps} ${common_mm.animartrix_lib_deps} @@ -1965,6 +1993,9 @@ build_flags = ${esp32_4MB_V4_M_base.esp32_build_flags} ${common_mm.HUB75_build_flags} -D SR_DMTYPE=254 ;; HUB75 driver needs the I2S unit - set AR default mode to 'Network Receive Only' to prevent driver conflicts. ${common_mm.animartrix_build_flags} + -D WLED_ENABLE_GIF ;; 28KB Flash + -D WLED_ENABLE_PIXART ;; 8KB Flash + -D WLED_ENABLE_PIXELFORGE ;; 12KB Flash lib_deps = ${esp32_4MB_V4_M_base.esp32_lib_deps} ${common_mm.HUB75_lib_deps} ${common_mm.animartrix_lib_deps} @@ -2163,6 +2194,8 @@ build_flags = ${common.build_flags} ${esp32s3.build_flags} -Wno-misleading-inden ; -D WLED_DISABLE_MQTT ; RAM 216 bytes; FLASH 16496 bytes ; -D WLED_DISABLE_HUESYNC ;RAM 122 bytes; FLASH 6308 bytes ; -D WLED_DISABLE_INFRARED ;RAM 136 bytes; FLASH 24492 bytes + -D WLED_ENABLE_PIXART ;; 8KB Flash + -D WLED_ENABLE_PIXELFORGE ;; 12KB Flash ;;-D WLEDMM_FASTPATH ; WLEDMM experimental option. Reduces audio lag (latency), and allows for faster LED framerates. May break compatibility with previous versions. -D LEDPIN=4 ;-D STATUSLED=39 @@ -2217,6 +2250,8 @@ build_flags = ${common.build_flags} ${esp32s3.build_flags} -Wno-misleading-inden ; -D WLED_DISABLE_MQTT ; RAM 216 bytes; FLASH 16496 bytes ; -D WLED_DISABLE_HUESYNC ;RAM 122 bytes; FLASH 6308 bytes ; -D WLED_DISABLE_INFRARED ;RAM 136 bytes; FLASH 24492 bytes + -D WLED_ENABLE_PIXART ;; 8KB Flash + -D WLED_ENABLE_PIXELFORGE ;; 12KB Flash -D LEDPIN=21 ;;-D DATA_PINS=21,48,3 -D PIXEL_COUNTS=30,1,144 ;; just an example: my board has a builtin neopixel on gpio48 ; -D STATUSLED=2 @@ -2256,6 +2291,9 @@ build_flags = ${common.build_flags} ${esp32s3.build_flags} -Wno-misleading-inden -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_ENABLE_GIF ;; 28KB Flash + -D WLED_ENABLE_PIXART ;; 8KB Flash + -D WLED_ENABLE_PIXELFORGE ;; 12KB Flash -D WLED_WATCHDOG_TIMEOUT=0 -D CONFIG_ASYNC_TCP_USE_WDT=0 -D WLED_DISABLE_LOXONE ; FLASH 1272 bytes -D WLED_DISABLE_ALEXA ; RAM 116 bytes; FLASH 13524 bytes @@ -2307,6 +2345,9 @@ build_flags = ${common.build_flags} ${esp32s3.build_flags} -Wno-misleading-inden ${common_mm.HUB75_build_flags} -D MOONHUB_S3_PINOUT ;; HUB75 pinout ${common_mm.animartrix_build_flags} + -D WLED_ENABLE_GIF ;; 28KB Flash + -D WLED_ENABLE_PIXART ;; 8KB Flash + -D WLED_ENABLE_PIXELFORGE ;; 12KB Flash -D WLED_RELEASE_NAME=esp32S3_16MB_PSRAM_M_HUB75 -D WLEDMM_FASTPATH -D WLED_DISABLE_BROWNOUT_DET @@ -2361,6 +2402,8 @@ build_flags = ${common.build_flags} ${esp32s3.build_flags} -Wno-misleading-inden ${Speed_Flags.build_flags_V4} ;; optimize for speed ${common_mm.HUB75_build_flags} ${common_mm.animartrix_build_flags} + -D WLED_ENABLE_PIXART ;; 8KB Flash + -D WLED_ENABLE_PIXELFORGE ;; 12KB Flash -D WLED_RELEASE_NAME=esp32S3_WROOM-2_M -D WLEDMM_FASTPATH -DBOARD_HAS_PSRAM ;; -D WLED_USE_PSRAM ;; your board supports PSRAM @@ -2413,6 +2456,8 @@ build_flags = ${common.build_flags} ${esp32s3.build_flags} -Wno-misleading-inden -D WLEDMM_FASTPATH ;; WLEDMM experimental option. Reduces audio lag (latency), and allows for faster LED framerates. May break compatibility with previous versions. ;; -D WLEDMM_SAVE_FLASH ${common_mm.animartrix_build_flags} + -D WLED_ENABLE_PIXART ;; 8KB Flash + -D WLED_ENABLE_PIXELFORGE ;; 12KB Flash -D WLED_WATCHDOG_TIMEOUT=0 -D CONFIG_ASYNC_TCP_USE_WDT=0 -D WLED_DISABLE_LOXONE ; FLASH 1272 bytes ;; -D WLED_DISABLE_ALEXA ; RAM 116 bytes; FLASH 13524 bytes @@ -2445,7 +2490,7 @@ board = lolin_s3_mini ;; -S3 mini: 4MB flash 2MB PSRAM board_build.partitions = ${esp32.extended_partitions} ;; 1.65MB firmware, 700KB filesystem build_unflags = ${common.build_unflags} -D WLED_ENABLE_HUB75MATRIX ;; board does not have enough pins for HUB75 - -D USERMOD_ANIMARTRIX ;; not enough flash + ;;-D USERMOD_ANIMARTRIX ;; not enough flash build_flags = ${common.build_flags} ${esp32s3.build_flags} -Wno-misleading-indentation -Wno-format-truncation ${common_mm.build_flags_S} ${common_mm.build_flags_M} -D WLED_RELEASE_NAME=esp32S3_4MB_PSRAM_M @@ -2461,12 +2506,14 @@ build_flags = ${common.build_flags} ${esp32s3.build_flags} -Wno-misleading-inden -D BTNPIN=-1 -D RLYPIN=-1 -D IRPIN=-1 -D AUDIOPIN=-1 -D HW_PIN_SDA=12 -D HW_PIN_SCL=13 -D SR_DMTYPE=1 -D I2S_SDPIN=5 -D I2S_WSPIN=6 -D I2S_CKPIN=4 -D MCLK_PIN=7 - -D WLED_DISABLE_LOXONE ; FLASH 1272 bytes - disabled to stay below 100% - -D WLED_DISABLE_HUESYNC ; RAM 122 bytes; FLASH 6308 bytes - disabled to stay below 100% - -D WLED_DISABLE_INFRARED ; RAM 136 bytes; FLASH 24492 bytes - disabled to stay below 100% + ;;-D WLED_DISABLE_LOXONE ; FLASH 1272 bytes - disabled to stay below 100% + ;;-D WLED_DISABLE_HUESYNC ; RAM 122 bytes; FLASH 6308 bytes - disabled to stay below 100% + ;;-D WLED_DISABLE_INFRARED ; RAM 136 bytes; FLASH 24492 bytes - disabled to stay below 100% ;; -D WLED_DISABLE_ALEXA ; RAM 116 bytes; FLASH 13524 bytes ;; -D WLED_DISABLE_MQTT ; RAM 216 bytes; FLASH 16496 bytes ;; -D WLEDMM_SAVE_FLASH + -D WLED_ENABLE_PIXART ;; 8KB Flash + -D WLED_ENABLE_PIXELFORGE ;; 12KB Flash ; -D WLED_DEBUG ; -D SR_DEBUG ; -D MIC_LOGGER @@ -2474,12 +2521,12 @@ build_flags = ${common.build_flags} ${esp32s3.build_flags} -Wno-misleading-inden ;; -D WLED_DISABLE_PARTICLESYSTEM2D ;; exceeds flash size limit lib_deps = ${esp32s3.lib_deps} ${common_mm.lib_deps_S} ${common_mm.lib_deps_V4_M} lib_ignore = - IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation + ;; IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation ${common_mm.HUB75_lib_ignore} ${common_mm.DMXin_lib_ignore} - ${common_mm.animartrix_lib_ignore} -; RAM: [== ] 16.1% (used 52744 bytes from 327680 bytes) -; Flash: [======== ] 83.5% (used 1312937 bytes from 1572864 bytes) + ;; ${common_mm.animartrix_lib_ignore} +; RAM: [== ] 16.7% (used 54676 bytes from 327680 bytes) +; Flash: [======== ] 83.2% (used 1416997 bytes from 1703936 bytes) # ------------------------------------------------------------------------------ # esp32-S2 environments @@ -2580,10 +2627,12 @@ build_flags = ${common.build_flags} ${esp32s2.build_flags} -DARDUINO_USB_CDC_ON_BOOT=0 -DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=1 -D WLED_DISABLE_ADALIGHT ;; disables serial protocols, as the board only has CDC USB -D WLED_DISABLE_INFRARED ;; save flash space - -D WLED_DISABLE_ALEXA ;; save flash space - -D WLED_DISABLE_HUESYNC ;; save flash space - -D WLED_DISABLE_LOXONE ;; save flash space - -D WLEDMM_SAVE_FLASH + ;;-D WLED_DISABLE_ALEXA ;; save flash space + ;;-D WLED_DISABLE_HUESYNC ;; save flash space + ;;-D WLED_DISABLE_LOXONE ;; save flash space + -D WLED_ENABLE_PIXART ;; 8KB Flash + -D WLED_ENABLE_PIXELFORGE ;; 12KB Flash + ;;-D WLEDMM_SAVE_FLASH -D AUDIOPIN=-1 -D BTNPIN=-1 -D IRPIN=-1 -D LEDPIN=16 ;; second led pin = 18 @@ -2601,8 +2650,8 @@ lib_ignore = ${common_mm.HUB75_lib_ignore} ${common_mm.DMXin_lib_ignore} monitor_filters = esp32_exception_decoder -; RAM: [== ] 18.2% (used 59640 bytes from 327680 bytes) -; Flash: [======== ] 80.3% (used 1368130 bytes from 1703936 bytes) +; RAM: [== ] 18.5% (used 60660 bytes from 327680 bytes) +; Flash: [======== ] 83.6% (used 1424518 bytes from 1703936 bytes) [env:esp32s2_PSRAM_S] extends = env:esp32s2_PSRAM_M @@ -2677,6 +2726,8 @@ build_flags = ${common.build_flags} ${esp32c3.build_flags} ; -D WLED_USE_MY_CONFIG ;; -D WLED_DISABLE_PARTICLESYSTEM1D ;; exceeds flash size limit ;; -D WLED_DISABLE_PARTICLESYSTEM2D ;; exceeds flash size limit + -D WLED_ENABLE_PIXART ;; 8KB Flash + -D WLED_ENABLE_PIXELFORGE ;; 12KB Flash lib_deps = ${esp32c3.lib_deps} ${common_mm.lib_deps_S} ${common_mm.lib_deps_V4_M} lib_ignore = ;IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation @@ -2944,7 +2995,9 @@ build_flags = ${esp32_4MB_M_base.build_flags} ; -D PIR_SENSOR_PIN=-1 ; -D PWM_PIN=-1 ; -D WLED_USE_MY_CONFIG - -D WLEDMM_SAVE_FLASH + ; -D WLED_ENABLE_PIXART ;; 8KB Flash + -D WLED_ENABLE_PIXELFORGE ;; 12KB Flash + lib_ignore = ${esp32_4MB_M_base.lib_ignore} ${common_mm.DMXin_lib_ignore} ; RAM: [=== ] 26.3% (used 86204 bytes from 327680 bytes) @@ -2962,6 +3015,8 @@ build_flags = ${esp32_4MB_S_base.build_flags} -D WLED_ETH_DEFAULT=9 ; ABC! WLED V43 & compatible -D RLYPIN=-1 -D BTNPIN=-1 ;; Prevent clash -D WLED_DISABLE_ESPNOW ;; ESP-NOW requires wifi, may crash with ethernet only + -D WLED_ENABLE_PIXART ;; 8KB Flash + -D WLED_ENABLE_PIXELFORGE ;; 12KB Flash -D AUDIOPIN=-1 -D FLD_PIN_SCL=-1 -D FLD_PIN_SDA=-1 ; use global! ; -D WLED_USE_MY_CONFIG @@ -3006,6 +3061,8 @@ build_flags = ${esp32_4MB_M_base.build_flags} -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_ENABLE_PIXART ;; 8KB Flash + ; -D WLED_ENABLE_PIXELFORGE ;; 12KB Flash ;; -D WLED_DISABLE_PARTICLESYSTEM2D ; RAM: [== ] 24.2% (used 79424 bytes from 327680 bytes) ; Flash: [==========] 99.9% (used 1571177 bytes from 1572864 bytes) @@ -3042,6 +3099,8 @@ build_flags = ${esp32_4MB_V4_S_base.esp32_build_flags} -D WLED_DISABLE_ESPNOW ;; might help in case of WiFi connectivity problems ;;-D WLED_DISABLE_PARTICLESYSTEM1D ;; exceeds flash size limit (default_partitions only) ;;-D WLED_DISABLE_PARTICLESYSTEM2D ;; exceeds flash size limit (default_partitions only) + -D WLED_ENABLE_PIXART ;; 8KB Flash + -D WLED_ENABLE_PIXELFORGE ;; 12KB Flash lib_deps = ${esp32_4MB_V4_S_base.esp32_lib_deps} lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation @@ -3072,8 +3131,10 @@ build_flags = ${common.build_flags} ${esp32s3.build_flags} -Wno-misleading-inden ; Serial debug enabled -DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT=1 -DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=1 ;; for Hardware-CDC USB mode -D ARDUINO_USB_CDC_ON_BOOT=0 -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) - ; ${common_mm.animartrix_build_flags} + ${common_mm.animartrix_build_flags} ${common_mm.build_disable_sync_interfaces} + -D WLED_ENABLE_PIXART ;; 8KB Flash + -D WLED_ENABLE_PIXELFORGE ;; 12KB Flash -D LOLIN_WIFI_FIX ;; try this in case Wifi does not work -D WLED_WATCHDOG_TIMEOUT=0 -D CONFIG_ASYNC_TCP_USE_WDT=0 -D WLED_USE_PSRAM -DBOARD_HAS_PSRAM ; tells WLED that PSRAM shall be used @@ -3082,7 +3143,7 @@ build_flags = ${common.build_flags} ${esp32s3.build_flags} -Wno-misleading-inden ${common_mm.HUB75_build_flags} -D DEFAULT_LED_TYPE=101 lib_deps = ${esp32s3.lib_deps} ${common_mm.lib_deps_S} ;; ;; do not include ${esp32.lib_depsV4} !!!! - ; ${common_mm.animartrix_lib_deps} + ${common_mm.animartrix_lib_deps} ${common_mm.HUB75_lib_deps} lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation