repairing the MM build system (again)

In the future, when anybody feels like "otpimizing" our platformio.ini ->PLEASE contact me before making any changes.
This commit is contained in:
Frank
2024-04-30 00:52:14 +02:00
parent f4dd5c0068
commit 4bfdf9a590

View File

@@ -1018,7 +1018,6 @@ build_flags_S =
; -D USERMOD_ARTIFX ;; WLEDMM usermod - temporarily moved into "_M", due to problems in "_S" when compiling with -O2
-D WLEDMM_FASTPATH ;; WLEDMM experimental option. Reduces audio lag (latency), and allows for faster LED framerates. May break compatibility with previous versions.
; -D WLED_DEBUG_HEAP ;; WLEDMM enable heap debugging
${common_mm.build_disable_sync_interfaces}
lib_deps_S =
;; https://github.com/kosme/arduinoFFT#develop @ 1.9.2+sha.419d7b0 ;; used for USERMOD_AUDIOREACTIVE - using "known working" hash
@@ -1101,7 +1100,7 @@ platform = ${esp32.platform}
upload_speed = 460800 ; or 921600
platform_packages = ${esp32.platform_packages}
build_unflags = ${common.build_unflags}
build_flags = ${common.build_flags_esp32} ${common_mm.build_flags_S}
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)
@@ -1111,15 +1110,15 @@ monitor_filters = esp32_exception_decoder
;common default for all max environments
[esp32_4MB_M_base]
extends = esp32_4MB_S_base
build_flags = ${esp32_4MB_S_base.build_flags} ${common_mm.build_flags_M}
build_unflags = ${esp32_4MB_S_base.build_unflags} ${common_mm.build_disable_sync_interfaces}
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_unflags = ${esp32_4MB_S_base.build_unflags}
lib_deps = ${esp32_4MB_S_base.lib_deps} ${common_mm.lib_deps_M}
; board_build.partitions = tools/WLED_ESP32-wrover_4MB.csv
[esp32_4MB_XL_base]
extends = esp32_4MB_M_base
build_flags = ${esp32_4MB_M_base.build_flags} ${common_mm.build_flags_XL}
build_unflags = ${esp32_4MB_M_base.build_unflags} ${common_mm.build_disable_sync_interfaces}
build_unflags = ${esp32_4MB_M_base.build_unflags}
lib_deps = ${esp32_4MB_M_base.lib_deps} ${common_mm.lib_deps_XL}
; board_build.partitions = tools/WLED_ESP32-wrover_4MB.csv
@@ -1130,7 +1129,7 @@ upload_speed = 460800 ; or 921600
platform = ${esp32.platformV4}
platform_packages = ${esp32.platformV4_packages}
build_unflags = ${common.build_unflags}
build_flags = ${common.build_flags} ${common_mm.build_flags_S} ;; do not include ${esp32.build_flagsV4} here !!!!
build_flags = ${common.build_flags} ${common_mm.build_flags_S} ${common_mm.build_disable_sync_interfaces} ;; do not include ${esp32.build_flagsV4} here !!!!
-Wno-misleading-indentation -Wno-format-truncation
-Wshadow=compatible-local ;; emit warning in case a local variable "shadows" another local one
;-Wstack-usage=2732 ;; warn if a function needs more that 30% of availeable stack ("stack usage might be unbounded", "stack usage is 2824 bytes")
@@ -1148,7 +1147,14 @@ board_build.flash_mode = dio ; (dio = dual i/o; more compatible than qio = quad
[esp32_4MB_V4_M_base]
extends = esp32_4MB_V4_S_base
build_flags = ${esp32_4MB_V4_S_base.build_flags} ${common_mm.build_flags_M} ;; generic, for all variants
build_flags =
${common.build_flags} ${common_mm.build_flags_S} ;; do not include ${esp32.build_flagsV4} here !!!!
-Wno-misleading-indentation -Wno-format-truncation
-Wshadow=compatible-local ;; emit warning in case a local variable "shadows" another local one
;-Wstack-usage=2732 ;; warn if a function needs more that 30% of availeable stack ("stack usage might be unbounded", "stack usage is 2824 bytes")
;-Wsuggest-attribute=const -Wsuggest-attribute=pure ;; ask compiler for hints on attributes
-D WLED_ENABLE_DMX_INPUT
${common_mm.build_flags_M} ;; generic, for all variants
lib_deps = ${esp32_4MB_V4_S_base.lib_deps} ${common_mm.lib_deps_V4_M}
esp32_build_flags = ${esp32_4MB_V4_S_base.esp32_build_flags} ${common_mm.build_flags_M} ;; for esp32 only, including specific "V4" flags
esp32_lib_deps = ${esp32_4MB_V4_S_base.esp32_lib_deps} ${common_mm.lib_deps_V4_M}
@@ -1741,6 +1747,11 @@ lib_deps = ${esp32_4MB_V4_M_base.esp32_lib_deps}
;; Flash: [======== ] 84.6% (used 1607857 bytes from 1900544 bytes)
# ------------------------------------------------------------------------------
# esp32-S3 environments
# ------------------------------------------------------------------------------
[env:esp32S3_8MB_M]
extends = esp32_4MB_V4_M_base
board = esp32-s3-devkitc-1
@@ -1873,14 +1884,12 @@ board_build.partitions = tools/WLED_ESP32_8MB.csv
; RAM: [=== ] 25.8% (used 84544 bytes from 327680 bytes)
; Flash: [======== ] 78.1% (used 1638737 bytes from 2097152 bytes)
;; MM for esp32-s3 zero/supermini and lolin S3 mini boards - fastpath, optimize for speed
[env:esp32S3_4MB_PSRAM_S]
extends = env:esp32S3_8MB_S
board = lolin_s3_mini ;; -S3 mini: 4MB flash 2MB PSRAM
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)
;; board_build.partitions = tools/WLED_ESP32_4MB_512KB_FS.csv ;; 1.7MB firmware, 500KB filesystem (esptool erase_flash needed when changing from "standard WLED" partitions)
build_flags = ${common.build_flags} ${esp32s3.build_flags} -Wno-misleading-indentation -Wno-format-truncation
${common_mm.build_flags_S}
-D WLED_RELEASE_NAME=esp32S3_4MB_S
@@ -1909,17 +1918,15 @@ build_flags = ${common.build_flags} ${esp32s3.build_flags} -Wno-misleading-inden
; -D MIC_LOGGER
lib_ignore =
IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation
; RAM: [== ] 20.4% (used 66840 bytes from 327680 bytes)
; Flash: [========= ] 86.5% (used 1644765 bytes from 1900544 bytes)
; RAM: [== ] 20.4% (used 66908 bytes from 327680 bytes)
; Flash: [========= ] 87.1% (used 1655529 bytes from 1900544 bytes)
;; MM for esp32-s3 zero/supermini and lolin S3 mini boards - standard
[env:esp32S3_4MB_PSRAM_M]
extends = env:esp32S3_8MB_M
board = lolin_s3_mini ;; -S3 mini: 4MB flash 2MB PSRAM
board_build.partitions = ${esp32.default_partitions}
build_flags = ${common.build_flags} ${esp32s3.build_flags} -Wno-misleading-indentation -Wno-format-truncation
;; ${common_mm.build_flags_S} ${common_mm.build_flags_M}
${common_mm.build_flags_S} ${common_mm.build_flags_M}
-D WLED_RELEASE_NAME=esp32S3_4MB_M
-DBOARD_HAS_PSRAM -D WLED_USE_PSRAM_JSON ;; -D WLED_USE_PSRAM
@@ -1933,19 +1940,24 @@ 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
;; -D WLED_DISABLE_ALEXA ; RAM 116 bytes; FLASH 13524 bytes
;; -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_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 WLED_DEBUG
; -D SR_DEBUG
; -D MIC_LOGGER
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
; RAM: [== ] 18.2% (used 59668 bytes from 327680 bytes)
; Flash: [==========] 97.0% (used 1525125 bytes from 1572864 bytes)
IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation
; RAM: [== ] 20.6% (used 67524 bytes from 327680 bytes)
; Flash: [==========] 98.5% (used 1549341 bytes from 1572864 bytes)
# ------------------------------------------------------------------------------
# esp32-S2 environments
# ------------------------------------------------------------------------------
;; MM for Adafruit QT Py ESP32-S2 -> 4MB flash, PSRAM, and tinyUF2 bootloader
@@ -2054,6 +2066,11 @@ monitor_filters = esp32_exception_decoder
; Flash: [======== ] 81.4% (used 1547834 bytes from 1900544 bytes)
# ------------------------------------------------------------------------------
# esp32-C3 environments
# ------------------------------------------------------------------------------
;; MM environment for generic ESP32-C3 -> 4MB flash, no PSRAM
[env:esp32c3dev_4MB_M]
extends = esp32_4MB_V4_S_base
@@ -2163,11 +2180,15 @@ monitor_filters = esp32_exception_decoder
# custom board environments
# ------------------------------------------------------------------------------
# ------------------------------------------------------------------------------
# wemos shields
# ------------------------------------------------------------------------------
;https://www.tindie.com/products/serg74/wled-shield-board-for-addressable-leds/
;https://www.tindie.com/products/moonmodules/shield-board-for-esp32-for-wled-addressable-leds/
[wemos_shield_esp32_4MB_S_base]
extends = esp32_4MB_S_base
build_flags = ${esp32_4MB_S_base.build_flags}
pinout_build_flags =
-D ABL_MILLIAMPS_DEFAULT=9500 ; Wemos max 10A
-D LEDPIN=16
-D RLYPIN=19
@@ -2182,10 +2203,11 @@ build_flags = ${esp32_4MB_S_base.build_flags}
-D PIR_SENSOR_PIN=-1
-D PWM_PIN=-1
; -D WLED_USE_MY_CONFIG
build_flags = ${esp32_4MB_S_base.build_flags} ${common_mm.build_disable_sync_interfaces} ${wemos_shield_esp32_4MB_S_base.pinout_build_flags}
[wemos_shield_esp32_4MB_M_base]
extends = wemos_shield_esp32_4MB_S_base
build_flags = ${wemos_shield_esp32_4MB_S_base.build_flags} ${common_mm.build_flags_M}
build_flags = ${esp32_4MB_M_base.build_flags} ${wemos_shield_esp32_4MB_S_base.pinout_build_flags}
lib_deps = ${wemos_shield_esp32_4MB_S_base.lib_deps} ${common_mm.lib_deps_M}
[wemos_shield_esp32_4MB_XL_base]
@@ -2197,13 +2219,15 @@ lib_deps = ${wemos_shield_esp32_4MB_M_base.lib_deps} ${common_mm.lib_deps_XL}
extends = wemos_shield_esp32_4MB_S_base
build_flags = ${wemos_shield_esp32_4MB_S_base.build_flags}
-D WLED_RELEASE_NAME=wemos_shield_esp32_4MB_S
; RAM: [=== ] 25.4% (used 83124 bytes from 327680 bytes)
; Flash: [======== ] 83.4% (used 1311629 bytes from 1572864 bytes)
[env:wemos_shield_esp32_4MB_M]
extends = wemos_shield_esp32_4MB_M_base
build_flags = ${wemos_shield_esp32_4MB_M_base.build_flags}
-D WLED_RELEASE_NAME=wemos_shield_esp32_4MB_M
; RAM: [== ] 24.4% (used 79820 bytes from 327680 bytes)
; Flash: [========= ] 88.6% (used 1393421 bytes from 1572864 bytes)
; RAM: [=== ] 26.0% (used 85252 bytes from 327680 bytes)
; Flash: [==========] 97.4% (used 1531865 bytes from 1572864 bytes)
[env:wemos_shield_esp32_4MB_ICS4343x_M]
extends = wemos_shield_esp32_4MB_M_base
@@ -2291,6 +2315,11 @@ 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
# ------------------------------------------------------------------------------
# special boards and controlers
# ------------------------------------------------------------------------------
;https://www.athom.tech/blank-1/wled-esp32-music-addressable-led-strip-controller
[env:athom_music_esp32_4MB_M]
extends = esp32_4MB_M_base