From 345299470926b740eeb085343fa002f174f09462 Mon Sep 17 00:00:00 2001 From: Frank <91616163+softhack007@users.noreply.github.com> Date: Sun, 30 Nov 2025 22:01:01 +0100 Subject: [PATCH] 8266: gif player needs too much RAM -> remove Avoid bloating the 8266 firmware with features that 8266 cannot use. GIF decoder needs 24KB ram just for decoding tables, and more RAM for scanline caches. --- platformio.ini | 50 +++++++++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/platformio.ini b/platformio.ini index a8261bcd..769e8a62 100644 --- a/platformio.ini +++ b/platformio.ini @@ -274,6 +274,8 @@ lib_deps = extra_scripts = ${scripts_defaults.extra_scripts} [esp8266] +build_unflags = ${common.build_unflags} + -D WLED_ENABLE_GIF ;; GIF support not possible - 8266 does not have enough RAM build_flags = -DESP8266 -DFP_IN_IROM @@ -303,8 +305,8 @@ lib8266_deps = fastled/FastLED @ 3.6.0 ;; default from upstream WLED IRremoteESP8266 @ 2.8.2 https://github.com/Aircoookie/ESPAsyncWebServer.git#v2.2.1 ;; use proven version for 8266 - bitbank2/AnimatedGIF@^1.4.7 - https://github.com/Aircoookie/GifDecoder#bc3af18 + ;; bitbank2/AnimatedGIF@^1.4.7 + ;; https://github.com/Aircoookie/GifDecoder#bc3af18 lib_deps = #https://github.com/lorol/LITTLEFS.git @@ -568,7 +570,7 @@ board = nodemcuv2 platform = ${common.platform_wled_default} platform_packages = ${common.platform_packages} board_build.ldscript = ${common.ldscript_4m1m} -build_unflags = ${common.build_unflags} +build_unflags = ${esp8266.build_unflags} build_flags = ${common.build_flags_esp8266} -D WLED_RELEASE_NAME=ESP8266 #-DWLED_DISABLE_2D lib_deps = ${esp8266.lib_deps} lib_ignore = ${esp8266.lib_ignore} @@ -584,7 +586,7 @@ board = esp_wroom_02 platform = ${common.platform_wled_default} platform_packages = ${common.platform_packages} board_build.ldscript = ${common.ldscript_2m512k} -build_unflags = ${common.build_unflags} +build_unflags = ${esp8266.build_unflags} build_flags = ${common.build_flags_esp8266} -D WLED_RELEASE_NAME=ESP02 lib_deps = ${esp8266.lib_deps} lib_ignore = ${esp8266.lib_ignore} @@ -615,7 +617,7 @@ board = esp07 platform = ${common.platform_wled_default} platform_packages = ${common.platform_packages} board_build.ldscript = ${common.ldscript_4m1m} -build_unflags = ${common.build_unflags} +build_unflags = ${esp8266.build_unflags} build_flags = ${common.build_flags_esp8266} lib_deps = ${esp8266.lib_deps} lib_ignore = ${esp8266.lib_ignore} @@ -626,7 +628,7 @@ platform = ${common.platform_wled_default} platform_packages = ${common.platform_packages} upload_speed = 921600 board_build.ldscript = ${common.ldscript_4m1m} -build_unflags = ${common.build_unflags} +build_unflags = ${esp8266.build_unflags} build_flags = ${common.build_flags_esp8266} lib_deps = ${esp8266.lib_deps} lib_ignore = ${esp8266.lib_ignore} @@ -637,7 +639,7 @@ board = d1_mini platform = ${common.platform_wled_default} platform_packages = ${common.platform_packages} board_build.ldscript = ${common.ldscript_4m1m} -build_unflags = ${common.build_unflags} +build_unflags = ${esp8266.build_unflags} build_flags = ${common.build_flags_esp8266} lib_deps = ${esp8266.lib_deps} lib_ignore = ${esp8266.lib_ignore} @@ -647,7 +649,7 @@ board = d1_mini platform = ${common.platform_wled_default} platform_packages = ${common.platform_packages} board_build.ldscript = ${common.ldscript_4m1m} -build_unflags = ${common.build_unflags} +build_unflags = ${esp8266.build_unflags} build_flags = ${common.build_flags_esp8266} -D LEDPIN=1 -D WLED_DISABLE_INFRARED lib_deps = ${esp8266.lib_deps} lib_ignore = ${esp8266.lib_ignore} @@ -836,7 +838,7 @@ board = esp8285 platform = ${common.platform_wled_default} platform_packages = ${common.platform_packages} board_build.ldscript = ${common.ldscript_1m128k} -build_unflags = ${common.build_unflags} +build_unflags = ${esp8266.build_unflags} build_flags = ${common.build_flags_esp8266} -D WLED_DISABLE_OTA lib_deps = ${esp8266.lib_deps} lib_ignore = ${esp8266.lib_ignore} @@ -846,7 +848,7 @@ board = esp8285 platform = ${common.platform_wled_default} platform_packages = ${common.platform_packages} board_build.ldscript = ${common.ldscript_1m128k} -build_unflags = ${common.build_unflags} +build_unflags = ${esp8266.build_unflags} build_flags = ${common.build_flags_esp8266} -D WLED_DISABLE_OTA lib_deps = ${esp8266.lib_deps} lib_ignore = ${esp8266.lib_ignore} @@ -856,7 +858,7 @@ board = d1_mini platform = ${common.platform_wled_default} platform_packages = ${common.platform_packages} board_build.ldscript = ${common.ldscript_4m1m} -build_unflags = ${common.build_unflags} +build_unflags = ${esp8266.build_unflags} build_flags = ${common.build_flags_esp8266} -D WLED_USE_SHOJO_PCB lib_deps = ${esp8266.lib_deps} lib_ignore = ${esp8266.lib_ignore} @@ -871,7 +873,7 @@ build_type = debug platform = ${common.platform_wled_default} platform_packages = ${common.platform_packages} board_build.ldscript = ${common.ldscript_4m1m} -build_unflags = ${common.build_unflags} +build_unflags = ${esp8266.build_unflags} build_flags = ${common.build_flags_esp8266} ${common.debug_flags} lib_deps = ${esp8266.lib_deps} lib_ignore = ${esp8266.lib_ignore} @@ -884,7 +886,7 @@ upload_port = "10.10.1.27" platform = ${common.platform_wled_default} platform_packages = ${common.platform_packages} board_build.ldscript = ${common.ldscript_4m1m} -build_unflags = ${common.build_unflags} +build_unflags = ${esp8266.build_unflags} build_flags = ${common.build_flags_esp8266} lib_deps = ${esp8266.lib_deps} lib_ignore = ${esp8266.lib_ignore} @@ -894,7 +896,7 @@ board = d1_mini platform = ${common.platform_wled_default} platform_packages = ${common.platform_packages} board_build.ldscript = ${common.ldscript_4m1m} -build_unflags = ${common.build_unflags} +build_unflags = ${esp8266.build_unflags} build_flags = ${common.build_flags_esp8266} -D LEDPIN=12 -D IRPIN=-1 -D RLYPIN=2 lib_deps = ${esp8266.lib_deps} lib_ignore = ${esp8266.lib_ignore} @@ -994,6 +996,7 @@ board = esp_wroom_02 platform = ${common.platform_wled_default} board_build.ldscript = ${common.ldscript_2m512k} build_flags = ${common.build_flags_esp8266} -D LEDPIN=3 -D BTNPIN=1 +build_unflags = ${esp8266.build_unflags} lib_deps = ${esp8266.lib_deps} lib_ignore = ${esp8266.lib_ignore} @@ -1002,6 +1005,7 @@ board = esp_wroom_02 platform = ${common.platform_wled_default} board_build.ldscript = ${common.ldscript_2m512k} build_flags = ${common.build_flags_esp8266} -D LEDPIN=3 -D BTNPIN=2 -D IRPIN=5 -D WLED_MAX_BUTTONS=3 +build_unflags = ${esp8266.build_unflags} lib_deps = ${esp8266.lib_deps} lib_ignore = ${esp8266.lib_ignore} @@ -1010,7 +1014,7 @@ board = esp8285 platform = ${common.platform_wled_default} platform_packages = ${common.platform_packages} board_build.ldscript = ${common.ldscript_2m512k} -build_unflags = ${common.build_unflags} +build_unflags = ${esp8266.build_unflags} build_flags = ${common.build_flags_esp8266} -D WLED_RELEASE_NAME=ESP8266 -D BTNPIN=-1 -D RLYPIN=-1 -D DATA_PINS=4,12,14,13,5 -D DEFAULT_LED_TYPE=TYPE_ANALOG_5CH -D WLED_DISABLE_INFRARED -D WLED_MAX_CCT_BLEND=0 lib_deps = ${esp8266.lib_deps} @@ -1022,7 +1026,7 @@ board = esp8285 platform = ${common.platform_wled_default} platform_packages = ${common.platform_packages} board_build.ldscript = ${common.ldscript_2m512k} -build_unflags = ${common.build_unflags} +build_unflags = ${esp8266.build_unflags} build_flags = ${common.build_flags_esp8266} -D WLED_RELEASE_NAME=ESP8266 -D BTNPIN=-1 -D RLYPIN=-1 -D DATA_PINS=4,12,14,5,13 -D DEFAULT_LED_TYPE=TYPE_ANALOG_5CH -D WLED_DISABLE_INFRARED -D WLED_MAX_CCT_BLEND=0 -D WLED_USE_IC_CCT lib_deps = ${esp8266.lib_deps} @@ -1034,7 +1038,7 @@ board = esp8285 platform = ${common.platform_wled_default} platform_packages = ${common.platform_packages} board_build.ldscript = ${common.ldscript_2m512k} -build_unflags = ${common.build_unflags} +build_unflags = ${esp8266.build_unflags} build_flags = ${common.build_flags_esp8266} -D WLED_RELEASE_NAME=ESP8266 -D BTNPIN=0 -D RLYPIN=-1 -D LEDPIN=1 -D WLED_DISABLE_INFRARED lib_deps = ${esp8266.lib_deps} lib_ignore = ${esp8266.lib_ignore} @@ -1045,7 +1049,7 @@ board = esp8285 platform = ${common.platform_wled_default} platform_packages = ${common.platform_packages} board_build.ldscript = ${common.ldscript_2m512k} -build_unflags = ${common.build_unflags} +build_unflags = ${esp8266.build_unflags} build_flags = ${common.build_flags_esp8266} -D WLED_RELEASE_NAME=ESP8266 -D BTNPIN=0 -D RLYPIN=12 -D LEDPIN=1 -D WLED_DISABLE_INFRARED lib_deps = ${esp8266.lib_deps} lib_ignore = ${esp8266.lib_ignore} @@ -1056,7 +1060,7 @@ board = esp8285 platform = ${common.platform_wled_default} platform_packages = ${common.platform_packages} board_build.ldscript = ${common.ldscript_2m512k} -build_unflags = ${common.build_unflags} +build_unflags = ${esp8266.build_unflags} build_flags = ${common.build_flags_esp8266} -D WLED_RELEASE_NAME=ESP8266 -D BTNPIN=0 -D RLYPIN=-1 DATA_PINS=4,12,14,13 -D WLED_DISABLE_INFRARED lib_deps = ${esp8266.lib_deps} lib_ignore = ${esp8266.lib_ignore} @@ -1067,7 +1071,7 @@ board = esp01_1m platform = ${common.platform_wled_default} platform_packages = ${common.platform_packages} board_build.ldscript = ${common.ldscript_1m128k} -build_unflags = ${common.build_unflags} +build_unflags = ${esp8266.build_unflags} build_flags = ${common.build_flags_esp8266} -D WLED_RELEASE_NAME=ESP01 -D WLED_DISABLE_OTA -D USERMOD_MY9291 lib_deps = ${esp8266.lib_deps} lib_ignore = ${esp8266.lib_ignore} @@ -1082,7 +1086,7 @@ board = esp_wroom_02 platform = ${common.platform_wled_default} platform_packages = ${common.platform_packages} board_build.ldscript = ${common.ldscript_2m512k} -build_unflags = ${common.build_unflags} +build_unflags = ${esp8266.build_unflags} build_flags = ${common.build_flags_esp8266} lib_deps = ${esp8266.lib_deps} lib_ignore = ${esp8266.lib_ignore} @@ -1092,7 +1096,7 @@ board = esp_wroom_02 platform = ${common.platform_wled_default} platform_packages = ${common.platform_packages} board_build.ldscript = ${common.ldscript_4m1m} -build_unflags = ${common.build_unflags} +build_unflags = ${esp8266.build_unflags} build_flags = ${common.build_flags_esp8266} lib_deps = ${esp8266.lib_deps} lib_ignore = ${esp8266.lib_ignore} @@ -1742,7 +1746,7 @@ board = esp01_1m platform = ${common.platform_wled_default} platform_packages = ${common.platform_packages} board_build.ldscript = ${common.ldscript_1m128k} -build_unflags = ${common.build_unflags} +build_unflags = ${esp8266.build_unflags} build_flags = ${common.build_flags_esp8266} -D WLED_DISABLE_OTA -D WLED_RELEASE_NAME=esp01_1MB_S -D WLED_USE_UNREAL_MATH ;; may cause some wrong sunset/sunrise times, but saves 7064 bytes FLASH and 975 bytes RAM