This is a platform feature that asks forgiveness for PROGMEM misuse: it adds a handler such that incorrectly used PROGMEM will work without crashing, just really, *really* inefficiently. Given that most of our real-world use cases for PROGMEM strings are relatively infrequent text calls, we can err on the side of developer convenience and address performance problems if and when they arise.
2818 lines
136 KiB
INI
2818 lines
136 KiB
INI
; PlatformIO Project Configuration File
|
|
; Please visit documentation: https://docs.platformio.org/page/projectconf.html
|
|
|
|
[platformio]
|
|
# ------------------------------------------------------------------------------
|
|
# ENVIRONMENTS
|
|
#
|
|
# Please uncomment one of the lines below to select your board(s)
|
|
# (use `platformio_override.ini` when building for your own board; see `platformio_override.ini.sample` for an example)
|
|
# ------------------------------------------------------------------------------
|
|
|
|
# CI binaries
|
|
;; default_envs = nodemcuv2, esp8266_2m, esp01_1m_full, esp32dev, esp32_eth # ESP32 variant builds are temporarily excluded from CI due to toolchain issues on the GitHub Actions Linux environment
|
|
; default_envs = nodemcuv2, esp8266_2m, esp01_1m_full, esp32dev, esp32_eth, esp32dev_audioreactive, lolin_s2_mini, esp32c3dev, esp32s3dev_8MB, esp32s3dev_8MB_PSRAM_opi
|
|
|
|
# Release binaries
|
|
; default_envs = nodemcuv2, esp8266_2m, esp01_1m_full, esp32dev, esp32_eth, lolin_s2_mini, esp32c3dev, esp32s3dev_8MB
|
|
|
|
# Build everything
|
|
; default_envs = esp32dev, esp8285_4CH_MagicHome, codm-controller-0_6-rev2, codm-controller-0_6, esp32s2_saola, d1_mini_5CH_Shojo_PCB, d1_mini, sp501e, nodemcuv2, esp32_eth, anavi_miracle_controller, esp07, esp01_1m_full, m5atom, h803wf, d1_mini_ota, heltec_wifi_kit_8, esp8285_H801, d1_mini_debug, wemos_shield_esp32, elekstube_ips
|
|
|
|
# Single binaries (uncomment your board)
|
|
; default_envs = elekstube_ips
|
|
; default_envs = nodemcuv2
|
|
; default_envs = esp8266_2m
|
|
; default_envs = esp01_1m_full
|
|
; default_envs = esp07
|
|
; default_envs = d1_mini
|
|
; default_envs = heltec_wifi_kit_8
|
|
; default_envs = h803wf
|
|
; default_envs = d1_mini_debug
|
|
; default_envs = d1_mini_ota
|
|
; default_envs = esp32dev
|
|
; default_envs = esp8285_4CH_MagicHome
|
|
; default_envs = esp8285_H801
|
|
; default_envs = d1_mini_5CH_Shojo_PCB
|
|
; default_envs = wemos_shield_esp32
|
|
; default_envs = m5atom
|
|
; default_envs = esp32_eth
|
|
; default_envs = esp32dev_qio80
|
|
; default_envs = esp32_eth_ota1mapp
|
|
; default_envs = esp32s2_saola
|
|
; default_envs = esp32c3dev
|
|
; default_envs = lolin_s2_mini
|
|
; default_envs = esp32s3dev_16MB_PSRAM_opi
|
|
|
|
; MoonModules entries
|
|
; ===================
|
|
|
|
default_envs =
|
|
esp32_4MB_S ;; experimental, optimized for speed
|
|
esp32_4MB_M ;; esp32 recommended default
|
|
esp32_4MB_M_eth
|
|
esp32_4MB_M_debug
|
|
esp32_4MB_XL
|
|
; esp32_16MB_S ;; experimental, optimized for speed
|
|
esp32_16MB_M ;; esp32 recommended for boards with 16MB flash
|
|
; esp32_16MB_M_debug
|
|
; esp32_16MB_XL
|
|
esp8266_2MB_S
|
|
esp8266_4MB_S ;; recommended for 8266 with audio sync
|
|
esp8266_4MB_M
|
|
wemos_shield_esp32_4MB_M
|
|
; wemos_shield_esp32_4MB_ICS4343x_M
|
|
; wemos_shield_esp32_4MB_SPM1423_M
|
|
; wemos_shield_esp32_4MB_LineIn_M
|
|
; wemos_shield_esp32_16MB_M
|
|
; wemos_shield_esp32_16MB_ICS4343x_M
|
|
; 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 !!!
|
|
esp32s2_PSRAM_S ;; OTA-compatible with upstream
|
|
esp32s2_PSRAM_M ;; for lolin S2 mini
|
|
esp32c3dev_4MB_M ;; experimental
|
|
esp32c3dev_2MB_M ;; experimental - 2MB Flash, no OTA
|
|
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
|
|
esp8266pro_16MB_M
|
|
esp01_1MB_S
|
|
esp32_16MB_M_eth
|
|
athom_music_esp32_4MB_M
|
|
adafruit_matrixportal_esp32s3
|
|
|
|
; Go to MoonModules environments for environments
|
|
|
|
src_dir = ./wled00
|
|
data_dir = ./wled00/data
|
|
build_cache_dir = ~/.platformio/buildcache
|
|
extra_configs =
|
|
platformio_override.ini
|
|
|
|
[common]
|
|
# ------------------------------------------------------------------------------
|
|
# PLATFORM:
|
|
# !! DO NOT confuse platformio's ESP8266 development platform with Arduino core for ESP8266
|
|
#
|
|
# arduino core 2.6.3 = platformIO 2.3.2
|
|
# arduino core 2.7.0 = platformIO 2.5.0
|
|
# ------------------------------------------------------------------------------
|
|
arduino_core_2_6_3 = espressif8266@2.3.3
|
|
arduino_core_2_7_4 = espressif8266@2.6.2
|
|
arduino_core_3_0_0 = espressif8266@3.0.0
|
|
arduino_core_3_2_0 = espressif8266@3.2.0
|
|
arduino_core_4_1_0 = espressif8266@4.1.0
|
|
arduino_core_3_1_2 = espressif8266@4.2.1
|
|
|
|
# Development platforms
|
|
arduino_core_develop = https://github.com/platformio/platform-espressif8266#develop
|
|
arduino_core_git = https://github.com/platformio/platform-espressif8266#feature/stage
|
|
|
|
# Platform to use for ESP8266
|
|
platform_wled_default = ${common.arduino_core_3_1_2}
|
|
# We use 2.7.4.7 for all, includes PWM flicker fix and Wstring optimization
|
|
#platform_packages = tasmota/framework-arduinoespressif8266 @ 3.20704.7
|
|
platform_packages = platformio/toolchain-xtensa @ ~2.100300.220621 #2.40802.200502
|
|
platformio/tool-esptool #@ ~1.413.0
|
|
platformio/tool-esptoolpy #@ ~1.30000.0
|
|
|
|
## previous platform for 8266, in case of problems with the new one
|
|
## you'll need makuna/NeoPixelBus@ 2.6.9 for arduino_core_3_2_0, which does not support Ucs890x
|
|
;; platform_wled_default = ${common.arduino_core_3_2_0}
|
|
;; platform_packages = tasmota/framework-arduinoespressif8266 @ 3.20704.7
|
|
;; platformio/toolchain-xtensa @ ~2.40802.200502
|
|
;; platformio/tool-esptool @ ~1.413.0
|
|
;; platformio/tool-esptoolpy @ ~1.30000.0
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# FLAGS: DEBUG
|
|
# esp8266 : see https://docs.platformio.org/en/latest/platforms/espressif8266.html#debug-level
|
|
# esp32 : see https://docs.platformio.org/en/latest/platforms/espressif32.html#debug-level
|
|
# ------------------------------------------------------------------------------
|
|
debug_flags = -D DEBUG=1 -D WLED_DEBUG
|
|
-DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_TLS_MEM ;; for esp8266
|
|
-DARDUINOJSON_DEBUG=1 ;; WLEDMM: this enables some debug asserts in arduinoJSON
|
|
# if needed (for memleaks etc) also add; -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h"
|
|
# -DDEBUG_ESP_CORE is not working right now
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# FLAGS: ldscript (available ldscripts at https://github.com/esp8266/Arduino/tree/master/tools/sdk/ld)
|
|
# ldscript_2m1m (2048 KB) = 1019 KB sketch, 4 KB eeprom, 1004 KB spiffs, 16 KB reserved
|
|
# ldscript_4m1m (4096 KB) = 1019 KB sketch, 4 KB eeprom, 1002 KB spiffs, 16 KB reserved, 2048 KB empty/ota?
|
|
#
|
|
# Available lwIP variants (macros):
|
|
# -DPIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH = v1.4 Higher Bandwidth (default)
|
|
# -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY = v2 Lower Memory
|
|
# -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH = v2 Higher Bandwidth
|
|
# -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH
|
|
#
|
|
# BearSSL performance:
|
|
# When building with -DSECURE_CLIENT=SECURE_CLIENT_BEARSSL, please add `board_build.f_cpu = 160000000` to the environment configuration
|
|
#
|
|
# BearSSL ciphers:
|
|
# When building on core >= 2.5, you can add the build flag -DBEARSSL_SSL_BASIC in order to build BearSSL with a limited set of ciphers:
|
|
# TLS_RSA_WITH_AES_128_CBC_SHA256 / AES128-SHA256
|
|
# TLS_RSA_WITH_AES_256_CBC_SHA256 / AES256-SHA256
|
|
# TLS_RSA_WITH_AES_128_CBC_SHA / AES128-SHA
|
|
# TLS_RSA_WITH_AES_256_CBC_SHA / AES256-SHA
|
|
# This reduces the OTA size with ~45KB, so it's especially useful on low memory boards (512k/1m).
|
|
# ------------------------------------------------------------------------------
|
|
build_flags =
|
|
-Wno-attributes
|
|
-DMQTT_MAX_PACKET_SIZE=1024
|
|
-DSECURE_CLIENT=SECURE_CLIENT_BEARSSL
|
|
-DBEARSSL_SSL_BASIC
|
|
-D CORE_DEBUG_LEVEL=0
|
|
;; WLEDMM espressif docs say NDEBUG is not recommended. see https://docs.espressif.com/projects/esp-idf/en/v4.4.4/esp32/api-guides/performance/speed.html#not-recommended
|
|
-D NDEBUG ;; however it seems neecessary for non-V4 builds, to avoid spurious "assert" crashes inside the wifi core.
|
|
-Wno-attributes ;; silence warnings about unknown attribute 'maybe_unused' in NeoPixelBus
|
|
#build_flags for the IRremoteESP8266 library (enabled decoders have to appear here)
|
|
-D _IR_ENABLE_DEFAULT_=false
|
|
-D DECODE_HASH=true
|
|
-D DECODE_NEC=true
|
|
-D DECODE_SONY=true
|
|
-D DECODE_SAMSUNG=true
|
|
-D DECODE_LG=true
|
|
-D FASTLED_NO_FASTLED
|
|
;-Dregister= # remove warnings in C++17 due to use of deprecated register keyword by the FastLED library ;; warning: this breaks framework code on ESP32-C3 and ESP32-S2
|
|
-DWLED_USE_MY_CONFIG
|
|
; -D USERMOD_SENSORSTOMQTT
|
|
#For ADS1115 sensor uncomment following
|
|
; -D USERMOD_ADS1115
|
|
|
|
build_unflags =
|
|
|
|
build_flags_esp8266 = ${common.build_flags} ${esp8266.build_flags}
|
|
build_flags_esp32 = ${common.build_flags} ${esp32.build_flags}
|
|
build_flags_esp32_V4= ${common.build_flags} ${esp32_idf_V4.build_flags}
|
|
|
|
ldscript_1m128k = eagle.flash.1m128.ld
|
|
ldscript_2m512k = eagle.flash.2m512.ld
|
|
ldscript_2m1m = eagle.flash.2m1m.ld
|
|
ldscript_4m1m = eagle.flash.4m1m.ld
|
|
|
|
;; WLEDMM: additional partion layouts for 8266 "pro" with 8MB or 16MB. On 8266 the max program size is always 1MB
|
|
ldscript_auto = eagle.flash.auto.ld
|
|
ldscript_8m6m = eagle.flash.8m6m.ld
|
|
ldscript_16m14m = eagle.flash.16m14m.ld
|
|
|
|
[scripts_defaults]
|
|
extra_scripts =
|
|
pre:pio-scripts/set_version.py
|
|
pre:pio-scripts/build-html.py
|
|
post:pio-scripts/output_bins.py
|
|
post:pio-scripts/strip-floats.py
|
|
pre:pio-scripts/user_config_copy.py
|
|
; post:pio-scripts/obj-dump.py ;; convenience script to create a disassembly dump of the firmware (hardcore debugging)
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# COMMON SETTINGS:
|
|
# ------------------------------------------------------------------------------
|
|
[env]
|
|
framework = arduino
|
|
board_build.flash_mode = dout
|
|
monitor_speed = 115200
|
|
# slow upload speed (comment this out with a ';' when building for development use)
|
|
upload_speed = 115200
|
|
# fast upload speed (remove ';' when building for development use)
|
|
; upload_speed = 921600
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# LIBRARIES: required dependencies
|
|
# Please note that we don't always use the latest version of a library.
|
|
#
|
|
# The following libraries have been included (and some of them changed) in the source:
|
|
# ArduinoJson@5.13.5, E131@1.0.0(changed), Time@1.5, Timezone@1.2.1
|
|
# ------------------------------------------------------------------------------
|
|
lib_compat_mode = strict
|
|
lib_deps =
|
|
fastled/FastLED @ 3.6.0
|
|
;; fastled/FastLED @ 3.7.1
|
|
;; 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
|
|
#For compatible OLED display uncomment following
|
|
#U8g2 #@ ~2.33.15
|
|
#For Dallas sensor uncomment following
|
|
#OneWire @ ~2.3.7
|
|
#For BME280 sensor uncomment following
|
|
#BME280 @ ~3.0.0
|
|
; adafruit/Adafruit BMP280 Library @ 2.1.0
|
|
; adafruit/Adafruit CCS811 Library @ 1.0.4
|
|
; adafruit/Adafruit Si7021 Library @ 1.4.0
|
|
#For ADS1115 sensor uncomment following
|
|
; adafruit/Adafruit BusIO @ 1.13.2
|
|
; adafruit/Adafruit ADS1X15 @ 2.4.0
|
|
|
|
extra_scripts = ${scripts_defaults.extra_scripts}
|
|
|
|
[esp8266]
|
|
build_flags =
|
|
-DESP8266
|
|
-DFP_IN_IROM
|
|
;-Wno-deprecated-declarations
|
|
;-Wno-register ;; leaves some warnings when compiling C files: command-line option '-Wno-register' is valid for C++/ObjC++ but not for C
|
|
;-Dregister= # remove warnings in C++17 due to use of deprecated register keyword by the FastLED library ;; warning: this can be dangerous
|
|
-Wno-misleading-indentation
|
|
; NONOSDK22x_190703 = 2.2.2-dev(38a443e)
|
|
-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703
|
|
; lwIP 2 - Higher Bandwidth no Features
|
|
; -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH
|
|
; lwIP 1.4 - Higher Bandwidth (Aircoookie has)
|
|
-DPIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH
|
|
; VTABLES in Flash
|
|
-DVTABLES_IN_FLASH
|
|
; restrict to minimal mime-types
|
|
-DMIMETYPE_MINIMAL
|
|
; other special-purpose framework flags (see https://docs.platformio.org/en/latest/platforms/espressif8266.html)
|
|
; -D PIO_FRAMEWORK_ARDUINO_MMU_CACHE16_IRAM48 ;; in case of linker errors like "section `.text1' will not fit in region `iram1_0_seg'"
|
|
; -D PIO_FRAMEWORK_ARDUINO_MMU_CACHE16_IRAM48_SECHEAP_SHARED ;; (experimental) adds some extra heap, but may cause slowdown
|
|
-D USERMOD_AUDIOREACTIVE
|
|
-D NON32XFER_HANDLER ;; ask forgiveness for PROGMEM misuse
|
|
|
|
lib_deps =
|
|
#https://github.com/lorol/LITTLEFS.git
|
|
ESPAsyncTCP @ 1.2.2
|
|
ESPAsyncUDP
|
|
;; makuna/NeoPixelBus @ 2.6.9 ;; WLEDMM use if you have problems with 2.7.5
|
|
makuna/NeoPixelBus @ 2.7.5
|
|
${env.lib_deps}
|
|
|
|
;; compatibilty flags - same as 0.14.0 which seems to work better on some 8266 boards. Not using PIO_FRAMEWORK_ARDUINO_MMU_CACHE16_IRAM48
|
|
build_flags_compat =
|
|
-DESP8266
|
|
-DFP_IN_IROM
|
|
;;-Wno-deprecated-declarations
|
|
-Wno-misleading-indentation
|
|
;;-Wno-attributes ;; silence warnings about unknown attribute 'maybe_unused' in NeoPixelBus
|
|
-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703
|
|
-DPIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH
|
|
-DVTABLES_IN_FLASH
|
|
-DMIMETYPE_MINIMAL
|
|
-DWLED_SAVE_IRAM ;; needed to prevent linker error
|
|
|
|
;; this platform version was used for WLED 0.14.0
|
|
platform_compat = espressif8266@4.2.0
|
|
platform_packages_compat =
|
|
platformio/toolchain-xtensa @ ~2.100300.220621 #2.40802.200502
|
|
platformio/tool-esptool #@ ~1.413.0
|
|
platformio/tool-esptoolpy #@ ~1.30000.0
|
|
|
|
;; experimental - for using older NeoPixelBus 2.7.9
|
|
lib_deps_compat =
|
|
ESPAsyncTCP @ 1.2.2
|
|
ESPAsyncUDP
|
|
ESP8266PWM
|
|
fastled/FastLED @ 3.6.0
|
|
IRremoteESP8266 @ 2.8.2
|
|
makuna/NeoPixelBus @ 2.7.9
|
|
https://github.com/Aircoookie/ESPAsyncWebServer.git#v2.2.1
|
|
|
|
|
|
[esp32]
|
|
#platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.2.3/platform-espressif32-2.0.2.3.zip
|
|
platform = espressif32@3.5.0
|
|
|
|
platform_packages = framework-arduinoespressif32 @ https://github.com/Aircoookie/arduino-esp32.git#1.0.6.4
|
|
|
|
build_flags = -g
|
|
-DARDUINO_ARCH_ESP32
|
|
#-DCONFIG_LITTLEFS_FOR_IDF_3_2
|
|
-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
|
|
#use LITTLEFS library by lorol in ESP32 core 1.x.x instead of built-in in 2.x.x
|
|
-D LOROL_LITTLEFS
|
|
; -D WLEDMM_TWOPATH ;; use I2S1 as the second bus --> ~15% faster on "V3" builds - may flicker a bit more
|
|
; -D WLEDMM_SLOWPATH ;; don't use I2S for LED bus
|
|
; -DARDUINO_USB_CDC_ON_BOOT=0 ;; this flag is mandatory for "classic ESP32" when building with arduino-esp32 >=2.0.3
|
|
|
|
default_partitions = tools/WLED_ESP32_4MB_1MB_FS.csv ;; WLED standard for 4MB flash: 1.4MB firmware, 1MB filesystem
|
|
;default_partitions = tools/WLED_ESP32_4MB_256KB_FS.csv ;; WLEDMM alternative for 4MB flash: 1.8MB firmware, 256KB filesystem (esptool erase_flash needed before changing)
|
|
|
|
tiny_partitions = tools/WLED_ESP32_2MB_noOTA.csv
|
|
extended_partitions = tools/WLED_ESP32_4MB_700k_FS.csv
|
|
big_partitions = tools/WLED_ESP32_4MB_256KB_FS.csv ;; 1.8MB firmware, 256KB filesystem, coredump support
|
|
large_partitions = tools/WLED_ESP32_8MB.csv
|
|
extreme_partitions = tools/WLED_ESP32_16MB_9MB_FS.csv
|
|
|
|
lib_deps =
|
|
https://github.com/pbolduc/AsyncTCP.git @ 1.2.0 ;; WLEDMM this must be first in the list, otherwise Aircoookie/ESPAsyncWebServer pulls in an older version of AsyncTCP !!
|
|
; https://github.com/lorol/LITTLEFS.git
|
|
; WLEDMM specific: use patched version of lorol LittleFS
|
|
https://github.com/softhack007/LITTLEFS-threadsafe.git#master
|
|
makuna/NeoPixelBus @ 2.7.5
|
|
;; makuna/NeoPixelBus @ 2.7.9 ;; experimental
|
|
${env.lib_deps}
|
|
|
|
;; Compatibility with upstream --> you should prefer using ${common_mm.build_flags_S} and ${common_mm.lib_deps_S}
|
|
AR_build_flags = ${common_mm.AR_build_flags}
|
|
AR_lib_deps = ${common_mm.AR_lib_deps} ;; optimized version, 10% faster on -S2/-C3
|
|
|
|
;; WLEDMM begin
|
|
|
|
;; ** For compiling with latest Frameworks (IDF4.4.x and arduino-esp32 v2.0.x) **
|
|
;;; previous standard V4 platform
|
|
platformV4_pre = espressif32@5.2.0
|
|
platformV4_packages_pre =
|
|
toolchain-riscv32-esp @ 8.4.0+2021r2-patch5 ; required for platform version < 5.3.0, remove this line when upgrading to platform >=5.3.0
|
|
;;; standard V4 platform
|
|
platformV4 = espressif32@ ~6.3.2
|
|
platformV4_packages = platformio/framework-arduinoespressif32 @ 3.20009.0 ;; select arduino-esp32 v2.0.9 (arduino-esp32 2.0.10 thru 2.0.14 are buggy so avoid them)
|
|
|
|
;;; experimental: latest V4 platform with latest arduino-esp32 2.0.14 + ESP-IDF 4.4.6 (may or may not work)
|
|
platformV4_xp = espressif32@ ~6.5.0
|
|
platformV4_packages_xp = platformio/framework-arduinoespressif32 @ 3.20014.231204 ;; arduino-esp32 2.0.14
|
|
|
|
build_flagsV4 = -g
|
|
-DARDUINO_ARCH_ESP32 -DESP32
|
|
-DCONFIG_LITTLEFS_FOR_IDF_3_2 -DLFS_THREADSAFE
|
|
-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
|
|
; -D WLEDMM_TWOPATH ;; use I2S1 as the second bus --> slightly faster on some setups
|
|
; -D WLEDMM_SLOWPATH ;; don't use I2S for LED bus
|
|
; -DARDUINO_USB_CDC_ON_BOOT=0 ;; mandatory for "classic ESP32" when building with arduino-esp32 >=2.0.3
|
|
-D NO_GFX ; Disable the use of Adafruit_GFX by the HUB75 driver
|
|
|
|
;;; V4.4.x libraries (without LOROL_LITTLEFS; with newer NeoPixelBus)
|
|
lib_depsV4 =
|
|
https://github.com/pbolduc/AsyncTCP.git @ 1.2.0 ;; WLEDMM this must be first in the list, otherwise Aircoookie/ESPAsyncWebServer pulls in an older version of AsyncTCP !!
|
|
makuna/NeoPixelBus @ 2.7.5
|
|
;; makuna/NeoPixelBus @ 2.7.9 ;; experimental
|
|
${common_mm.HUB75_lib_deps}
|
|
${env.lib_deps}
|
|
|
|
|
|
;; WLEDMM end
|
|
|
|
[esp32_idf_V4]
|
|
;; experimental build environment for ESP32 using ESP-IDF 4.4.x / arduino-esp32 v2.0.5
|
|
;; very similar to the normal ESP32 flags, but omitting Lorol LittleFS, as littlefs is included in the new framework already.
|
|
;;
|
|
;; please note that you can NOT update existing ESP32 installs with a "V4" build. Also updating by OTA will not work properly.
|
|
;; You need to completely erase your device (esptool erase_flash) first, then install the "V4" build from VSCode+platformio.
|
|
platform = espressif32@ ~6.3.2
|
|
platform_packages = platformio/framework-arduinoespressif32 @ 3.20009.0 ;; select arduino-esp32 v2.0.9 (arduino-esp32 2.0.10 thru 2.0.14 are buggy so avoid them)
|
|
build_flags = -g
|
|
-Wshadow=compatible-local ;; emit warning in case a local variable "shadows" another local one
|
|
-DARDUINO_ARCH_ESP32 -DESP32
|
|
#-DCONFIG_LITTLEFS_FOR_IDF_3_2
|
|
-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
|
|
-DARDUINO_USB_CDC_ON_BOOT=0 ;; this flag is mandatory for "classic ESP32" when building with arduino-esp32 >=2.0.3
|
|
; -D WLEDMM_TWOPATH ;; use I2S1 as the second bus --> slightly faster on some setups
|
|
; -D WLEDMM_SLOWPATH ;; don't use I2S for LED bus
|
|
default_partitions = tools/WLED_ESP32_4MB_1MB_FS.csv
|
|
lib_deps =
|
|
https://github.com/pbolduc/AsyncTCP.git @ 1.2.0
|
|
makuna/NeoPixelBus @ 2.7.5
|
|
;; makuna/NeoPixelBus @ 2.7.9 ;; experimental
|
|
${env.lib_deps}
|
|
|
|
[esp32s2]
|
|
;; generic definitions for all ESP32-S2 boards
|
|
;; platform = espressif32@5.2.0
|
|
;; platform_packages =
|
|
;; toolchain-riscv32-esp @ 8.4.0+2021r2-patch5
|
|
;; toolchain-xtensa-esp32s2 @ 8.4.0+2021r2-patch5
|
|
platform = espressif32@ ~6.3.2
|
|
platform_packages = platformio/framework-arduinoespressif32 @ 3.20009.0 ;; select arduino-esp32 v2.0.9 (arduino-esp32 2.0.10 thru 2.0.14 are buggy so avoid them)
|
|
|
|
build_flags = -g
|
|
-DARDUINO_ARCH_ESP32 -DESP32 ;; WLEDMM
|
|
-DARDUINO_ARCH_ESP32S2
|
|
-DCONFIG_IDF_TARGET_ESP32S2=1
|
|
-DCONFIG_LITTLEFS_FOR_IDF_3_2 -DLFS_THREADSAFE ;; WLEDMM
|
|
-D CONFIG_ASYNC_TCP_USE_WDT=0
|
|
-D CONFIG_ASYNC_TCP_TASK_STACK_SIZE=8614 ;; WLEDMM increase stack by 1Kb, as audioreactive needs bigger SETTINGS_STACK_BUF_SIZE
|
|
-DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=0
|
|
-DCO
|
|
-DARDUINO_USB_MODE=0 ;; this flag is mandatory for ESP32-S2 !
|
|
;; please make sure that the following flags are properly set (to 0 or 1) by your board.json, or included in your custom platformio_override.ini entry:
|
|
;; ARDUINO_USB_CDC_ON_BOOT
|
|
|
|
lib_deps =
|
|
https://github.com/pbolduc/AsyncTCP.git @ 1.2.0
|
|
;; makuna/NeoPixelBus @ 2.7.5 ;; standard
|
|
makuna/NeoPixelBus @ 2.7.9 ;; experimental - reduces LED glitches on -S2
|
|
${env.lib_deps}
|
|
|
|
[esp32c3]
|
|
;; generic definitions for all ESP32-C3 boards
|
|
platform = espressif32@ ~6.3.2
|
|
platform_packages = platformio/framework-arduinoespressif32 @ 3.20009.0 ;; select arduino-esp32 v2.0.9 (arduino-esp32 2.0.10 thru 2.0.14 are buggy so avoid them)
|
|
build_flags = -g
|
|
-DARDUINO_ARCH_ESP32 -DESP32 ;; WLEDMM
|
|
-DARDUINO_ARCH_ESP32C3
|
|
-DCONFIG_IDF_TARGET_ESP32C3=1
|
|
-DCONFIG_LITTLEFS_FOR_IDF_3_2 -DLFS_THREADSAFE ;; WLEDMM
|
|
-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
|
|
-DCO
|
|
-DARDUINO_USB_MODE=1 ;; this flag is mandatory for ESP32-C3
|
|
;; please make sure that the following flags are properly set (to 0 or 1) by your board.json, or included in your custom platformio_override.ini entry:
|
|
;; ARDUINO_USB_CDC_ON_BOOT
|
|
|
|
lib_deps =
|
|
https://github.com/pbolduc/AsyncTCP.git @ 1.2.0
|
|
makuna/NeoPixelBus @ 2.7.5
|
|
;; makuna/NeoPixelBus @ 2.7.9 ;; experimental
|
|
${env.lib_deps}
|
|
|
|
[esp32s3]
|
|
;; generic definitions for all ESP32-S3 boards
|
|
platform = espressif32@ ~6.3.2
|
|
platform_packages = platformio/framework-arduinoespressif32 @ 3.20009.0 ;; select arduino-esp32 v2.0.9 (arduino-esp32 2.0.10 thru 2.0.14 are buggy so avoid them)
|
|
build_flags = -g
|
|
-DESP32
|
|
-DARDUINO_ARCH_ESP32
|
|
-DARDUINO_ARCH_ESP32S3
|
|
-DCONFIG_IDF_TARGET_ESP32S3=1
|
|
-DCONFIG_LITTLEFS_FOR_IDF_3_2 -DLFS_THREADSAFE ;; WLEDMM
|
|
-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
|
|
-DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_DFU_ON_BOOT=0
|
|
-DCO
|
|
;; please make sure that the following flags are properly set (to 0 or 1) by your board.json, or included in your custom platformio_override.ini entry:
|
|
;; ARDUINO_USB_MODE, ARDUINO_USB_CDC_ON_BOOT
|
|
lib_deps =
|
|
https://github.com/pbolduc/AsyncTCP.git @ 1.2.0
|
|
makuna/NeoPixelBus @ 2.7.5
|
|
;; makuna/NeoPixelBus @ 2.7.9 ;; experimental
|
|
${env.lib_deps}
|
|
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# WLED BUILDS
|
|
# ------------------------------------------------------------------------------
|
|
|
|
[env:nodemcuv2]
|
|
board = nodemcuv2
|
|
platform = ${common.platform_wled_default}
|
|
platform_packages = ${common.platform_packages}
|
|
board_build.ldscript = ${common.ldscript_4m1m}
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp8266} -D WLED_RELEASE_NAME=ESP8266 #-DWLED_DISABLE_2D
|
|
lib_deps = ${esp8266.lib_deps}
|
|
monitor_filters = esp8266_exception_decoder
|
|
|
|
[env:nodemcuv2_160]
|
|
extends = env:nodemcuv2
|
|
board_build.f_cpu = 160000000L
|
|
build_flags = ${common.build_flags_esp8266} -D WLED_RELEASE_NAME=ESP8266_160 #-DWLED_DISABLE_2D
|
|
|
|
[env:esp8266_2m]
|
|
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_flags = ${common.build_flags_esp8266} -D WLED_RELEASE_NAME=ESP02
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
[env:esp8266_2m_160]
|
|
extends = env:esp8266_2m
|
|
board_build.f_cpu = 160000000L
|
|
build_flags = ${common.build_flags_esp8266} -D WLED_RELEASE_NAME=ESP02_160
|
|
|
|
;WLEDMM: see below
|
|
; [env:esp01_1m_full]
|
|
; 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_flags = ${common.build_flags_esp8266} -D WLED_RELEASE_NAME=ESP01 -D WLED_DISABLE_OTA
|
|
; ; -D WLED_USE_UNREAL_MATH ;; may cause wrong sunset/sunrise times, but saves 7064 bytes FLASH and 975 bytes RAM
|
|
; lib_deps = ${esp8266.lib_deps}
|
|
; [env:esp01_1m_full_160]
|
|
; extends = env:esp01_1m_full
|
|
; board_build.f_cpu = 160000000L
|
|
; build_flags = ${common.build_flags_esp8266} -D WLED_RELEASE_NAME=ESP01_160 -D WLED_DISABLE_OTA
|
|
; ; -D WLED_USE_UNREAL_MATH ;; may cause wrong sunset/sunrise times, but saves 7064 bytes FLASH and 975 bytes RAM
|
|
|
|
[env:esp07]
|
|
board = esp07
|
|
platform = ${common.platform_wled_default}
|
|
platform_packages = ${common.platform_packages}
|
|
board_build.ldscript = ${common.ldscript_4m1m}
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp8266}
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
[env:d1_mini]
|
|
board = d1_mini
|
|
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_flags = ${common.build_flags_esp8266}
|
|
lib_deps = ${esp8266.lib_deps}
|
|
monitor_filters = esp8266_exception_decoder
|
|
|
|
[env:heltec_wifi_kit_8]
|
|
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_flags = ${common.build_flags_esp8266}
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
[env:h803wf]
|
|
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_flags = ${common.build_flags_esp8266} -D LEDPIN=1 -D WLED_DISABLE_INFRARED
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
[env:esp32dev]
|
|
board = esp32dev
|
|
platform = ${esp32.platform}
|
|
platform_packages = ${esp32.platform_packages}
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp32} -D WLED_RELEASE_NAME=ESP32 #-D WLED_DISABLE_BROWNOUT_DET
|
|
lib_deps = ${esp32.lib_deps}
|
|
monitor_filters = esp32_exception_decoder
|
|
board_build.partitions = ${esp32.default_partitions}
|
|
|
|
;WLEDMM: use WLEDMM build environments
|
|
; [env:esp32dev_audioreactive]
|
|
; board = esp32dev
|
|
; platform = ${esp32.platform}
|
|
; platform_packages = ${esp32.platform_packages}
|
|
; build_unflags = ${common.build_unflags}
|
|
; build_flags = ${common.build_flags_esp32} -D WLED_RELEASE_NAME=ESP32_audioreactive #-D WLED_DISABLE_BROWNOUT_DET
|
|
; ${esp32.AR_build_flags}
|
|
; lib_deps = ${esp32.lib_deps}
|
|
; ${esp32.AR_lib_deps}
|
|
; monitor_filters = esp32_exception_decoder
|
|
; board_build.partitions = ${esp32.default_partitions}
|
|
; ; board_build.f_flash = 80000000L
|
|
; ; board_build.flash_mode = dio
|
|
|
|
[env:esp32dev_qio80]
|
|
board = esp32dev
|
|
platform = ${esp32.platform}
|
|
platform_packages = ${esp32.platform_packages}
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp32} -D WLED_RELEASE_NAME=ESP32_qio80 #-D WLED_DISABLE_BROWNOUT_DET
|
|
lib_deps = ${esp32.lib_deps}
|
|
monitor_filters = esp32_exception_decoder
|
|
board_build.partitions = ${esp32.default_partitions}
|
|
board_build.f_flash = 80000000L
|
|
board_build.flash_mode = qio
|
|
|
|
[env:esp32dev_V4_dio80]
|
|
;; experimental ESP32 env using ESP-IDF V4.4.x
|
|
;; Warning: this build environment is not stable!!
|
|
;; please erase your device before installing.
|
|
board = esp32dev
|
|
platform = ${esp32_idf_V4.platform}
|
|
platform_packages = ${esp32_idf_V4.platform_packages}
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags} ${esp32_idf_V4.build_flags} -D WLED_RELEASE_NAME=ESP32_V4_qio80 #-D WLED_DISABLE_BROWNOUT_DET
|
|
lib_deps = ${esp32_idf_V4.lib_deps}
|
|
monitor_filters = esp32_exception_decoder
|
|
board_build.partitions = ${esp32_idf_V4.default_partitions}
|
|
board_build.f_flash = 80000000L
|
|
board_build.flash_mode = dio
|
|
|
|
[env:esp32_eth]
|
|
board = esp32-poe
|
|
platform = ${esp32.platform}
|
|
platform_packages = ${esp32.platform_packages}
|
|
upload_speed = 921600
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp32} -D WLED_RELEASE_NAME=ESP32_Ethernet -D RLYPIN=-1 -D WLED_USE_ETHERNET -D BTNPIN=-1
|
|
-D WLED_DISABLE_ESPNOW ;; ESP-NOW requires wifi, may crash with ethernet only
|
|
lib_deps = ${esp32.lib_deps}
|
|
board_build.partitions = ${esp32.default_partitions}
|
|
|
|
[env:esp32s2_saola]
|
|
board = esp32-s2-saola-1
|
|
platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.2.2/platform-tasmota-espressif32-2.0.2.zip
|
|
platform_packages =
|
|
framework = arduino
|
|
board_build.partitions = tools/WLED_ESP32_4MB_1MB_FS.csv
|
|
board_build.flash_mode = qio
|
|
upload_speed = 460800
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags} ${esp32s2.build_flags} #-D WLED_RELEASE_NAME=S2_saola
|
|
;-DLOLIN_WIFI_FIX ;; try this in case Wifi does not work
|
|
-DARDUINO_USB_CDC_ON_BOOT=1
|
|
lib_deps = ${esp32s2.lib_deps}
|
|
|
|
;; WLEDMM: use WLEDMM build environments
|
|
;; [env:esp32_wrover]
|
|
;; extends = esp32_idf_V4
|
|
;; platform = ${esp32_idf_V4.platform}
|
|
;; platform_packages = ${esp32_idf_V4.platform_packages}
|
|
;; board = ttgo-t7-v14-mini32
|
|
;; board_build.f_flash = 80000000L
|
|
;; board_build.flash_mode = qio
|
|
;; board_build.partitions = ${esp32.extended_partitions}
|
|
;; build_unflags = ${common.build_unflags}
|
|
;; build_flags = ${common.build_flags_esp32_V4} -D WLED_RELEASE_NAME=ESP32_WROVER
|
|
;; -DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue ;; Older ESP32 (rev.<3) need a PSRAM fix (increases static RAM used) https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-guides/external-ram.html
|
|
;; -D LEDPIN=25
|
|
;; ; ${esp32.AR_build_flags}
|
|
;; lib_deps = ${esp32_idf_V4.lib_deps}
|
|
;; ; ${esp32.AR_lib_deps}
|
|
|
|
[env:esp32c3dev]
|
|
extends = esp32c3
|
|
platform = ${esp32c3.platform}
|
|
platform_packages = ${esp32c3.platform_packages}
|
|
framework = arduino
|
|
board = esp32-c3-devkitm-1
|
|
board_build.partitions = ${esp32.default_partitions}
|
|
build_flags = ${common.build_flags} ${esp32c3.build_flags} -D WLED_RELEASE_NAME=ESP32-C3
|
|
-D WLED_WATCHDOG_TIMEOUT=0
|
|
-DLOLIN_WIFI_FIX ; seems to work much better with this
|
|
-DARDUINO_USB_CDC_ON_BOOT=1 ;; for virtual CDC USB
|
|
;-DARDUINO_USB_CDC_ON_BOOT=0 ;; for serial-to-USB chip
|
|
upload_speed = 460800
|
|
build_unflags = ${common.build_unflags}
|
|
lib_deps = ${esp32c3.lib_deps}
|
|
|
|
[env:esp32s3dev_8MB]
|
|
;; ESP32-S3-DevKitC-1 development board, with 8MB FLASH, no PSRAM (flash_mode: qio)
|
|
board = esp32-s3-devkitc-1
|
|
platform = ${esp32s3.platform}
|
|
platform_packages = ${esp32s3.platform_packages}
|
|
upload_speed = 921600 ; or 460800
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags} ${esp32s3.build_flags} -D WLED_RELEASE_NAME=ESP32-S3_8MB
|
|
-D CONFIG_LITTLEFS_FOR_IDF_3_2 -D WLED_WATCHDOG_TIMEOUT=0
|
|
-D ARDUINO_USB_CDC_ON_BOOT=0 ;; -D ARDUINO_USB_MODE=1 ;; for boards with serial-to-USB chip
|
|
;-D ARDUINO_USB_CDC_ON_BOOT=1 ;; -D ARDUINO_USB_MODE=1 ;; for boards with USB-OTG connector only (USBCDC or "TinyUSB")
|
|
;-D WLED_DEBUG
|
|
lib_deps = ${esp32s3.lib_deps}
|
|
${esp32.AR_lib_deps}
|
|
board_build.partitions = ${esp32.large_partitions}
|
|
board_build.f_flash = 80000000L
|
|
board_build.flash_mode = qio
|
|
; board_build.flash_mode = dio ;; try this if you have problems at startup
|
|
monitor_filters = esp32_exception_decoder
|
|
|
|
[env:esp32s3dev_8MB_PSRAM_opi]
|
|
;; ESP32-S3 development board, with 8MB FLASH and >= 8MB PSRAM (memory_type: qio_opi)
|
|
board = esp32-s3-devkitc-1 ;; generic dev board; the next line adds PSRAM support
|
|
board_build.arduino.memory_type = qio_opi ;; use with PSRAM: 8MB or 16MB
|
|
platform = ${esp32s3.platform}
|
|
platform_packages = ${esp32s3.platform_packages}
|
|
upload_speed = 921600
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags} ${esp32s3.build_flags}
|
|
-D CONFIG_LITTLEFS_FOR_IDF_3_2 -D WLED_WATCHDOG_TIMEOUT=0
|
|
;-D ARDUINO_USB_CDC_ON_BOOT=0 ;; -D ARDUINO_USB_MODE=1 ;; for boards with serial-to-USB chip
|
|
-D ARDUINO_USB_CDC_ON_BOOT=1 -D ARDUINO_USB_MODE=1 ;; for boards with USB-OTG connector only (USBCDC or "TinyUSB")
|
|
; -D WLED_RELEASE_NAME=ESP32-S3_PSRAM
|
|
-D WLED_USE_PSRAM -DBOARD_HAS_PSRAM ; tells WLED that PSRAM shall be used
|
|
-D WLED_USE_PSRAM_JSON -DALL_JSON_TO_PSRAM ; WLEDMM --> force all JSON stuff into PSRAM; gives more free heap
|
|
lib_deps = ${esp32s3.lib_deps}
|
|
${esp32.AR_lib_deps}
|
|
board_build.partitions = ${esp32.large_partitions}
|
|
board_build.f_flash = 80000000L
|
|
board_build.flash_mode = qio
|
|
monitor_filters = esp32_exception_decoder
|
|
|
|
[env:esp32s3dev_16MB_PSRAM_opi]
|
|
extends = env:esp32s3dev_8MB_PSRAM_opi
|
|
board_build.partitions = tools/WLED_ESP32_16MB.csv
|
|
board_upload.flash_size = 16MB
|
|
|
|
[env:esp32s3dev_8MB_PSRAM_qspi]
|
|
;; ESP32-TinyS3 development board, with 8MB FLASH and PSRAM (memory_type: qio_qspi)
|
|
extends = env:esp32s3dev_8MB_PSRAM_opi
|
|
;board = um_tinys3 ; -> needs workaround from https://github.com/Aircoookie/WLED/pull/2905#issuecomment-1328049860
|
|
board = esp32-s3-devkitc-1 ;; generic dev board; the next line adds PSRAM support
|
|
board_build.arduino.memory_type = qio_qspi ;; use with PSRAM: 2MB or 4MB
|
|
|
|
[env:esp8285_4CH_MagicHome]
|
|
board = esp8285
|
|
platform = ${common.platform_wled_default}
|
|
platform_packages = ${common.platform_packages}
|
|
board_build.ldscript = ${common.ldscript_1m128k}
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp8266} -D WLED_DISABLE_OTA
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
[env:esp8285_H801]
|
|
board = esp8285
|
|
platform = ${common.platform_wled_default}
|
|
platform_packages = ${common.platform_packages}
|
|
board_build.ldscript = ${common.ldscript_1m128k}
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp8266} -D WLED_DISABLE_OTA
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
[env:d1_mini_5CH_Shojo_PCB]
|
|
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_flags = ${common.build_flags_esp8266} -D WLED_USE_SHOJO_PCB
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# DEVELOPMENT BOARDS
|
|
# ------------------------------------------------------------------------------
|
|
|
|
[env:d1_mini_debug]
|
|
board = d1_mini
|
|
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_flags = ${common.build_flags_esp8266} ${common.debug_flags}
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
[env:d1_mini_ota]
|
|
board = d1_mini
|
|
upload_protocol = espota
|
|
# exchange for your WLED IP
|
|
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_flags = ${common.build_flags_esp8266}
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
[env:anavi_miracle_controller]
|
|
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_flags = ${common.build_flags_esp8266} -D LEDPIN=12 -D IRPIN=-1 -D RLYPIN=2
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
[env:lolin_s2_mini]
|
|
platform = ${esp32s2.platform}
|
|
platform_packages = ${esp32s2.platform_packages}
|
|
board = lolin_s2_mini
|
|
board_build.partitions = ${esp32.default_partitions}
|
|
build_unflags = ${common.build_unflags} #-DARDUINO_USB_CDC_ON_BOOT=1
|
|
;; board_build.flash_mode = qio
|
|
;; board_build.f_flash = 80000000L
|
|
build_flags = ${common.build_flags} ${esp32s2.build_flags} -D WLED_RELEASE_NAME=ESP32-S2
|
|
-DBOARD_HAS_PSRAM
|
|
-DARDUINO_USB_CDC_ON_BOOT=1 # try disabling and enabling unflag above in case of board-specific issues, will disable Serial
|
|
-DARDUINO_USB_MSC_ON_BOOT=0
|
|
-DARDUINO_USB_DFU_ON_BOOT=0
|
|
-DLOLIN_WIFI_FIX ; seems to work much better with this
|
|
-D WLED_USE_PSRAM
|
|
-D WLED_USE_PSRAM_JSON -DALL_JSON_TO_PSRAM ; WLEDMM --> force all JSON stuff into PSRAM; gives more free heap
|
|
; -D WLED_USE_UNREAL_MATH ;; may cause wrong sunset/sunrise times, but saves 6792 bytes FLASH
|
|
-D WLED_WATCHDOG_TIMEOUT=0
|
|
-D CONFIG_ASYNC_TCP_USE_WDT=0
|
|
-D LEDPIN=16
|
|
-D BTNPIN=18
|
|
-D RLYPIN=9
|
|
-D IRPIN=7
|
|
-D HW_PIN_SCL=35
|
|
-D HW_PIN_SDA=33
|
|
-D HW_PIN_CLOCKSPI=7
|
|
-D HW_PIN_MOSISPI=11 ;WLEDMM renamed from HW_PIN_DATASPI
|
|
-D HW_PIN_MISOSPI=9
|
|
; -D STATUSLED=15
|
|
lib_deps = ${esp32s2.lib_deps}
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# custom board configurations
|
|
# ------------------------------------------------------------------------------
|
|
|
|
[env:esp32c3dev_2MB]
|
|
;; for ESP32-C3 boards with 2MB flash (instead of 4MB).
|
|
;; this board need a specific partition file. OTA not possible.
|
|
extends = esp32c3
|
|
platform = ${esp32c3.platform}
|
|
platform_packages = ${esp32c3.platform_packages}
|
|
board = esp32-c3-devkitm-1
|
|
build_flags = ${common.build_flags} ${esp32c3.build_flags} #-D WLED_RELEASE_NAME=ESP32-C3
|
|
-D WLED_WATCHDOG_TIMEOUT=0
|
|
-D WLED_DISABLE_OTA
|
|
; -DARDUINO_USB_CDC_ON_BOOT=1 ;; for virtual CDC USB
|
|
-DARDUINO_USB_CDC_ON_BOOT=0 ;; for serial-to-USB chip
|
|
build_unflags = ${common.build_unflags}
|
|
upload_speed = 115200
|
|
lib_deps = ${esp32c3.lib_deps}
|
|
board_build.partitions = tools/WLED_ESP32_2MB_noOTA.csv
|
|
board_build.flash_mode = dio
|
|
board_upload.flash_size = 2MB
|
|
board_upload.maximum_size = 2097152
|
|
|
|
;WLEDMM: see below
|
|
; [env:wemos_shield_esp32]
|
|
; board = esp32dev
|
|
; platform = ${esp32.platform}
|
|
; platform_packages = ${esp32.platform_packages}
|
|
; upload_speed = 460800
|
|
; build_unflags = ${common.build_unflags}
|
|
; build_flags = ${common.build_flags_esp32}
|
|
; -D LEDPIN=16
|
|
; -D RLYPIN=19
|
|
; -D BTNPIN=17
|
|
; -D IRPIN=18
|
|
; -U WLED_USE_MY_CONFIG
|
|
; -D USERMOD_DALLASTEMPERATURE
|
|
; -D USERMOD_FOUR_LINE_DISPLAY
|
|
; -D TEMPERATURE_PIN=23
|
|
; -D USE_ALT_DISPlAY ; new versions of USERMOD_FOUR_LINE_DISPLAY and USERMOD_ROTARY_ENCODER_UI
|
|
; -D USERMOD_AUDIOREACTIVE
|
|
; lib_deps = ${esp32.lib_deps}
|
|
; OneWire@~2.3.5
|
|
; olikraus/U8g2 @ ^2.28.8
|
|
; https://github.com/blazoncek/arduinoFFT.git
|
|
; board_build.partitions = ${esp32.default_partitions}
|
|
|
|
[env:m5atom]
|
|
board = esp32dev
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp32} -D LEDPIN=27 -D BTNPIN=39
|
|
lib_deps = ${esp32.lib_deps}
|
|
platform = ${esp32.platform}
|
|
platform_packages = ${esp32.platform_packages}
|
|
board_build.partitions = ${esp32.default_partitions}
|
|
|
|
[env:sp501e]
|
|
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
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
[env:sp511e]
|
|
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
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
[env:Athom_RGBCW] ;7w and 5w(GU10) bulbs
|
|
board = esp8285
|
|
platform = ${common.platform_wled_default}
|
|
platform_packages = ${common.platform_packages}
|
|
board_build.ldscript = ${common.ldscript_2m512k}
|
|
build_unflags = ${common.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}
|
|
|
|
|
|
[env:Athom_15w_RGBCW] ;15w bulb
|
|
board = esp8285
|
|
platform = ${common.platform_wled_default}
|
|
platform_packages = ${common.platform_packages}
|
|
board_build.ldscript = ${common.ldscript_2m512k}
|
|
build_unflags = ${common.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}
|
|
|
|
|
|
[env:Athom_3Pin_Controller] ;small controller with only data
|
|
board = esp8285
|
|
platform = ${common.platform_wled_default}
|
|
platform_packages = ${common.platform_packages}
|
|
board_build.ldscript = ${common.ldscript_2m512k}
|
|
build_unflags = ${common.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}
|
|
|
|
|
|
[env:Athom_4Pin_Controller] ; With clock and data interface
|
|
board = esp8285
|
|
platform = ${common.platform_wled_default}
|
|
platform_packages = ${common.platform_packages}
|
|
board_build.ldscript = ${common.ldscript_2m512k}
|
|
build_unflags = ${common.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}
|
|
|
|
|
|
[env:Athom_5Pin_Controller] ;Analog light strip controller
|
|
board = esp8285
|
|
platform = ${common.platform_wled_default}
|
|
platform_packages = ${common.platform_packages}
|
|
board_build.ldscript = ${common.ldscript_2m512k}
|
|
build_unflags = ${common.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}
|
|
|
|
|
|
[env:MY9291]
|
|
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_flags = ${common.build_flags_esp8266} -D WLED_RELEASE_NAME=ESP01 -D WLED_DISABLE_OTA -D USERMOD_MY9291
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# codm pixel controller board configurations
|
|
# codm-controller-0_6 can also be used for the TYWE3S controller
|
|
# ------------------------------------------------------------------------------
|
|
|
|
[env:codm-controller-0_6]
|
|
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_flags = ${common.build_flags_esp8266}
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
[env:codm-controller-0_6-rev2]
|
|
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_flags = ${common.build_flags_esp8266}
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# EleksTube-IPS
|
|
# ------------------------------------------------------------------------------
|
|
[env:elekstube_ips]
|
|
board = esp32dev
|
|
platform = ${esp32.platform}
|
|
platform_packages = ${esp32.platform_packages}
|
|
upload_speed = 921600
|
|
build_flags = ${common.build_flags_esp32} -D WLED_DISABLE_BROWNOUT_DET -D WLED_DISABLE_INFRARED
|
|
-D USERMOD_RTC
|
|
-D USERMOD_ELEKSTUBE_IPS
|
|
-D LEDPIN=12
|
|
-D RLYPIN=27
|
|
-D BTNPIN=34
|
|
-D DEFAULT_LED_COUNT=6
|
|
# Display config
|
|
-D ST7789_DRIVER
|
|
-D TFT_WIDTH=135
|
|
-D TFT_HEIGHT=240
|
|
-D CGRAM_OFFSET
|
|
-D TFT_SDA_READ
|
|
-D TFT_MOSI=23
|
|
-D TFT_SCLK=18
|
|
-D TFT_DC=25
|
|
-D TFT_RST=26
|
|
-D SPI_FREQUENCY=40000000
|
|
-D USER_SETUP_LOADED
|
|
monitor_filters = esp32_exception_decoder
|
|
lib_deps =
|
|
${esp32.lib_deps}
|
|
TFT_eSPI @ ^2.3.70
|
|
board_build.partitions = ${esp32.default_partitions}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# MoonModules environments
|
|
# see https://mm.kno.wled.ge/moonmodules/platformio-entries/
|
|
# ------------------------------------------------------------------------------
|
|
|
|
; shared build flags and lib deps for minimum and maximum environment
|
|
[common_mm]
|
|
|
|
build_disable_sync_interfaces =
|
|
-D WLED_DISABLE_LOXONE
|
|
-D WLED_DISABLE_ALEXA
|
|
-D WLED_DISABLE_HUESYNC
|
|
-D WLED_DISABLE_MQTT
|
|
-D WLED_DISABLE_INFRARED
|
|
-D WLED_DISABLE_ADALIGHT ;; WLEDMM this board does not have a serial-to-USB chip. Better to disable serial protocols, to avoid crashes (see upstream #3128)
|
|
-D WLED_DISABLE_ESPNOW ;; ESP-NOW requires wifi, may crash with ethernet only
|
|
|
|
AR_build_flags = -D USERMOD_AUDIOREACTIVE -D UM_AUDIOREACTIVE_USE_NEW_FFT ;; WLEDMM audioreactive usermod, licensed under EUPL-1.2
|
|
AR_lib_deps = https://github.com/softhack007/arduinoFFT.git#develop @ 1.9.2 ;; used for USERMOD_AUDIOREACTIVE - optimized version, 10% faster on -S2/-C3
|
|
|
|
animartrix_build_flags = -D USERMOD_ANIMARTRIX ;; WLEDMM usermod: CC BY-NC 3.0 licensed effects by Stefan Petrick
|
|
animartrix_lib_deps = https://github.com/netmindz/animartrix.git#657f754783268b648e1d56b3cd31c810379d0c89 ;; Dirty state fix
|
|
animartrix_lib_ignore = animartrix ;; to remove the animartrix lib dependancy (saves a few bytes)
|
|
|
|
DMXin_build_flags = -D WLED_ENABLE_DMX_INPUT ;; WLEDMM DMX physical input - requires ESP-IDF v4.4.x
|
|
DMXin_lib_deps = https://github.com/someweisguy/esp_dmx.git#47db25d ;; for DMX_INPUT
|
|
DMXin_lib_ignore = esp_dmx ;; to remove the esp-dmx lib dependancy (saves a few bytes)
|
|
|
|
HUB75_build_flags =
|
|
-D WLED_ENABLE_HUB75MATRIX ;; - requires ESP-IDF v4.4.x
|
|
;-D SPIRAM_FRAMEBUFFER ;; ONLY SUPPORTED ON ESP32-S3 VARIANTS WITH OCTAL (not quad) SPIRAM/PSRAM
|
|
-D NO_GFX ;; Disable the use of Adafruit_GFX by the HUB75 driver
|
|
-D NO_FAST_FUNCTIONS ;; If you are not using AdafruitGFX than you probably do not need this either, save memory/code size
|
|
-D NO_CIE1931 ;; Do not use LED brightness compensation described in CIE 1931. We use FastLED dimming already
|
|
-D S3_LCD_DIV_NUM=20 ;; Attempt to fix wifi performance issue when panel active with S3 chips
|
|
-D WLEDMM_SLOWPATH ;; WLEDMM: do not use I2S for driving ws2812 LEDs (HUB75 driver needs I2S#1)
|
|
;; HUB75_lib_deps = https://github.com/mrcodetastic/ESP32-HUB75-MatrixPanel-DMA.git#aa28e2a9 ;; S3_LCD_DIV_NUM fix
|
|
HUB75_lib_deps = https://github.com/softhack007/ESP32-HUB75-MatrixPanel-DMA_sh7.git#fix_dangling_pointer ;; S3 bugfix for crash in ~MatrixPanel_I2S_DMA()
|
|
HUB75_lib_ignore = ESP32 HUB75 LED MATRIX PANEL DMA Display ;; to remove the HUB75 lib dependancy (saves a few bytes)
|
|
|
|
NetDebug_build_flags =
|
|
;; WLEDMM: only setting WLED_DEBUG_HOST is enough, ip and port can be defined in sync settings as well
|
|
-D WLED_DEBUG_HOST='"192.168.x.x"' ;; to send debug messages over network to host 192.168.x.y - FQDN is also possible
|
|
-D WLED_DEBUG_PORT=1768 ;; port for network debugging. default = 7868
|
|
|
|
|
|
build_flags_S =
|
|
-Wall -Wformat -Woverflow -Wuninitialized -Winit-self -Warray-bounds ; enables more warnings
|
|
-Wno-attributes -Wno-unused-variable -Wno-unused-function -Wno-deprecated-declarations ;disables some stupid warnings
|
|
;-D WLED_DISABLE_BROWNOUT_DET ; enable if you get "brownout detected" errors at startup
|
|
-D WLED_USE_MY_CONFIG
|
|
; -D WLED_DISABLE_2D ;; un-comment to build a firmware without 2D matrix support
|
|
; -D WLED_USE_CIE_BRIGHTNESS_TABLE ;; experimental: use different color / brightness lookup table
|
|
${common_mm.AR_build_flags} ; use latest (upstream) FFTLib, instead of older library modified by blazoncek. Slightly faster, more accurate, needs 2KB RAM extra
|
|
-D USERMOD_AUTO_PLAYLIST
|
|
; -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
|
|
|
|
lib_deps_S =
|
|
;; https://github.com/kosme/arduinoFFT#develop @ 1.9.2+sha.419d7b0 ;; used for USERMOD_AUDIOREACTIVE - using "known working" hash
|
|
${common_mm.AR_lib_deps} ;; used for USERMOD_AUDIOREACTIVE - optimized version, 10% faster on -S2/-C3
|
|
|
|
build_flags_M =
|
|
-D USERMOD_ARTIFX ; WLEDMM usermod - temporarily moved into "_M", due to problems in "_S" when compiling with -O2
|
|
-D WLED_MAX_USERMODS=25 ; default only 4-6, also for _XL configs takes 25 pointers in memory
|
|
;; -D ARDUINO_USB_CDC_ON_BOOT=0 ; needed for arduino-esp32 >=2.0.4 ewowi to softhack: move to build_flags_S? - We need a different solution
|
|
-D WLED_USE_MY_CONFIG ; include custom my_config.h ewowi to softhack: redundant as also in build_flags_S?
|
|
-D USERMOD_DALLASTEMPERATURE
|
|
-D USE_ALT_DISPLAY ; new versions of USERMOD_FOUR_LINE_DISPLAY and USERMOD_ROTARY_ENCODER_UI
|
|
-D USERMOD_FOUR_LINE_DISPLAY
|
|
-D USERMOD_ROTARY_ENCODER_UI
|
|
-D USERMOD_AUTO_SAVE
|
|
${common_mm.animartrix_build_flags}
|
|
${common_mm.NetDebug_build_flags}
|
|
|
|
lib_deps_M =
|
|
;https://github.com/blazoncek/OneWire.git ; includes bugfixes for inconsistent readings
|
|
OneWire@~2.3.5 ; used for USERMOD_FOUR_LINE_DISPLAY and USERMOD_DALLASTEMPERATURE
|
|
olikraus/U8g2 @ ^2.28.8 ; used for USERMOD_FOUR_LINE_DISPLAY
|
|
${common_mm.animartrix_lib_deps}
|
|
|
|
lib_deps_V4_M =
|
|
;https://github.com/blazoncek/OneWire.git ; includes bugfixes for inconsistent readings
|
|
paulstoffregen/OneWire@ ^2.3.7 ; used for USERMOD_DALLASTEMPERATURE -> need newer release with bugfixes for -S3; still requires TEMPERATURE_PIN < 46
|
|
olikraus/U8g2@ ^2.34.5 ; used for USERMOD_FOUR_LINE_DISPLAY -> need newer version with bugfixes for arduino-esp32 v2.0.4 (Wire initialization)
|
|
${common_mm.animartrix_lib_deps}
|
|
|
|
build_flags_XL =
|
|
-D WLEDMM_SAVE_FLASH
|
|
-D USERMOD_WEATHER ; WLEDMM usermod
|
|
-D USERMOD_MPU6050_IMU ; gyro/accelero for USERMOD_GAMES (ONLY WORKS IF USERMOD_FOUR_LINE_DISPLAY NOT INCLUDED - I2C SHARING BUG)
|
|
-D USERMOD_GAMES ; WLEDMM usermod
|
|
-D USERMOD_BATTERY ;; enable Battery usermod
|
|
-D USERMOD_BATTERY_USE_LIPO ;; use new "discharging curve" for LiPo cells
|
|
-D USERMOD_BH1750
|
|
-D USERMOD_ANIMATED_STAIRCASE
|
|
-D USERMOD_RTC ;; experimental
|
|
; -D USERMOD_SENSORSTOMQTT ;; experimental ewowi causes error: fatal error: Adafruit_Sensor.h: No such file or directory
|
|
-D USERMOD_ANALOG_CLOCK
|
|
-D USERMOD_MULTI_RELAY
|
|
-D USERMOD_PIRSWITCH
|
|
-D USERMOD_PWM_FAN
|
|
; -D USERMOD_PING_PONG_CLOCK ;; Removed as dots is confusing
|
|
; -D USERMOD_BUZZER ;; Removed as it grabs gpio32 (pin needed by audioreactive)
|
|
-D USERMOD_SN_PHOTORESISTOR
|
|
-D USERMOD_BME280
|
|
-D USERMOD_DHT
|
|
; -D USERMOD_SHT ;; experimental
|
|
-D USERMOD_VL53L0X_GESTURES
|
|
-D WLED_ENABLE_PIXART
|
|
${common_mm.animartrix_build_flags}
|
|
|
|
lib_deps_XL =
|
|
ElectronicCats/MPU6050 @ 0.6.0 ; used for USERMOD_MPU6050_IMU
|
|
claws/BH1750 @^1.2.0 ; used for USERMOD_BH1750
|
|
; adafruit/Adafruit BMP280 Library @ 2.1.0 ;; experimental for usermod USERMOD_SENSORSTOMQTT
|
|
; adafruit/Adafruit CCS811 Library @ 1.0.4 ;; experimental for usermod USERMOD_SENSORSTOMQTT
|
|
; adafruit/Adafruit Si7021 Library @ 1.4.0 ;; experimental for usermod USERMOD_SENSORSTOMQTT
|
|
BME280@~3.0.0 ; for usermod USERMOD_BME280
|
|
https://github.com/alwynallan/DHT_nonblocking ; for usermod USERMOD_DHT
|
|
; robtillaart/SHT85 @ ~0.4.0 ;; for usermod USERMOD_SHT
|
|
pololu/VL53L0X @ ^1.3.0 ; for usermod USERMOD_VL53L0X_GESTURES
|
|
|
|
; end of common
|
|
|
|
; base entries (without WLED_RELEASE_NAME)
|
|
|
|
; common defaults for all MM environments
|
|
[esp32_4MB_S_base]
|
|
board = esp32dev
|
|
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} ${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)
|
|
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_unflags = ${esp32_4MB_S_base.build_unflags}
|
|
lib_deps = ${esp32_4MB_S_base.lib_deps} ${common_mm.lib_deps_M}
|
|
|
|
[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}
|
|
lib_deps = ${esp32_4MB_M_base.lib_deps} ${common_mm.lib_deps_XL}
|
|
|
|
;common default for all V4 min environments, including -S3, -S2, -C3
|
|
[esp32_4MB_V4_S_base]
|
|
board = esp32dev
|
|
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} ${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")
|
|
;-Wsuggest-attribute=const -Wsuggest-attribute=pure ;; ask compiler for hints on attributes
|
|
${common_mm.DMXin_build_flags}
|
|
lib_deps = ${common_mm.lib_deps_S} ;; do not include ${esp32.lib_depsV4} here !!!!
|
|
${common_mm.DMXin_lib_deps}
|
|
esp32_build_flags = ${esp32.build_flagsV4} ${esp32_4MB_V4_S_base.build_flags} ;; this is for esp32 only, including specific "V4" flags
|
|
esp32_lib_deps = ${esp32.lib_depsV4} ${esp32_4MB_V4_S_base.lib_deps} ;; this is for esp32 only, including specific "V4" flags
|
|
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)
|
|
;lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation
|
|
; monitor_filters = esp32_exception_decoder ; used to show crash details
|
|
|
|
[esp32_4MB_V4_M_base]
|
|
extends = esp32_4MB_V4_S_base
|
|
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}
|
|
board_build.partitions = ${esp32_4MB_V4_S_base.board_build.partitions}
|
|
;board_build.flash_mode = qio ; (dio = dual i/o; more compatible than qio = quad i/o)
|
|
|
|
[Shield_ICS4343x]
|
|
build_flags =
|
|
-D SR_DMTYPE=1 -D I2S_SDPIN=32 -D I2S_WSPIN=15 -D I2S_CKPIN=14 ; for regular I2S microphone
|
|
-D SR_SQUELCH=10 -D SR_GAIN=30 -D SR_FREQ_PROF=5 ; ICS-43434 specific
|
|
|
|
[Shield_SPM1423]
|
|
build_flags =
|
|
-D SR_DMTYPE=5 -D I2S_SDPIN=32 -D I2S_WSPIN=15 -D I2S_CKPIN=-1 ; for I2S PDM microphone
|
|
-D SR_SQUELCH=3 -D SR_GAIN=75 -D SR_FREQ_PROF=7 ; SPM1423 specific
|
|
|
|
[Athom_PDMmic]
|
|
build_flags =
|
|
-D SR_DMTYPE=51 -D I2S_SDPIN=32 -D I2S_WSPIN=15 -D I2S_CKPIN=-1 ; for I2S PDM microphone Legacy mode!
|
|
-D SR_SQUELCH=10 -D SR_GAIN=40 -D SR_FREQ_PROF=7 ; SPM1423 specific
|
|
|
|
[Shield_LineIn]
|
|
build_unflags =
|
|
-D BTNPIN=17 ;; remove - its in conflict with on-shield rotary
|
|
-D ENCODER_SW_PIN=5 ;; remove - its in conflict with on-shield rotary
|
|
-D BTNPIN=0 ;; remove - its in conflict with MCLK pin
|
|
build_flags =
|
|
-D BTNPIN=-1
|
|
-D SR_DMTYPE=4 -D MCLK_PIN=0 -D I2S_SDPIN=26 -D I2S_WSPIN=25 -D I2S_CKPIN=27 ; for audio Line-In shield, final version
|
|
-D SR_LINE_DETECT=34 ; line-in plug insert detection sensor (future support)
|
|
-D SR_SQUELCH=8 -D SR_GAIN=40 -D SR_FREQ_PROF=1 ; CS5343 Line-In specific
|
|
-D ENCODER_DT_PIN=35 -D ENCODER_CLK_PIN=39 -D ENCODER_SW_PIN=17 ; on-shield rotary encoder
|
|
|
|
[Debug_Flags]
|
|
build_flags =
|
|
-DDEBUG=1 ;; enable some debug assertions in the platform core
|
|
; -D WLED_DEBUG_HEAP ;; WLEDMM enable heap debugging
|
|
-D WLED_DEBUG ; lots of generic debug messages
|
|
-D SR_DEBUG ; some extra debug messages from audioreactive
|
|
; -D MIC_LOGGER ; for sound input monitoring & debugging (use arduino serial plotter)
|
|
; NetDebug moved to build_flags_M
|
|
|
|
[Speed_Flags]
|
|
build_flags =
|
|
-O2 ;; optimize for performance instead of size
|
|
;-ffast-math ;; gives a few (2-5) percent speedup on ESP32-S3, but causes slight slowdown on classic ESP32
|
|
-funsafe-math-optimizations ;; less dangerous than -ffast-math; still allows the compiler to exploit FMA and reciprocals (10% faster on -S3)
|
|
;; -mtarget-align ;; this one is included in -O2, so its not necessary to explicitly add it
|
|
-free -fipa-pta ;; these are very useful, too
|
|
-fno-jump-tables -fno-tree-switch-conversion ;; needed
|
|
-freorder-blocks -Wwrite-strings -fstrict-volatile-bitfields ;; needed
|
|
build_flags_V4 = ${Speed_Flags.build_flags} -fsingle-precision-constant ;; old framework does not like this flag
|
|
build_unflags =
|
|
-Os ;; to disable standard optimization for size
|
|
|
|
; end of base entries
|
|
|
|
|
|
; bin entries (with WLED_RELEASE_NAME)
|
|
;; ESP32, 4MB, optimized for speed, basic features and audioreactive only
|
|
[env:esp32_4MB_S]
|
|
extends = esp32_4MB_S_base
|
|
build_unflags = ${esp32_4MB_S_base.build_unflags}
|
|
${Speed_Flags.build_unflags} ;; to override -Os
|
|
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
|
|
;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)
|
|
|
|
[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)
|
|
|
|
[env:esp32_4MB_M_eth]
|
|
extends = esp32_4MB_M_base
|
|
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 WLED_DISABLE_ESPNOW ;; ESP-NOW requires wifi, may crash with ethernet only
|
|
|
|
|
|
[env:esp32_4MB_XL]
|
|
extends = esp32_4MB_XL_base
|
|
build_flags = ${esp32_4MB_XL_base.build_flags}
|
|
-D WLED_RELEASE_NAME=esp32_4MB_XL
|
|
;-D WLED_DISABLE_ALEXA
|
|
;-D WLED_DISABLE_HUESYNC ;; Over the limits ?
|
|
-D WLED_DISABLE_LOXONE ;; Over the limits
|
|
;-D WLED_DISABLE_MQTT
|
|
;-D WLED_DISABLE_INFRARED
|
|
-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)
|
|
|
|
;; standard framework build for 16MB flash, optimized for speed
|
|
[env:esp32_16MB_S]
|
|
extends = esp32_4MB_S_base
|
|
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
|
|
build_unflags = ${esp32_4MB_S_base.build_unflags}
|
|
${Speed_Flags.build_unflags} ;; to override -Os
|
|
build_flags = ${esp32_4MB_S_base.build_flags}
|
|
-D WLED_RELEASE_NAME=esp32_16MB_S
|
|
${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}
|
|
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)
|
|
|
|
[env:esp32_16MB_M]
|
|
extends = esp32_4MB_M_base
|
|
build_flags = ${esp32_4MB_M_base.build_flags}
|
|
-D WLED_RELEASE_NAME=esp32_16MB_M
|
|
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
|
|
|
|
[env:esp32_4MB_M_debug]
|
|
extends = esp32_4MB_M_base
|
|
build_unflags = ${common.build_unflags}
|
|
-D CORE_DEBUG_LEVEL=0
|
|
-D USERMOD_ANIMARTRIX ;; Tips our memory usage over the limit
|
|
|
|
build_flags = ${esp32_4MB_M_base.build_flags}
|
|
${Debug_Flags.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)
|
|
|
|
[env:esp32_16MB_M_debug]
|
|
extends = esp32_4MB_M_base
|
|
build_unflags = ${common.build_unflags}
|
|
-D CORE_DEBUG_LEVEL=0
|
|
build_flags = ${esp32_4MB_M_base.build_flags}
|
|
${Debug_Flags.build_flags}
|
|
; -D WLED_DEBUG_HEAP ;; WLEDMM enable heap debugging (needs newer framework versions)
|
|
-D CORE_DEBUG_LEVEL=2 ;; 2=warning
|
|
-D WLED_RELEASE_NAME=esp32_16MB_M_debug
|
|
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)
|
|
|
|
[env:esp32_16MB_XL]
|
|
extends = esp32_4MB_XL_base
|
|
build_flags = ${esp32_4MB_XL_base.build_flags}
|
|
-D WLED_RELEASE_NAME=esp32_16MB_XL
|
|
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
|
|
|
|
[env:esp32_16MB_M_eth]
|
|
extends = esp32_4MB_M_base
|
|
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
|
|
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_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)
|
|
|
|
|
|
[env:esp8266_2MB_S]
|
|
extends = env:esp8266_2m
|
|
upload_speed = 460800 ;115200
|
|
board_build.f_cpu = 160000000L ;; we want 160Mhz (default = 80Mhz)
|
|
build_flags = ${common.build_flags_esp8266}
|
|
-D WLED_RELEASE_NAME=esp8266_2MB_S
|
|
-D WLED_DISABLE_ALEXA
|
|
-D WLED_DISABLE_HUESYNC
|
|
-D WLED_DISABLE_ESPNOW ;; might help in case of WiFi connectivity problems
|
|
-D WLED_DISABLE_LOXONE ; FLASH 1272 bytes
|
|
;; -D WLED_DISABLE_MQTT ; RAM 216 bytes; FLASH 16496 bytes
|
|
;; -D WLED_DISABLE_INFRARED ;RAM 136 bytes; FLASH 24492 bytes
|
|
; -D WLED_DISABLE_2D
|
|
; -UWLED_USE_MY_CONFIG
|
|
${common_mm.NetDebug_build_flags}
|
|
; -D WLED_DEBUG
|
|
; monitor_filters = esp8266_exception_decoder
|
|
;; lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation
|
|
; RAM: [====== ] 60.8% (used 49836 bytes from 81920 bytes)
|
|
; Flash: [======== ] 83.3% (used 869783 bytes from 1044464 bytes)
|
|
|
|
[env:esp8266_4MB_S]
|
|
extends = env:d1_mini
|
|
upload_speed = 460800 ;115200
|
|
board_build.f_cpu = 160000000L ;; we want 160Mhz (default = 80Mhz)
|
|
build_flags = ${common.build_flags_esp8266}
|
|
-D WLED_RELEASE_NAME=esp8266_4MB_S
|
|
-D WLED_DISABLE_ALEXA
|
|
-D WLED_DISABLE_HUESYNC
|
|
-D WLED_DISABLE_ESPNOW ;; might help in case of WiFi connectivity problems
|
|
-D WLED_DISABLE_LOXONE ; FLASH 1272 bytes
|
|
;; -D WLED_DISABLE_MQTT ; RAM 216 bytes; FLASH 16496 bytes
|
|
;; -D WLED_DISABLE_INFRARED ;RAM 136 bytes; FLASH 24492 bytes
|
|
; -D WLED_DISABLE_2D
|
|
; -UWLED_USE_MY_CONFIG
|
|
${common_mm.NetDebug_build_flags}
|
|
; -D WLED_DEBUG
|
|
; monitor_filters = esp8266_exception_decoder
|
|
;; lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation
|
|
; RAM: [====== ] 60.8% (used 49824 bytes from 81920 bytes)
|
|
; Flash: [======== ] 83.3% (used 869779 bytes from 1044464 bytes)
|
|
[env:esp8266_4MB_M]
|
|
extends = env:d1_mini
|
|
upload_speed = 460800 ;115200
|
|
board_build.f_cpu = 160000000L ;; we want 160Mhz (default = 80Mhz)
|
|
build_flags = ${common.build_flags_esp8266}
|
|
-D WLED_RELEASE_NAME=esp8266_4MB_M
|
|
-D WLED_DISABLE_ALEXA
|
|
-D WLED_DISABLE_HUESYNC
|
|
-D WLED_DISABLE_LOXONE
|
|
; -D USERMOD_AUDIOREACTIVE
|
|
; -UWLED_USE_MY_CONFIG
|
|
; -D USERMOD_PIRSWITCH
|
|
; -D USERMOD_DALLASTEMPERATURE ;; disabled because it hangs during usermod setup on -S3 (autodetect broken?)
|
|
; -D USERMOD_MULTI_RELAY
|
|
-D USE_ALT_DISPLAY ; new versions of USERMOD_FOUR_LINE_DISPLAY and USERMOD_ROTARY_ENCODER_UI
|
|
-D WLED_MAX_USERMODS=5 ; default only 4 on ESP8266
|
|
-D USERMOD_FOUR_LINE_DISPLAY
|
|
-D USERMOD_MPU6050_IMU ; gyro/accelero for USERMOD_GAMES (ONLY WORKS IF USERMOD_FOUR_LINE_DISPLAY NOT INCLUDED - I2C SHARING BUG)
|
|
-D USERMOD_GAMES ; WLEDMM usermod
|
|
; -D USERMOD_ARTIFX ; this is compiling but not working due to low memory on 8266
|
|
-D USERMOD_BATTERY ;; enable Battery usermod
|
|
-D USERMOD_BATTERY_USE_LIPO ;; use new "discharging curve" for LiPo cells
|
|
${common_mm.NetDebug_build_flags}
|
|
; -D WLED_DEBUG
|
|
monitor_filters = esp8266_exception_decoder
|
|
lib_deps = ${esp8266.lib_deps}
|
|
OneWire@~2.3.5 ; used for USERMOD_FOUR_LINE_DISPLAY and USERMOD_DALLASTEMPERATURE
|
|
olikraus/U8g2 @ ^2.28.8 ; used for USERMOD_FOUR_LINE_DISPLAY
|
|
ElectronicCats/MPU6050 @ 0.6.0 ; used for USERMOD_MPU6050_IMU
|
|
; RAM: [====== ] 63.0% (used 51632 bytes from 81920 bytes)
|
|
; Flash: [========= ] 88.5% (used 924179 bytes from 1044464 bytes)
|
|
|
|
; Blaz env (for reference purposes)
|
|
[env:d1_mini_temp]
|
|
extends = env:d1_mini
|
|
board_build.filesystem = littlefs
|
|
build_flags = ${common.build_flags_esp8266} -D WLED_RELEASE_NAME=ESP8266
|
|
-D WLED_DISABLE_ALEXA
|
|
-D WLED_DISABLE_HUESYNC
|
|
-D WLED_DISABLE_LOXONE
|
|
-D WLED_DISABLE_AUDIO ;WLEDMM not used anywhere
|
|
-D WLED_ENABLE_SIMPLE_UI
|
|
-D USERMOD_FOUR_LINE_DISPLAY
|
|
-D USE_ALT_DISPlAY
|
|
-D USERMOD_DALLASTEMPERATURE
|
|
-D TEMPERATURE_PIN=13 # (D7)
|
|
-D LEDPIN=2 # (D4)
|
|
-D RLYPIN=12 # (D6)
|
|
-D BTNPIN=0 # (D3)
|
|
-D IRPIN=14 # (D5)
|
|
-D USERMOD_MULTI_RELAY
|
|
-D MULTI_RELAY_MAX_RELAYS=2
|
|
-D USERMOD_PIRSWITCH
|
|
-D PIR_SENSOR_PIN=16
|
|
-D PIR_SENSOR_OFF_SEC=60
|
|
-UWLED_USE_MY_CONFIG
|
|
lib_deps = ${esp8266.lib_deps}
|
|
paulstoffregen/OneWire@~2.3.7 ;WLEDMM Softhack, we need this as well (instead of 2.3.5)?
|
|
olikraus/U8g2 # @~2.33.15
|
|
Wire ; WLEDMM ewowi, needed?
|
|
|
|
[env:esp8266pro_16MB_S]
|
|
extends = env:d1_mini
|
|
board = d1_mini_pro ;; "D1 mini pro": ESP8266EX, 160MHz, 80KB RAM, 16MB Flash
|
|
board_build.f_cpu = 160000000L ;; we want 160Mhz (default = 80Mhz)
|
|
;board_build.f_flash = 80000000L ;; for 80Mhz flash speed, in case your chip can handle it (default = 40Mhz)
|
|
board_build.flash_mode = qio ;; quad IO - fastest speed, in case your chip can handle it.
|
|
;;board_build.flash_mode = dout ;; use if your esp8266 becomes unstable with "qio"
|
|
board_build.ldscript = ${common.ldscript_16m14m} ;; 16MB flash, use 14MB for LittleFS
|
|
|
|
upload_speed = 460800 ;115200
|
|
build_flags = ${common.build_flags_esp8266}
|
|
-D WLED_RELEASE_NAME=esp8266pro_16MB_S
|
|
-D WLED_WATCHDOG_TIMEOUT=0
|
|
-D WLED_DISABLE_ALEXA
|
|
-D WLED_DISABLE_HUESYNC
|
|
; -D WLED_DEBUG ${common.debug_flags} ;; un-comment for debug messages
|
|
${common_mm.NetDebug_build_flags}
|
|
;; -D WLED_DISABLE_ESPNOW ;; might help in case of WiFi connectivity problems
|
|
; -D WLED_DISABLE_LOXONE ; FLASH 1272 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_2D
|
|
; -D USERMOD_AUDIOREACTIVE
|
|
; -D USERMOD_ARTIFX ; to be done
|
|
; -UWLED_USE_MY_CONFIG
|
|
monitor_filters = esp8266_exception_decoder
|
|
; lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation
|
|
; RAM: [====== ] 59.3% (used 48616 bytes from 81920 bytes)
|
|
; Flash: [======== ] 77.0% (used 804236 bytes from 1044464 bytes)
|
|
|
|
[env:esp8266pro_16MB_M]
|
|
extends = env:d1_mini
|
|
board = d1_mini_pro ;; "D1 mini pro": ESP8266EX, 160MHz, 80KB RAM, 16MB Flash
|
|
board_build.f_cpu = 160000000L ;; we want 160Mhz (default = 80Mhz)
|
|
;board_build.f_flash = 80000000L ;; for 80Mhz flash speed, in case your chip can handle it (default = 40Mhz)
|
|
board_build.flash_mode = qio ;; quad IO - fastest speed, in case your chip can handle it.
|
|
;;board_build.flash_mode = dout ;; use if your esp8266 becomes unstable with "qio"
|
|
board_build.ldscript = ${common.ldscript_16m14m} ;; 16MB flash, use 14MB for LittleFS
|
|
|
|
upload_speed = 460800 ;115200
|
|
build_flags = ${common.build_flags_esp8266}
|
|
-D WLED_RELEASE_NAME=esp8266pro_16MB_M
|
|
-D WLED_MAX_USERMODS=5 ; default only 4-6
|
|
-D WLED_DISABLE_ALEXA
|
|
-D WLED_DISABLE_HUESYNC
|
|
-D WLED_DISABLE_LOXONE
|
|
; -D USERMOD_AUDIOREACTIVE
|
|
; -D USERMOD_ARTIFX ; to be done
|
|
;; -D WLED_DISABLE_ESPNOW ;; might help in case of WiFi connectivity problems
|
|
-D USERMOD_PIRSWITCH
|
|
-D USERMOD_DALLASTEMPERATURE ;; disabled because it hangs during usermod setup on -S3 (autodetect broken?)
|
|
-D USERMOD_MULTI_RELAY
|
|
-D USE_ALT_DISPLAY ; new versions of USERMOD_FOUR_LINE_DISPLAY and USERMOD_ROTARY_ENCODER_UI
|
|
-D USERMOD_FOUR_LINE_DISPLAY
|
|
-D USERMOD_MPU6050_IMU ; gyro/accelero for USERMOD_GAMES (ONLY WORKS IF USERMOD_FOUR_LINE_DISPLAY NOT INCLUDED - I2C SHARING BUG)
|
|
-D USERMOD_GAMES ; WLEDMM usermod
|
|
${common_mm.NetDebug_build_flags}
|
|
; -D WLED_DEBUG
|
|
monitor_filters = esp8266_exception_decoder
|
|
lib_deps = ${esp8266.lib_deps}
|
|
OneWire@~2.3.5 ; used for USERMOD_FOUR_LINE_DISPLAY and USERMOD_DALLASTEMPERATURE
|
|
olikraus/U8g2 @ ^2.28.8 ; used for USERMOD_FOUR_LINE_DISPLAY
|
|
ElectronicCats/MPU6050 @ 0.6.0 ; used for USERMOD_MPU6050_IMU
|
|
; RAM: [====== ] 63.8% (used 52272 bytes from 81920 bytes)
|
|
; Flash: [========= ] 90.4% (used 944487 bytes from 1044464 bytes)
|
|
|
|
[env:esp01_1MB_S]
|
|
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_flags = ${common.build_flags_esp8266} -D WLED_DISABLE_OTA
|
|
-D WLED_RELEASE_NAME=esp01_1MB_S
|
|
-D WLED_DISABLE_ALEXA
|
|
-D WLED_DISABLE_HUESYNC
|
|
-D WLED_DISABLE_ESPNOW ;; exceeds flash size limits
|
|
-D WLED_DISABLE_INFRARED ;; exceeds flash size limits
|
|
lib_deps = ${esp8266.lib_deps}
|
|
lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation
|
|
; RAM: [====== ] 60.6% (used 49616 bytes from 81920 bytes)
|
|
; Flash: [==========] 99.8% (used 890835 bytes from 892912 bytes)
|
|
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# MoonModules environments for IDF V4.4.x
|
|
# ------------------------------------------------------------------------------
|
|
;; 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
|
|
[env:esp32_4MB_V4_S]
|
|
extends = esp32_4MB_V4_S_base
|
|
build_flags = ${esp32_4MB_V4_S_base.esp32_build_flags}
|
|
-D WLED_RELEASE_NAME=esp32_4MB_V4_S
|
|
-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.
|
|
-D WLEDMM_SAVE_FLASH
|
|
-D WLED_DISABLE_LOXONE
|
|
-D WLED_DISABLE_ALEXA
|
|
-D WLED_DISABLE_HUESYNC
|
|
-D WLED_DISABLE_MQTT
|
|
-D WLED_DISABLE_INFRARED
|
|
; -D WLED_DEBUG
|
|
; -D SR_DEBUG
|
|
; -D MIC_LOGGER
|
|
-D WLED_ENABLE_HUB75MATRIX
|
|
|
|
lib_deps = ${esp32_4MB_V4_S_base.esp32_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)
|
|
|
|
;; softhack007: my favourite HUB75 buildenv - fastest possible
|
|
[env:esp32_4MB_V4_HUB75_forum]
|
|
extends = esp32_4MB_V4_S_base
|
|
platform_packages = ${esp32_4MB_V4_S_base.platform_packages}
|
|
;; toolchain-xtensa-esp32@~11.2 ;; for trying out newer gcc @11.2.0+2022r1 ;; 25fps -> 30fps;; FastLED 3.7.1 required !!
|
|
|
|
build_unflags = ${esp32_4MB_V4_S_base.build_unflags}
|
|
${Speed_Flags.build_unflags} ;; to override -Os
|
|
;; -D WLED_ENABLE_DMX_INPUT
|
|
-DARDUINO_EVENT_RUNNING_CORE=1
|
|
;;-DCORE_DEBUG_LEVEL=0
|
|
;; -D NDEBUG
|
|
-D NO_CIE1931 ;; Do use LED brightness compensation described in CIE 1931
|
|
|
|
build_flags = ${esp32_4MB_V4_S_base.esp32_build_flags}
|
|
;; -Wsuggest-attribute=const -Wsuggest-attribute=pure
|
|
;; -Wmissing-noreturn -Wmissing-return
|
|
;; -Wall -Wextra
|
|
-Wno-unused-value -Wno-format -Wno-type-limits
|
|
-D WLED_RELEASE_NAME=esp32_4MB_V4_HUB75
|
|
${Speed_Flags.build_flags_V4} ;; -O2 -> optimize for speed instead of size
|
|
;; -D DEBUG
|
|
-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.
|
|
-D WLED_DISABLE_LOXONE
|
|
-D WLED_DISABLE_ALEXA
|
|
-D WLED_DISABLE_HUESYNC
|
|
-D WLED_DISABLE_MQTT
|
|
-D WLED_DISABLE_INFRARED
|
|
-D WLED_DISABLE_ADALIGHT
|
|
;; -D WLED_DEBUG
|
|
;; -D SR_DEBUG
|
|
-D WLED_BOOTUPDELAY=350
|
|
-D WLED_ENABLE_HUB75MATRIX -DESP32_FORUM_PINOUT
|
|
;; -D HUB75_NO_DOUBLEBUFFER ;; -D PIXEL_COLOUR_DEPTH_BITS=12
|
|
${common_mm.animartrix_build_flags}
|
|
;;-DARDUINO_EVENT_RUNNING_CORE=0 ;; assign Wifi to core0, to have more CPU on core#1 (arduino loop)
|
|
;;-DARDUINO_RUNNING_CORE=1 ;; should be default, but does not hurt
|
|
-DCONFIG_MBEDTLS_DYNAMIC_BUFFER=1 ;; optional - seems to move more buffers into PSRAM
|
|
;; -D CONFIG_ESP32_REV_MIN=3 ;; disables PSRAM bug workarounds in the core, reducing the code size and improving overall performance.
|
|
-D JSON_BUFFER_SIZE=18432 -D MIN_HEAP_SIZE=6144
|
|
-D MAX_SEGMENT_DATA=40960 ;; default 32767
|
|
-D WLEDMM_SAVE_FLASH
|
|
-D WLED_DISABLE_BROWNOUT_DET
|
|
;;-DCORE_DEBUG_LEVEL=1
|
|
;;-D WLED_DISABLE_PARTICLESYSTEM1D
|
|
;;-D WLED_DISABLE_PARTICLESYSTEM2D
|
|
;;-D WLED_DISABLE_PARTICLESYSTEM_BUFFER
|
|
|
|
lib_deps = ${esp32_4MB_V4_S_base.esp32_lib_deps}
|
|
${common_mm.animartrix_lib_deps}
|
|
lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation
|
|
;; ${common_mm.DMXin_lib_ignore}
|
|
|
|
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)
|
|
|
|
|
|
; compiled with ESP-IDF 4.4.1
|
|
[env:esp32_4MB_V4_M]
|
|
extends = esp32_4MB_V4_M_base
|
|
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_INFRARED ;RAM 136 bytes; FLASH 24492 bytes ;; softhack007 disabled to stay below 100% flash size
|
|
-D WLEDMM_SAVE_FLASH
|
|
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
|
|
${common_mm.animartrix_lib_ignore}
|
|
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 WLED_ENABLE_HUB75MATRIX
|
|
|
|
;; 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
|
|
[env:esp32_16MB_V4_S]
|
|
extends = esp32_4MB_V4_S_base
|
|
build_unflags = ${esp32_4MB_V4_S_base.build_unflags}
|
|
${Speed_Flags.build_unflags} ;; to override -Os
|
|
build_flags = ${esp32_4MB_V4_S_base.esp32_build_flags}
|
|
${Speed_Flags.build_flags_V4} ;; optimize for speed instead of size
|
|
-D WLED_RELEASE_NAME=esp32_16MB_V4_S
|
|
-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
|
|
lib_deps = ${esp32_4MB_V4_S_base.esp32_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)
|
|
|
|
; compiled with ESP-IDF 4.4.1
|
|
[env:esp32_16MB_V4_M]
|
|
extends = esp32_4MB_V4_M_base
|
|
build_flags = ${esp32_4MB_V4_M_base.esp32_build_flags}
|
|
-D WLED_RELEASE_NAME=esp32_16MB_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_ENABLE_DMX ;; disabled because it does not work with ESP-IDF 4.4.x (buggy driver in SparkFunDMX)
|
|
-D WLED_ENABLE_DMX_INPUT ;; needs more testing
|
|
-D LEDPIN=16 -D RLYPIN=19
|
|
-D AUDIOPIN=-1 -D TEMPERATURE_PIN=23 -D PIR_SENSOR_PIN=-1 -D PWM_PIN=-1
|
|
-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
|
|
lib_deps = ${esp32_4MB_V4_M_base.esp32_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)
|
|
|
|
[env:esp32_16MB_V4_M_debug]
|
|
extends = esp32_4MB_V4_M_base
|
|
build_unflags = ${common.build_unflags}
|
|
-D CORE_DEBUG_LEVEL=0
|
|
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
|
|
-D WLED_DEBUG_HEAP ;; WLEDMM enable heap debugging
|
|
-D WLED_RELEASE_NAME=esp32_16MB_V4_M_debug
|
|
-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
|
|
lib_deps = ${esp32_4MB_V4_M_base.esp32_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
|
|
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
|
|
|
|
;; experimental environment for boards with PSRAM (needs ESP-IDF 4.4.1).
|
|
[env:esp32_4MB_PSRAM_S]
|
|
extends = esp32_4MB_V4_S_base
|
|
board = lolin_d32_pro
|
|
;board = esp32cam
|
|
build_unflags = ${esp32_4MB_V4_S_base.build_unflags}
|
|
-D WLED_ENABLE_HUB75MATRIX ;; uses too much flash
|
|
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
|
|
-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.
|
|
-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 ewowi: disabled to stay below 100%
|
|
; -D WLED_ENABLE_DMX
|
|
; -D WLED_DEBUG
|
|
; -D SR_DEBUG
|
|
; -D MIC_LOGGER
|
|
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)
|
|
|
|
;; 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.
|
|
[env:esp32_4MB_PSRAM_REV3_S]
|
|
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)
|
|
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)
|
|
-DARDUINO_RUNNING_CORE=1 ;; should be default, but does not hurt
|
|
-DCONFIG_MBEDTLS_DYNAMIC_BUFFER=1 ;; optional - seems to move more buffers into PSRAM
|
|
;;${Speed_Flags.build_flags_V4} ;; optimize for speed instead of size --> over 100% flash, but works with 256KB filesystem (alternative partitions file)
|
|
-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
|
|
-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 CONFIG_ESP32_REV_MIN=3 ;; disables PSRAM bug workarounds in the core, reducing the code size and improving overall performance.
|
|
-D WLED_RELEASE_NAME=esp32_4MB_PSRAM_REV3_S
|
|
-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_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 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
|
|
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)
|
|
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# esp32-S3 environments
|
|
# ------------------------------------------------------------------------------
|
|
[env:esp32S3_4MB_S] ;; Use for HD-WF2
|
|
extends = esp32_4MB_V4_M_base
|
|
board = esp32-s3-devkitc-1
|
|
build_unflags =
|
|
-D USERMOD_DALLASTEMPERATURE ;; disabled because it hangs during usermod setup on -S3 (autodetect broken?)
|
|
-D USE_ALT_DISPLAY ;; four line display seems to have problems with I2C - it hangs during usermod setup
|
|
-D USERMOD_FOUR_LINE_DISPLAY ;; see above
|
|
-D USERMOD_ROTARY_ENCODER_UI ;; see above
|
|
-D WLED_ENABLE_DMX ;; disabled because it does not work with ESP-IDF 4.4.x (buggy driver in SparkFunDMX)
|
|
|
|
build_flags = ${common.build_flags} ${esp32s3.build_flags} -Wno-misleading-indentation -Wno-format-truncation
|
|
${common_mm.build_flags_S}
|
|
${common_mm.HUB75_build_flags}
|
|
${common_mm.animartrix_build_flags}
|
|
-D WLED_RELEASE_NAME=esp32S3_4MB_S
|
|
-DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT=0 -DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=0 ;; for Serial-to-USB chip
|
|
;;-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 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)
|
|
-D WLED_WATCHDOG_TIMEOUT=0 -D CONFIG_ASYNC_TCP_USE_WDT=0
|
|
${common_mm.build_disable_sync_interfaces}
|
|
-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
|
|
; -D WLED_DEBUG
|
|
; -D SR_DEBUG
|
|
lib_deps = ${esp32s3.lib_deps} ${common_mm.lib_deps_S}
|
|
${common_mm.HUB75_lib_deps}
|
|
${common_mm.animartrix_lib_deps}
|
|
|
|
|
|
[env:esp32S3_8MB_M]
|
|
extends = esp32_4MB_V4_M_base
|
|
board = esp32-s3-devkitc-1
|
|
build_unflags =
|
|
-D USERMOD_DALLASTEMPERATURE ;; disabled because it hangs during usermod setup on -S3 (autodetect broken?)
|
|
-D USE_ALT_DISPLAY ;; four line display seems to have problems with I2C - it hangs during usermod setup
|
|
-D USERMOD_FOUR_LINE_DISPLAY ;; see above
|
|
-D USERMOD_ROTARY_ENCODER_UI ;; see above
|
|
-D WLED_ENABLE_DMX ;; disabled because it does not work with ESP-IDF 4.4.x (buggy driver in SparkFunDMX)
|
|
|
|
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.HUB75_build_flags}
|
|
${common_mm.animartrix_build_flags}
|
|
; -DBOARD_HAS_PSRAM -D WLED_USE_PSRAM_JSON -D WLED_USE_PSRAM ;; un-comment in case your board supports PSRAM
|
|
;; -D WLED_USE_PSRAM_JSON -DALL_JSON_TO_PSRAM ; WLEDMM --> force all JSON stuff into PSRAM; gives more free heap
|
|
-D WLED_RELEASE_NAME=esp32S3_8MB_M
|
|
-DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT=0 -DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=0 ;; for Serial-to-USB chip
|
|
;;-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 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)
|
|
-D WLED_WATCHDOG_TIMEOUT=0 -D CONFIG_ASYNC_TCP_USE_WDT=0
|
|
; -D U8X8_HAVE_2ND_HW_I2C ;; experimental - tells U8g2 lib that a second HW I2C unit exists
|
|
-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 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
|
|
-D BTNPIN=48
|
|
-D RLYPIN=21
|
|
-D IRPIN=15
|
|
-D HW_PIN_SDA=42 ;; ESP32-S3 default: SDA = 8
|
|
-D HW_PIN_SCL=41 ;; ESP32-S3 default: SCL = 9
|
|
-D AUDIOPIN=-1
|
|
-D SR_DMTYPE=1 -D I2S_SDPIN=16 -D I2S_CKPIN=17 -D I2S_WSPIN=47 -D MCLK_PIN=40
|
|
-D ES7243_SDAPIN=8 -D ES7243_SCLPIN=18
|
|
; -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}
|
|
${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
|
|
board_build.flash_mode = qio
|
|
; RAM: [=== ] 25.4% (used 83320 bytes from 327680 bytes)
|
|
; 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)
|
|
[env:esp32S3_8MB_PSRAM_M]
|
|
extends = esp32_4MB_V4_M_base
|
|
|
|
board = esp32-s3-devkitc-1 ;; generic S3 dev board; the next line adds PSRAM support
|
|
board_build.arduino.memory_type = qio_opi ;; use with PSRAM: 8MB or 16MB
|
|
;; board_build.arduino.memory_type = qio_qspi ;; use with PSRAM: 2MB or 4MB
|
|
board_build.flash_mode = qio ;; use "dio" if your board gets unstable with "qio"; also change then previous lines accordingly (memory_type)
|
|
|
|
build_unflags = ${env:esp32S3_8MB_M.build_unflags} ;; use the same as "normal" S3 buildenv
|
|
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.HUB75_build_flags}
|
|
-DBOARD_HAS_PSRAM ;; -D WLED_USE_PSRAM ;; your board supports PSRAM
|
|
-D WLED_USE_PSRAM_JSON -DALL_JSON_TO_PSRAM ; WLEDMM --> force all JSON stuff into PSRAM; gives more free heap
|
|
-D WLED_RELEASE_NAME=esp32S3_8MB_PSRAM_M
|
|
-DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT=0 -DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=0 ;; for Serial-to-USB chip
|
|
;;-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 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)
|
|
-D WLED_WATCHDOG_TIMEOUT=0 -D CONFIG_ASYNC_TCP_USE_WDT=0
|
|
;;-D WLEDMM_FASTPATH ; WLEDMM experimental option. Reduces audio lag (latency), and allows for faster LED framerates. May break compatibility with previous versions.
|
|
-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 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
|
|
-D BTNPIN=0 -D RLYPIN=1 -D IRPIN=-1
|
|
-D HW_PIN_SDA=42 -D HW_PIN_SCL=41
|
|
-D AUDIOPIN=-1
|
|
-D SR_DMTYPE=1 -D I2S_SDPIN=14 -D I2S_CKPIN=45 -D I2S_WSPIN=47 -D MCLK_PIN=46
|
|
;;-D ES7243_SDAPIN=8 -D ES7243_SCLPIN=18
|
|
; -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}
|
|
${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]
|
|
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"
|
|
build_unflags = ${env:esp32S3_8MB_M.build_unflags} ;; use the same as "normal" S3 buildenv
|
|
${Speed_Flags.build_unflags} ;; to override -Os
|
|
build_flags = ${common.build_flags} ${esp32s3.build_flags} -Wno-misleading-indentation -Wno-format-truncation
|
|
${common_mm.build_flags_S}
|
|
-D WLED_RELEASE_NAME=esp32S3_8MB_S
|
|
-DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT=0 -DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=0 ;; for Serial-to-USB chip
|
|
;;-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 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.animartrix_build_flags}
|
|
-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
|
|
-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 LEDPIN=4
|
|
;-D STATUSLED=39
|
|
-D BTNPIN=48
|
|
-D RLYPIN=21
|
|
-D IRPIN=15
|
|
-D HW_PIN_SDA=42 ;; ESP32-S3 default: SDA = 8
|
|
-D HW_PIN_SCL=41 ;; ESP32-S3 default: SCL = 9
|
|
-D AUDIOPIN=-1
|
|
-D SR_DMTYPE=1 -D I2S_SDPIN=16 -D I2S_CKPIN=17 -D I2S_WSPIN=47 -D MCLK_PIN=40
|
|
-D ES7243_SDAPIN=8 -D ES7243_SCLPIN=18
|
|
; -D WLED_DEBUG
|
|
; -D SR_DEBUG
|
|
; -D MIC_LOGGER
|
|
lib_deps = ${esp32s3.lib_deps} ${common_mm.lib_deps_S}
|
|
${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)
|
|
|
|
|
|
;; for S3 with 16MB flash, octal PSRAM,
|
|
;; MOONHUB HUB75 adapter board
|
|
[env:esp32S3_16MB_PSRAM_M_HUB75]
|
|
extends = env:esp32S3_8MB_PSRAM_M
|
|
board = lilygo-t7-s3
|
|
board_build.arduino.memory_type = qio_opi
|
|
board_build.flash_mode = qio
|
|
|
|
build_unflags = ${env:esp32S3_8MB_PSRAM_M.build_unflags}
|
|
-D WLED_RELEASE_NAME=esp32S3_8MB_M
|
|
-D LEDPIN=21
|
|
${Speed_Flags.build_unflags} ;; to override -Os
|
|
|
|
build_flags = ${common.build_flags} ${esp32s3.build_flags} -Wno-misleading-indentation -Wno-format-truncation
|
|
${common_mm.build_flags_S} ${common_mm.build_flags_M}
|
|
${Speed_Flags.build_flags_V4} ;; optimize for speed
|
|
${common_mm.HUB75_build_flags}
|
|
-D MOONHUB_S3_PINOUT ;; HUB75 pinout
|
|
${common_mm.animartrix_build_flags}
|
|
-D WLED_RELEASE_NAME=esp32S3_16MB_PSRAM_M_HUB75
|
|
-D WLEDMM_FASTPATH
|
|
-D WLED_DISABLE_BROWNOUT_DET
|
|
;; -D JSON_BUFFER_SIZE=18432 ;; default 54000
|
|
-D MIN_HEAP_SIZE=6144 ;; default 8192
|
|
-D MAX_SEGMENT_DATA=40960 ;; default 32767
|
|
-DBOARD_HAS_PSRAM ;; -D WLED_USE_PSRAM ;; your board supports PSRAM
|
|
-D WLED_USE_PSRAM_JSON -DALL_JSON_TO_PSRAM ; WLEDMM --> force all JSON stuff into PSRAM; gives more free heap
|
|
-DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT=0 -DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=0 ;; for Serial-to-USB chip
|
|
;; -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 WLED_WATCHDOG_TIMEOUT=0 -D CONFIG_ASYNC_TCP_USE_WDT=0
|
|
;; -DUSERMOD_BATTERY_MEASUREMENT_PIN=2 ;; battery voltage pin
|
|
;; -D STATUSLED=17 ;; onboard LED
|
|
-D LEDPIN=14 -D BTNPIN=0 -D RLYPIN=15 -D IRPIN=-1 -D AUDIOPIN=-1 ;; defaults that avoid pin conflicts with HUB75
|
|
-D SR_DMTYPE=1 -D I2S_SDPIN=10 -D I2S_CKPIN=11 -D I2S_WSPIN=12 -D MCLK_PIN=-1 ;; I2S mic
|
|
|
|
lib_deps = ${esp32s3.lib_deps} ${common_mm.lib_deps_S} ${common_mm.lib_deps_V4_M}
|
|
${common_mm.HUB75_lib_deps}
|
|
${common_mm.animartrix_lib_deps}
|
|
;lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation
|
|
|
|
board_build.partitions = ${esp32.extreme_partitions}
|
|
board_upload.flash_size = 16MB
|
|
board_upload.maximum_size =16777216
|
|
; RAM: [== ] 19.0% (used 62332 bytes from 327680 bytes)
|
|
; Flash: [====== ] 57.7% (used 1813585 bytes from 3145728 bytes)
|
|
|
|
|
|
;; MM for ESP32-S3 WROOM-2, a.k.a. ESP32-S3 DevKitC-1 v1.1
|
|
;; with >= 16MB FLASH and >= 8MB PSRAM (memory_type: opi_opi)
|
|
;; includes HUB75 and AnimArtix
|
|
[env:esp32S3_WROOM-2_M]
|
|
extends = env:esp32S3_8MB_PSRAM_M
|
|
board_build.flash_mode = dout ;; dummy value - bootloader will switch to "opi"
|
|
board_build.arduino.memory_type = opi_opi
|
|
board = esp32s3camlcd ;; this is the only standard board with "opi_opi"
|
|
board_upload.flash_size = 16MB
|
|
board_upload.maximum_size =16777216
|
|
board_build.partitions = ${esp32.extreme_partitions}
|
|
build_unflags = ${env:esp32S3_8MB_PSRAM_M.build_unflags}
|
|
-D WLED_RELEASE_NAME=esp32S3_8MB_M
|
|
-D LEDPIN=21
|
|
${Speed_Flags.build_unflags} ;; to override -Os
|
|
build_flags = ${common.build_flags} ${esp32s3.build_flags} -Wno-misleading-indentation -Wno-format-truncation
|
|
${common_mm.build_flags_S} ${common_mm.build_flags_M}
|
|
${Speed_Flags.build_flags_V4} ;; optimize for speed
|
|
${common_mm.HUB75_build_flags}
|
|
${common_mm.animartrix_build_flags}
|
|
-D WLED_RELEASE_NAME=esp32S3_WROOM-2_M
|
|
-D WLEDMM_FASTPATH
|
|
-DBOARD_HAS_PSRAM ;; -D WLED_USE_PSRAM ;; your board supports PSRAM
|
|
-D WLED_USE_PSRAM_JSON -DALL_JSON_TO_PSRAM ; WLEDMM --> force all JSON stuff into PSRAM; gives more free heap
|
|
-DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT=0 -DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=0 ;; for Serial-to-USB chip
|
|
;;-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 WLED_WATCHDOG_TIMEOUT=0 -D CONFIG_ASYNC_TCP_USE_WDT=0
|
|
;; -D LEDPIN=38 ;; buildin LED
|
|
;; -D BTNPIN=0 -D RLYPIN=16 -D IRPIN=17 -D AUDIOPIN=-1
|
|
-D LEDPIN=12 -D BTNPIN=0 -D RLYPIN=-1 -D IRPIN=-1 -D AUDIOPIN=-1 ;; to avoid pin conflict with HUB75
|
|
-D SR_DMTYPE=1 -D I2S_SDPIN=13 -D I2S_CKPIN=14 -D I2S_WSPIN=15 -D MCLK_PIN=4 ;; I2S mic
|
|
lib_deps = ${esp32s3.lib_deps} ${common_mm.lib_deps_S} ${common_mm.lib_deps_V4_M}
|
|
${common_mm.HUB75_lib_deps}
|
|
${common_mm.animartrix_lib_deps}
|
|
|
|
;; 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
|
|
-DBOARD_HAS_PSRAM ;; -D WLED_USE_PSRAM
|
|
-D WLED_USE_PSRAM_JSON -DALL_JSON_TO_PSRAM ; WLEDMM --> force all JSON stuff into PSRAM; gives more free heap
|
|
-DCONFIG_MBEDTLS_DYNAMIC_BUFFER=1 ;; optional - allows some buffers to use PSRAM
|
|
-DLOLIN_WIFI_FIX -DWLEDMM_WIFI_POWERON_HACK ;; seems to work much better with this
|
|
-DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT=0 -DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=1 ;; for Serial-to-USB chip
|
|
;;-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 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.
|
|
-D WLEDMM_SAVE_FLASH
|
|
${common_mm.animartrix_build_flags}
|
|
-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
|
|
-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 LEDPIN=21
|
|
-D BTNPIN=-1 -D RLYPIN=-1 -D IRPIN=-1
|
|
-D HW_PIN_SDA=12 -D HW_PIN_SCL=13
|
|
-D AUDIOPIN=-1
|
|
-D SR_DMTYPE=1 -D I2S_SDPIN=5 -D I2S_WSPIN=6 -D I2S_CKPIN=4 -D MCLK_PIN=7
|
|
; -D WLED_DEBUG
|
|
; -D SR_DEBUG
|
|
; -D MIC_LOGGER
|
|
lib_ignore =
|
|
IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation
|
|
; 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}
|
|
-D WLED_RELEASE_NAME=esp32S3_4MB_M
|
|
-DBOARD_HAS_PSRAM ;; -D WLED_USE_PSRAM
|
|
-D WLED_USE_PSRAM_JSON -DALL_JSON_TO_PSRAM ; WLEDMM --> force all JSON stuff into PSRAM; gives more free heap
|
|
-DCONFIG_MBEDTLS_DYNAMIC_BUFFER=1 ;; optional - allows some buffers to use PSRAM
|
|
-DLOLIN_WIFI_FIX -DWLEDMM_WIFI_POWERON_HACK ;; seems to work much better with this
|
|
-DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT=0 -DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=1 ;; for Serial-to-USB chip
|
|
;;-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 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}
|
|
-D LEDPIN=21
|
|
-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_ALEXA ; RAM 116 bytes; FLASH 13524 bytes
|
|
;; -D WLED_DISABLE_MQTT ; RAM 216 bytes; FLASH 16496 bytes
|
|
-D WLEDMM_SAVE_FLASH
|
|
; -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: [== ] 20.6% (used 67532 bytes from 327680 bytes)
|
|
; Flash: [==========] 98.4% (used 1547445 bytes from 1572864 bytes)
|
|
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# esp32-S2 environments
|
|
# ------------------------------------------------------------------------------
|
|
|
|
|
|
;; MM for Adafruit QT Py ESP32-S2 -> 4MB flash, PSRAM, and tinyUF2 bootloader
|
|
;; to ewowi - i'll optimize this entry later, as a few things can be inherited for sure. To softhack: sure ;-)
|
|
[env:esp32s2_tinyUF2_PSRAM_S]
|
|
extends = esp32_4MB_V4_S_base
|
|
platform = ${esp32s2.platform} ;; using 5.2.0, due to massive connectivity problems on -S2 with 5.3.0
|
|
platform_packages = ${esp32s2.platform_packages}
|
|
|
|
board = adafruit_qtpy_esp32s2
|
|
board_build.partitions = tools/partitions-4MB_spiffs-tinyuf2.csv ;; this is needed for tinyUF2 bootloader! Filename has to end in "tinyuf2.csv"
|
|
board_build.f_flash = 80000000L
|
|
board_build.flash_mode = qio
|
|
upload_speed = 256000 ;; 921600
|
|
build_unflags = ${common.build_unflags}
|
|
-D USERMOD_DALLASTEMPERATURE ;; disabled because it hangs during usermod setup on -S3 (autodetect broken?)
|
|
-D WLED_ENABLE_DMX ;; disabled because it does not work with ESP-IDF 4.4.x (buggy driver in SparkFunDMX)
|
|
-D WLED_ENABLE_DMX_INPUT ;; needs more testing
|
|
-DWLEDMM_FASTPATH ;; needs more testing on -S2
|
|
-DUSERMOD_RTC
|
|
-D WLED_ENABLE_HUB75MATRIX
|
|
|
|
build_flags = ${common.build_flags} ${esp32s2.build_flags}
|
|
; ${Debug_Flags.build_flags} ;ewowi: enabling debug causes Error: The program size (1463330 bytes) is greater than maximum allowed (1441792 bytes)
|
|
-D WLED_WATCHDOG_TIMEOUT=0 -D CONFIG_ASYNC_TCP_USE_WDT=0
|
|
${common_mm.build_flags_S}
|
|
-Wno-misleading-indentation -Wno-format-truncation
|
|
-DCONFIG_MBEDTLS_DYNAMIC_BUFFER=1 ;; optional - allows some buffers to use PSRAM
|
|
-D WLED_RELEASE_NAME=esp32S2_4MB_UF2_S
|
|
-DARDUINO_USB_CDC_ON_BOOT=1 ;; mandatory, otherwise USB does not work!!
|
|
-D WLED_DISABLE_ADALIGHT ;; disables serial protocols when using CDC USB (Serial RX will receive junk commands, unless its pulled down by resistor)
|
|
-DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=0
|
|
-D SERVERNAME='"WLED-S2"'
|
|
-DBOARD_HAS_PSRAM ;; -D WLED_USE_PSRAM
|
|
-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 WLEDMM_SAVE_FLASH
|
|
-D LEDPIN=39 ;; onboard neopixel LED. Attach your own LEDs to GPIO 7 or GPIO 6
|
|
-D BTNPIN=0
|
|
;-D RLYPIN=6
|
|
;-D IRPIN=7
|
|
-D HW_PIN_SCL=40 -D HW_PIN_SDA=41
|
|
-D HW_PIN_MOSISPI=35 ;WLEDMM renamed from HW_PIN_DATASPI
|
|
-D HW_PIN_CLOCKSPI=36
|
|
-D HW_PIN_MISOSPI=37
|
|
-D AUDIOPIN=-1
|
|
-D SR_DMTYPE=1 -D I2S_SDPIN=9 -D I2S_WSPIN=8 -D I2S_CKPIN=17 -D MCLK_PIN=18
|
|
;-D STATUSLED=-1
|
|
-D WLED_USE_MY_CONFIG
|
|
lib_deps = ${esp32s2.lib_deps} ${common_mm.lib_deps_S}
|
|
lib_ignore =
|
|
IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation
|
|
OneWire ; not needed as we don't include USERMOD_DALLASTEMPERATURE
|
|
monitor_filters = esp32_exception_decoder
|
|
; RAM: [== ] 21.5% (used 70448 bytes from 327680 bytes)
|
|
; Flash: [==========] 99.4% (used 1432846 bytes from 1441792 bytes)
|
|
|
|
;; MM environment for generic ESP32-S2, with PSRAM, 4MB flash (300kB filesystem to have more program space)
|
|
;; PINs assignments optimized for use with serg74 "mini shield"
|
|
[env:esp32s2_PSRAM_M]
|
|
extends = esp32_4MB_V4_M_base
|
|
platform = ${esp32s2.platform} ;; using 5.2.0, due to massive connectivity problems on -S2 with 5.3.0
|
|
platform_packages = ${esp32s2.platform_packages}
|
|
|
|
board = lolin_s2_mini
|
|
board_build.partitions = ${esp32.extended_partitions} ;; 1.65MB firmware, 700KB filesystem (esptool erase_flash needed when changing from "standard WLED" partitions)
|
|
board_build.flash_mode = dio
|
|
upload_speed = 256000 ;; 921600
|
|
build_unflags = ${common.build_unflags}
|
|
-DARDUINO_USB_CDC_ON_BOOT=1
|
|
-DARDUINO_USB_DFU_ON_BOOT=0
|
|
-D USERMOD_DALLASTEMPERATURE ;; disabled because it hangs during usermod setup on -S3 (autodetect broken?)
|
|
-D WLED_ENABLE_DMX ;; disabled because it does not work with ESP-IDF 4.4.x (buggy driver in SparkFunDMX)
|
|
-D WLED_ENABLE_DMX_INPUT ;; needs more testing
|
|
-D WLED_ENABLE_HUB75MATRIX
|
|
build_flags = ${common.build_flags} ${esp32s2.build_flags}
|
|
;; ${Debug_Flags.build_flags}
|
|
-D WLED_WATCHDOG_TIMEOUT=0 -D CONFIG_ASYNC_TCP_USE_WDT=0
|
|
${common_mm.build_flags_S} ${common_mm.build_flags_M}
|
|
-Wno-misleading-indentation -Wno-format-truncation
|
|
-D WLED_RELEASE_NAME=esp32s2_4MB_M
|
|
-DBOARD_HAS_PSRAM ;; -D WLED_USE_PSRAM
|
|
-D WLED_USE_PSRAM_JSON -DALL_JSON_TO_PSRAM ; WLEDMM --> force all JSON stuff into PSRAM; gives more free heap
|
|
-DLOLIN_WIFI_FIX -DWLEDMM_WIFI_POWERON_HACK ;; seems to work much better with this
|
|
-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 AUDIOPIN=-1
|
|
-D BTNPIN=-1 -D IRPIN=-1
|
|
-D LEDPIN=16 ;; second led pin = 18
|
|
-D HW_PIN_SCL=35 -D HW_PIN_SDA=33
|
|
-D RLYPIN=9
|
|
;; -D HW_PIN_MOSISPI=11 -D HW_PIN_CLOCKSPI=7 -D HW_PIN_MISOSPI=9 ;; 9 already in use for RELAY, 7 for IR
|
|
-D SR_DMTYPE=1 -D I2S_SDPIN=34 -D I2S_CKPIN=14 -D I2S_WSPIN=17 -D MCLK_PIN=-1 ;; recommended for mini shield
|
|
;; -D FFTTASK_PRIORITY=2 ;; useful for testing FFT timing. reduces audio latency, but makes effects slower.
|
|
;; -D STATUSLED=15
|
|
-D WLED_USE_MY_CONFIG
|
|
lib_deps = ${esp32s2.lib_deps} ${common_mm.lib_deps_S} ${common_mm.lib_deps_V4_M}
|
|
lib_ignore =
|
|
IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation
|
|
OneWire ; not needed as we don't include USERMOD_DALLASTEMPERATURE
|
|
${common_mm.HUB75_lib_ignore}
|
|
${common_mm.DMXin_lib_ignore}
|
|
monitor_filters = esp32_exception_decoder
|
|
; RAM: [== ] 20.5% (used 67256 bytes from 327680 bytes)
|
|
; Flash: [========= ] 93.3% (used 1590266 bytes from 1703936 bytes)
|
|
|
|
[env:esp32s2_PSRAM_S]
|
|
extends = env:esp32s2_PSRAM_M
|
|
board_build.partitions = ${esp32.default_partitions} ;; 1.55MB firmware, 1MB filesystem
|
|
build_unflags = ${env:esp32s2_PSRAM_M.build_unflags}
|
|
-DWLED_DISABLE_ADALIGHT
|
|
-D WLED_RELEASE_NAME=esp32s2_4MB_M
|
|
-DUSE_ALT_DISPLAY
|
|
-DUSERMOD_FOUR_LINE_DISPLAY
|
|
-DUSERMOD_ROTARY_ENCODER_UI
|
|
-DUSERMOD_ANIMARTRIX
|
|
;; -DUSERMOD_ARTIFX ;; uncomment to reduce flash size
|
|
build_flags = ${env:esp32s2_PSRAM_M.build_flags}
|
|
-D WLED_RELEASE_NAME=esp32s2_4MB_S
|
|
lib_deps = ${env:esp32s2_PSRAM_M.lib_deps}
|
|
lib_ignore = ${env:esp32s2_PSRAM_M.lib_ignore}
|
|
U8g2
|
|
${common_mm.animartrix_lib_ignore}
|
|
; RAM: [== ] 20.4% (used 66792 bytes from 327680 bytes)
|
|
; Flash: [========= ] 94.8% (used 1490390 bytes from 1572864 bytes)
|
|
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# esp32-C3 environments
|
|
# ------------------------------------------------------------------------------
|
|
|
|
|
|
;; MM environment for generic ESP32-C3 -> 4MB flash, no PSRAM
|
|
[env:esp32c3dev_4MB_M]
|
|
extends = esp32_4MB_V4_S_base
|
|
;board_build.flash_mode = dout
|
|
platform = ${esp32.platformV4}
|
|
platform_packages = ${esp32.platformV4_packages}
|
|
board_build.flash_mode = qio
|
|
board = esp32-c3-devkitm-1
|
|
;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_2MB_noOTA.csv ;; use this for boards with 2MB flash (like some Ai-Thinker ESP32-C3-12F models)
|
|
upload_speed = 230400 ;; 460800 ;; 256000 ;; 921600
|
|
|
|
build_unflags = ${common.build_unflags}
|
|
-D USERMOD_DALLASTEMPERATURE ;; disabled because it hangs during usermod setup on -S2 (autodetect broken?)
|
|
-D USE_ALT_DISPLAY ;; four line display seems to have problems with I2C - it hangs during usermod setup
|
|
-D USERMOD_FOUR_LINE_DISPLAY ;; see above
|
|
-D USERMOD_ROTARY_ENCODER_UI ;; see above
|
|
-D WLED_ENABLE_DMX ;; disabled because it does not work with ESP-IDF 4.4.x (buggy driver in SparkFunDMX)
|
|
-D WLED_ENABLE_DMX_INPUT ;; needs more testing
|
|
;-D WLED_DEBUG_HOST='"192.168.x.x"' ;; to disable net print
|
|
-D USERMOD_ANIMARTRIX ;; Tips our memory usage over the limit
|
|
-DUSERMOD_ARTIFX ;; over the limit
|
|
-DWLEDMM_FASTPATH ;; needs more testing on -C3
|
|
|
|
build_flags = ${common.build_flags} ${esp32c3.build_flags}
|
|
; -D WLED_DISABLE_OTA ;; OTA is not possible for boards with 2MB flash only (like some Ai-Thinker ESP32-C3-12F models)
|
|
-D WLED_WATCHDOG_TIMEOUT=0 -D CONFIG_ASYNC_TCP_USE_WDT=0
|
|
${common_mm.build_flags_S} ${common_mm.build_flags_M}
|
|
-Wno-misleading-indentation -Wno-format-truncation
|
|
-D WLED_RELEASE_NAME=esp32c3dev_4MB_M
|
|
; -D WLED_DISABLE_BROWNOUT_DET
|
|
; -DARDUINO_USB_CDC_ON_BOOT=1 ;; enable CDC USB -> needed for debugging over serial USB
|
|
-D WLED_DISABLE_ADALIGHT ;; to disable serial protocols for boards with CDC USB (Serial RX will receive junk commands, unless its pulled down by resistor)
|
|
-DARDUINO_USB_CDC_ON_BOOT=0 ;; disable CDC USB
|
|
-D SERVERNAME='"WLED-C3"'
|
|
-D WLEDMM_WIFI_POWERON_HACK -DLOLIN_WIFI_FIX ;; use this _only_ if your device is not able to make a WiFI connection!
|
|
;-D WLED_DISABLE_INFRARED ;; save flash space
|
|
;-D WLED_DISABLE_ALEXA ;; save flash space
|
|
-D WLEDMM_SAVE_FLASH
|
|
-D LEDPIN=8 ;; onboard neopixel 5x5 Matrix. Attach your own LEDs to GPIO 20
|
|
-D BTNPIN=9
|
|
; -D STATUSLED=10 ;; onboard LED
|
|
-D RLYPIN=-1 -D IRPIN=-1
|
|
;-D HW_PIN_SDA=0 -D HW_PIN_SCL=1 ;; for I2C Qwiic connector
|
|
-D SR_DMTYPE=1 -D I2S_SDPIN=5 -D I2S_WSPIN=6 -D I2S_CKPIN=4 -D MCLK_PIN=7
|
|
; -D WLED_USE_MY_CONFIG
|
|
|
|
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
|
|
OneWire ; not needed as we don't include USERMOD_DALLASTEMPERATURE
|
|
U8g2 ; not needed as we don't include USERMOD_FOUR_LINE_DISPLAY
|
|
; RAM: [== ] 24.6% (used 80732 bytes from 327680 bytes)
|
|
; Flash: [==========] 97.5% (used 1533360 bytes from 1572864 bytes)
|
|
;; MM environment for ESP32-C3 "mini" and "super mini" -> flash mode "dio" instead of "qio" (see #101)
|
|
[env:esp32c3mini_dio_4MB_M]
|
|
extends = env:esp32c3dev_4MB_M
|
|
board = lolin_c3_mini
|
|
board_build.flash_mode = dio ;; some super-mini boards are unstable with "qio" mode
|
|
;; board_build.partitions = tools/WLED_ESP32_4MB_256KB_FS.csv ;; optional: 1.8MB firmware, 256KB filesystem (esptool erase_flash needed when changing from "standard WLED" partitions)
|
|
;;; replace WLED_RELEASE_NAME, disable CDC_ON_BOOT
|
|
build_unflags = ${env:esp32c3dev_4MB_M.build_unflags}
|
|
-DARDUINO_USB_CDC_ON_BOOT=1
|
|
-D WLED_RELEASE_NAME=esp32c3dev_4MB_M
|
|
build_flags = ${env:esp32c3dev_4MB_M.build_flags}
|
|
-DARDUINO_USB_CDC_ON_BOOT=0
|
|
-D WLED_RELEASE_NAME=esp32c3mini_dio_4MB_M
|
|
-D WLED_DISABLE_BROWNOUT_DET ;; the board only has a 500mA LDO, better to disable brownout detection
|
|
-D WLED_DISABLE_ADALIGHT ;; to disable serial protocols for boards with CDC USB (Serial RX will receive junk commands, unless its pulled down by resistor)
|
|
-D HW_PIN_SDA=0 -D HW_PIN_SCL=1 ;; avoid pin conflicts
|
|
; RAM: [== ] 24.6% (used 80556 bytes from 327680 bytes)
|
|
; Flash: [==========] 97.3% (used 1530346 bytes from 1572864 bytes)
|
|
|
|
[env:esp32c3dev_2MB_M]
|
|
extends = env:esp32c3dev_4MB_M
|
|
board = lolin_c3_mini
|
|
;;; replace WLED_RELEASE_NAME, disable CDC_ON_BOOT
|
|
build_unflags = ${env:esp32c3dev_4MB_M.build_unflags}
|
|
-DARDUINO_USB_CDC_ON_BOOT=1
|
|
-D WLED_RELEASE_NAME=esp32c3dev_4MB_M
|
|
|
|
;;; 2MB Flash, no OTA
|
|
board_build.partitions = tools/WLED_ESP32_2MB_noOTA.csv
|
|
board_build.flash_mode = dio
|
|
board_upload.flash_size = 2MB
|
|
board_upload.maximum_size = 2097152
|
|
|
|
build_flags = ${env:esp32c3dev_4MB_M.build_flags}
|
|
-D WLED_WATCHDOG_TIMEOUT=0
|
|
-D WLED_DISABLE_OTA
|
|
; -DARDUINO_USB_CDC_ON_BOOT=1 ;; for virtual CDC USB
|
|
-DARDUINO_USB_CDC_ON_BOOT=0 ;; for serial-to-USB chip
|
|
-D WLED_RELEASE_NAME=esp32c3dev_2MB_M
|
|
-D WLED_DISABLE_BROWNOUT_DET ;; the board only has a 500mA LDO, better to disable brownout detection
|
|
-D WLED_DISABLE_ADALIGHT ;; to disable serial protocols for boards with CDC USB (Serial RX will receive junk commands, unless its pulled down by resistor)
|
|
-D HW_PIN_SDA=0 -D HW_PIN_SCL=1 ;; avoid pin conflicts
|
|
|
|
; RAM: [== ] 24.0% (used 78676 bytes from 327680 bytes)
|
|
; Flash: [==========] 96.4% (used 1516068 bytes from 1572864 bytes)
|
|
|
|
;; MM environment for "seeed xiao -C3" boards
|
|
[env:seeed_esp32c3_4MB_S]
|
|
extends = env:esp32c3dev_4MB_M
|
|
board = seeed_xiao_esp32c3
|
|
platform = ${esp32.platformV4_pre} ;; standard IDF 4.4.1 platform - seems to work better for seeed xiao board
|
|
platform_packages = ${esp32.platformV4_packages_pre}
|
|
board_build.flash_mode = qio
|
|
upload_speed = 460800
|
|
build_unflags = ${env:esp32c3dev_4MB_M.build_unflags}
|
|
-DWLEDMM_FASTPATH ;; needs more testing on -C3
|
|
-D WLED_ENABLE_HUB75MATRIX ;; not enough pins
|
|
build_flags = ${common.build_flags} ${esp32c3.build_flags}
|
|
-D WLED_WATCHDOG_TIMEOUT=0 -D CONFIG_ASYNC_TCP_USE_WDT=0
|
|
${common_mm.build_flags_S} -Wno-misleading-indentation -Wno-format-truncation
|
|
-D WLED_RELEASE_NAME=seeed_esp32c3_4MB_S
|
|
-DARDUINO_USB_CDC_ON_BOOT=1 ;; enable CDC USB -> needed for debugging over serial USB
|
|
-D WLED_DISABLE_ADALIGHT ;; to disable serial protocols when using CDC USB (Serial RX pin will receive junk commands, unless its pulled down by resistor)
|
|
-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_WIFI_POWERON_HACK -DLOLIN_WIFI_FIX ;; use this _only_ if your device is not able to make a WiFI connection!
|
|
-D LEDPIN=3 ;; attach your LEDs to GPIO3 aka "D1" / "A1"
|
|
-D BTNPIN=9
|
|
-D RLYPIN=-1 -D IRPIN=-1
|
|
-D SR_DMTYPE=1
|
|
-D I2S_SDPIN=5 -D I2S_WSPIN=6 -D I2S_CKPIN=4 -D MCLK_PIN=7
|
|
-D WLED_USE_MY_CONFIG
|
|
;-D WLED_DEBUG -D SR_DEBUG
|
|
lib_deps = ${esp32c3.lib_deps} ${common_mm.lib_deps_S}
|
|
lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation
|
|
monitor_filters = esp32_exception_decoder
|
|
; RAM: [== ] 22.4% (used 73388 bytes from 327680 bytes)
|
|
; Flash: [========= ] 92.7% (used 1458598 bytes from 1572864 bytes)
|
|
# ------------------------------------------------------------------------------
|
|
# 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
|
|
pinout_build_flags =
|
|
-D ABL_MILLIAMPS_DEFAULT=9500 ; Wemos max 10A
|
|
-D LEDPIN=16
|
|
-D RLYPIN=19
|
|
-D BTNPIN=17
|
|
-D IRPIN=18
|
|
-D AUDIOPIN=-1
|
|
-D TEMPERATURE_PIN=23
|
|
-D FLD_PIN_SCL=-1 -D FLD_PIN_SDA=-1 ; use global!
|
|
-D HW_PIN_SCL=22 -D HW_PIN_SDA=21
|
|
-D HW_PIN_CLOCKSPI=-1 -D HW_PIN_MOSISPI=-1 -D HW_PIN_MISOSPI=-1 ; WLEDMM: is now also default but just to show we didn't agree on wemos pins for spi yet
|
|
-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 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 = ${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]
|
|
extends = wemos_shield_esp32_4MB_M_base
|
|
build_flags = ${wemos_shield_esp32_4MB_M_base.build_flags} ${common_mm.build_flags_XL}
|
|
lib_deps = ${wemos_shield_esp32_4MB_M_base.lib_deps} ${common_mm.lib_deps_XL}
|
|
|
|
[env:wemos_shield_esp32_4MB_S]
|
|
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: [=== ] 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
|
|
build_flags = ${wemos_shield_esp32_4MB_M_base.build_flags} ${Shield_ICS4343x.build_flags}
|
|
-D WLED_RELEASE_NAME=wemos_shield_esp32_4MB_ICS4343x_M
|
|
; RAM: [== ] 24.4% (used 79820 bytes from 327680 bytes)
|
|
; Flash: [========= ] 88.6% (used 1393421 bytes from 1572864 bytes)
|
|
|
|
[env:wemos_shield_esp32_4MB_SPM1423_M]
|
|
extends = wemos_shield_esp32_4MB_M_base
|
|
build_flags = ${wemos_shield_esp32_4MB_M_base.build_flags} ${Shield_SPM1423.build_flags}
|
|
-D WLED_RELEASE_NAME=wemos_shield_esp32_4MB_SPM1423_M
|
|
; RAM: [== ] 24.4% (used 79820 bytes from 327680 bytes)
|
|
; Flash: [========= ] 88.6% (used 1393421 bytes from 1572864 bytes)
|
|
|
|
[env:wemos_shield_esp32_4MB_LineIn_M]
|
|
extends = wemos_shield_esp32_4MB_M_base
|
|
build_unflags = ${common.build_unflags} ${Shield_LineIn.build_unflags}
|
|
build_flags = ${wemos_shield_esp32_4MB_M_base.build_flags} ${Shield_LineIn.build_flags}
|
|
-D WLED_RELEASE_NAME=wemos_shield_esp32_4MB_LineIn_M
|
|
|
|
[env:wemos_shield_esp32_16MB_S]
|
|
extends = wemos_shield_esp32_4MB_S_base
|
|
build_flags = ${wemos_shield_esp32_4MB_S_base.build_flags}
|
|
-D WLED_RELEASE_NAME=wemos_shield_esp32_16MB_S
|
|
board = esp32_16MB
|
|
board_build.partitions = tools/WLED_ESP32_16MB.csv ;; WLED standard for 16MB flash: 2MB firmware, 12 MB filesystem
|
|
|
|
[env:wemos_shield_esp32_16MB_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_16MB_M
|
|
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
|
|
;board_build.flash_mode = qio
|
|
; RAM: [== ] 24.4% (used 79820 bytes from 327680 bytes)
|
|
; Flash: [======= ] 66.4% (used 1393421 bytes from 2097152 bytes)
|
|
|
|
[env:wemos_shield_esp32_16MB_ICS4343x_M]
|
|
extends = wemos_shield_esp32_4MB_M_base
|
|
build_flags = ${wemos_shield_esp32_4MB_M_base.build_flags} ${Shield_ICS4343x.build_flags}
|
|
-D WLED_RELEASE_NAME=wemos_shield_esp32_16MB_ICS4343x_M
|
|
board = esp32_16MB
|
|
board_build.partitions = tools/WLED_ESP32_16MB.csv
|
|
; RAM: [== ] 24.4% (used 79820 bytes from 327680 bytes)
|
|
; Flash: [========= ] 88.6% (used 1393421 bytes from 1572864 bytes)
|
|
|
|
[env:wemos_shield_esp32_16MB_ICS4343x_XL]
|
|
extends = wemos_shield_esp32_4MB_XL_base
|
|
build_flags = ${wemos_shield_esp32_4MB_XL_base.build_flags} ${Shield_ICS4343x.build_flags}
|
|
-D WLED_RELEASE_NAME=wemos_shield_esp32_16MB_ICS4343x_XL
|
|
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 80044 bytes from 327680 bytes)
|
|
; Flash: [======= ] 67.9% (used 1424185 bytes from 2097152 bytes)
|
|
|
|
[env:wemos_shield_esp32_16MB_SPM1423_M]
|
|
extends = wemos_shield_esp32_4MB_M_base
|
|
build_flags = ${wemos_shield_esp32_4MB_M_base.build_flags} ${Shield_SPM1423.build_flags}
|
|
-D WLED_RELEASE_NAME=wemos_shield_esp32_16MB_SPM1423_M
|
|
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 79820 bytes from 327680 bytes)
|
|
; Flash: [========= ] 88.6% (used 1393421 bytes from 1572864 bytes)
|
|
|
|
[env:wemos_shield_esp32_16MB_SPM1423_XL]
|
|
extends = wemos_shield_esp32_4MB_XL_base
|
|
build_flags = ${wemos_shield_esp32_4MB_XL_base.build_flags} ${Shield_SPM1423.build_flags}
|
|
-D WLED_RELEASE_NAME=wemos_shield_esp32_16MB_SPM1423_XL
|
|
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 79820 bytes from 327680 bytes)
|
|
; Flash: [========= ] 88.6% (used 1393421 bytes from 1572864 bytes)
|
|
|
|
[env:wemos_shield_esp32_16MB_LineIn_M]
|
|
extends = wemos_shield_esp32_4MB_M_base
|
|
build_unflags = ${common.build_unflags} ${Shield_LineIn.build_unflags}
|
|
build_flags = ${wemos_shield_esp32_4MB_M_base.build_flags} ${Shield_LineIn.build_flags}
|
|
-D WLED_RELEASE_NAME=wemos_shield_esp32_16MB_LineIn_M
|
|
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
|
|
build_unflags = ${common.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
|
|
build_flags = ${esp32_4MB_M_base.build_flags}
|
|
${Athom_PDMmic.build_flags}
|
|
-D WLED_AP_SSID_UNIQUE
|
|
-D WLED_RELEASE_NAME=athom_music_esp32_4MB_M
|
|
-D ABL_MILLIAMPS_DEFAULT=14500 ; max 15A
|
|
; -D WLED_DISABLE_MQTT
|
|
-D WLED_DISABLE_LOXONE
|
|
-D WLED_DISABLE_ADALIGHT ;to get 4ld working
|
|
-D BTNPIN=0 -D RLYPIN=2 -D IRPIN=25 -D IRTYPE=9 -D LEDPIN=18
|
|
-D AUDIOPIN=-1
|
|
; -D TEMPERATURE_PIN=23
|
|
-D FLD_PIN_SCL=-1 -D FLD_PIN_SDA=-1 ; use global!
|
|
-D HW_PIN_SCL=3 -D HW_PIN_SDA=1 ;4ld uses rx and tx
|
|
-D HW_PIN_CLOCKSPI=-1 -D HW_PIN_MOSISPI=-1 -D HW_PIN_MISOSPI=-1 ; WLEDMM: is now also default but just to show we didn't agree on wemos pins for spi yet
|
|
; -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 PIR_SENSOR_PIN=-1
|
|
; -D PWM_PIN=-1
|
|
; -D WLED_USE_MY_CONFIG
|
|
-D WLEDMM_SAVE_FLASH
|
|
; RAM: [=== ] 26.3% (used 86204 bytes from 327680 bytes)
|
|
; Flash: [========= ] 93.6% (used 1471681 bytes from 1572864 bytes)
|
|
|
|
;https://shop.myhome-control.de/Elektronik/
|
|
[env:abc_wled_controller_v43_S]
|
|
extends = esp32_4MB_S_base
|
|
build_unflags = ${esp32_4MB_S_base.build_unflags} ${common_mm.build_disable_sync_interfaces}
|
|
build_flags = ${esp32_4MB_S_base.build_flags}
|
|
-D WLED_RELEASE_NAME=abc_wled_controller_v43_M
|
|
-D LEDPIN=16
|
|
-D ABL_MILLIAMPS_DEFAULT=5000 ; 5A default. Max 13A depending on the wires connected
|
|
-D WLED_USE_ETHERNET
|
|
-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 AUDIOPIN=-1
|
|
-D FLD_PIN_SCL=-1 -D FLD_PIN_SDA=-1 ; use global!
|
|
; -D WLED_USE_MY_CONFIG
|
|
-D SR_DMTYPE=4 -D I2S_SDPIN=32 -D I2S_WSPIN=15 -D I2S_CKPIN=14 -D MCLK_PIN=0 ; generic i2s with mclk 0
|
|
-D SR_SQUELCH=1 -D SR_GAIN=60 ; increrase squelch if noise, in test 0 is okay, but only slightly
|
|
-D SR_FREQ_PROF=1 ; Generic line in
|
|
; RAM: [=== ] 25.9% (used 84884 bytes from 327680 bytes)
|
|
; Flash: [========= ] 88.7% (used 1395249 bytes from 1572864 bytes)
|
|
|
|
; ESP32 WLED pico board with builtin ICS-43432 microphpone
|
|
[env:esp32_pico_4MB_M]
|
|
extends = esp32_4MB_M_base
|
|
board = pico32
|
|
board_build.flash_mode = dout ;; (dout = dual out; more compatible than qio = quad i/o)
|
|
upload_speed = 256000 ;; or 115200 ;; or 460800 ; or 921600 (slower speeds are better when flashing without a soldered connection)
|
|
|
|
build_flags = ${esp32_4MB_M_base.build_flags}
|
|
-D WLED_RELEASE_NAME=esp32_pico_4MB_M
|
|
-D WLED_DISABLE_BROWNOUT_DET
|
|
-D SERVERNAME='"WLED-pico32"'
|
|
; -D WLED_WATCHDOG_TIMEOUT=60
|
|
-D WLED_DISABLE_ADALIGHT ;; WLEDMM this board does not have a serial-to-USB chip. Better to disable serial protocols, to avoid crashes (see upstream #3128)
|
|
; -D WLED_DEBUG
|
|
; -D SR_DEBUG
|
|
-D LEDPIN=2
|
|
-D RLYPIN=19
|
|
-D BTNPIN=0
|
|
-D IRPIN=-1 -D TEMPERATURE_PIN=-1 ;; no default pins for IR, DallasTemp
|
|
-D ENCODER_DT_PIN=-1 -D ENCODER_CLK_PIN=-1 -D ENCODER_SW_PIN=-1 ;; no default pins for Rotary
|
|
-D HW_PIN_SCL=22 -D HW_PIN_SDA=21
|
|
-D SR_DMTYPE=1 -D I2S_SDPIN=25 -D I2S_WSPIN=15 -D I2S_CKPIN=14
|
|
-D SR_SQUELCH=5 -D SR_GAIN=30 -D SR_FREQ_PROF=5 ;; ICS-4343x specific
|
|
; -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_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)
|
|
|
|
;; experimental
|
|
;; PICO environment with ESP-IDF v4.4.4 / arduino-esp32 v2.0.9
|
|
[env:esp32_pico_4MB_V4_S]
|
|
extends = esp32_4MB_V4_S_base
|
|
board = pico32
|
|
upload_speed = 256000 ;; or 115200 ;; or 460800 ; or 921600 (slower speeds are better when flashing without a soldered connection)
|
|
|
|
build_unflags = ${esp32_4MB_V4_S_base.build_unflags}
|
|
-D WLED_ENABLE_HUB75MATRIX ;; not enough pins
|
|
build_flags = ${esp32_4MB_V4_S_base.esp32_build_flags}
|
|
-D ARDUINO_USB_CDC_ON_BOOT=0 ; needed for arduino-esp32 >=2.0.4; avoids errors on startup
|
|
-D WLED_RELEASE_NAME=esp32_pico_4MB_V4_S
|
|
-D WLED_DISABLE_BROWNOUT_DET
|
|
-D SERVERNAME='"WLED-pico32-V4"'
|
|
-D WLED_WATCHDOG_TIMEOUT=0
|
|
; -D WLED_WATCHDOG_TIMEOUT=60
|
|
-D WLED_DISABLE_ADALIGHT ;; WLEDMM this board does not have a serial-to-USB chip. Better to disable serial protocols, to avoid crashes (see upstream #3128)
|
|
${common_mm.NetDebug_build_flags} ;; net debug is not included in normal _S builds
|
|
; -D WLED_DEBUG
|
|
; -D SR_DEBUG
|
|
-D LEDPIN=2
|
|
-D RLYPIN=-1 -D BTNPIN=-1 -D IRPIN=-1
|
|
-D HW_PIN_SCL=22 -D HW_PIN_SDA=21
|
|
-D SR_DMTYPE=1 -D I2S_SDPIN=25 -D I2S_WSPIN=15 -D I2S_CKPIN=14
|
|
-D SR_SQUELCH=5 -D SR_GAIN=30 -D SR_FREQ_PROF=5 ; ICS-4343x specific
|
|
; -D MCLK_PIN=0
|
|
-D SR_ENABLE_DEFAULT ;; enable audioreactive at first start - no need to manually set "enable", then reboot
|
|
; -D WLED_USE_MY_CONFIG
|
|
lib_deps = ${esp32_4MB_V4_S_base.esp32_lib_deps}
|
|
lib_ignore =
|
|
IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation
|
|
${common_mm.HUB75_lib_ignore}
|
|
; RAM: [=== ] 27.9% (used 91528 bytes from 327680 bytes)
|
|
; Flash: [==========] 96.7% (used 1521457 bytes from 1572864 bytes)
|
|
;
|
|
|
|
|
|
[env:adafruit_matrixportal_esp32s3]
|
|
; ESP32-S3 processor, 8 MB flash, 2 MB of PSRAM, dedicated driver pins for HUB75
|
|
extends = esp32_4MB_V4_M_base
|
|
platform = ${esp32.platformV4_xp} ;; 6.5.0 = first platform release supporting matrixportal
|
|
platform_packages = ${esp32.platformV4_packages_xp} ;; arduino-esp32 2.0.14 needed - previous versions were missing files for matrixportal
|
|
board = adafruit_matrixportal_esp32s3
|
|
|
|
board_build.partitions = ${esp32.large_partitions}
|
|
board_build.f_flash = 80000000L
|
|
board_build.flash_mode = qio
|
|
|
|
build_unflags = ${env:esp32S3_8MB_M.build_unflags} ;; use the same as "normal" S3 buildenv
|
|
-D ARDUINO_USB_CDC_ON_BOOT=1 ;; fix warning: "ARDUINO_USB_CDC_ON_BOOT" redefined; comment out for Serial debug
|
|
${Speed_Flags.build_unflags} ;; to override -Os
|
|
build_flags = ${common.build_flags} ${esp32s3.build_flags} -Wno-misleading-indentation -Wno-format-truncation
|
|
${common_mm.build_flags_S}
|
|
${Speed_Flags.build_flags_V4} ;; -O2 -> optimize for speed instead of size
|
|
-D WLED_RELEASE_NAME=matrixportal_esp32s3
|
|
-D SERVERNAME='"WLED-MatrixPortalS3"'
|
|
; 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.build_disable_sync_interfaces}
|
|
-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
|
|
-D WLED_USE_PSRAM_JSON -DALL_JSON_TO_PSRAM ; WLEDMM --> force all JSON stuff into PSRAM; gives more free heap
|
|
; -DCONFIG_MBEDTLS_DYNAMIC_BUFFER=1 ;; optional - seems to move more buffers into PSRAM
|
|
${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.HUB75_lib_deps}
|
|
|
|
lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation
|
|
monitor_filters = esp32_exception_decoder
|
|
;
|
|
; RAM: [== ] 20.4% (used 66984 bytes from 327680 bytes)
|
|
; Flash: [========= ] 94.8% (used 1491489 bytes from 1572864 bytes)
|