platformio.ini : new MM config for -S3 with PSRAM (8MB or 16MB)

- you need to install the bootloader from platformio build folder
- only for "opi" (octal) PSRAM; will not work with "qspi" (quad) PSRAM (2MB or 4MB)

-small cleanups for -S3/-S2/-C3 environments
This commit is contained in:
Frank
2023-07-21 18:36:53 +02:00
parent 4984c578cc
commit b4faffb731

View File

@@ -65,6 +65,7 @@ default_envs =
esp32_pico_4MB_M
esp32_4MB_PSRAM_S
esp32S3_8MB_M
;; esp32S3_8MB_PSRAM_M ;; experiemental
;; esp32s2_tinyUF2_PSRAM_S ;; experimental - only for adafruit -S2 boards with tinyUF2 bootloader !!!
esp32s2_PSRAM_M ;; experimental
esp32c3dev_4MB_M ;; experimental
@@ -304,7 +305,11 @@ platformV4 = espressif32@5.2.0
platformV4_packages =
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
;;; experimental: V4 platform with latest arduino-esp32 2.0.9 + ESP-IDF 4.4.4 (may or may not work)
;;; updated V4 platform (5.3.0) - experimental
;;platformV4_up = espressif32@ ~5.3.0
;;platformV4_packages_up =
;;; experimental: latest V4 platform with latest arduino-esp32 2.0.9 + ESP-IDF 4.4.4 (may or may not work)
platformV4_xp = espressif32@ ~6.3.0
platformV4_packages_xp = platformio/framework-arduinoespressif32 @ ~3.20009.0 ;; arduino-esp32 v2.0.9+
@@ -1074,15 +1079,15 @@ extends = esp32_4MB_S_base
build_flags = ${esp32_4MB_S_base.build_flags}
-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.
; RAM: [== ] 24.1% (used 78988 bytes from 327680 bytes)
; Flash: [========= ] 85.7% (used 1348593 bytes from 1572864 bytes) WLEDMM: Earlier 83.7
; RAM: [=== ] 25.0% (used 81988 bytes from 327680 bytes)
; Flash: [========= ] 87.4% (used 1374677 bytes from 1572864 bytes) WLEDMM: Earlier 85.7
[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: [== ] 24.4% (used 79956 bytes from 327680 bytes)
; Flash: [========= ] 91.1% (used 1432245 bytes from 1572864 bytes) WLEDMM: earlier 88.7
; RAM: [=== ] 25.2% (used 82628 bytes from 327680 bytes)
; Flash: [========= ] 94.3% (used 1483793 bytes from 1572864 bytes) WLEDMM: earlier 91.1
[env:esp32_4MB_XL]
extends = esp32_4MB_XL_base
@@ -1483,9 +1488,9 @@ build_flags = ${common.build_flags} ${esp32s3.build_flags} -Wno-misleading-inden
${common_mm.build_flags_S} ${common_mm.build_flags_M}
; -DBOARD_HAS_PSRAM -D WLED_USE_PSRAM_JSON -D WLED_USE_PSRAM ;; un-comment in case your board supports PSRAM
-D WLED_RELEASE_NAME=esp32S3_8MB_M
-D ARDUINO_USB_MODE=1 -D ARDUINO_USB_CDC_ON_BOOT=0 -D ARDUINO_USB_MSC_ON_BOOT=0 -D ARDUINO_USB_DFU_ON_BOOT=0 ;; for Serial-to-USB chip
;; -D ARDUINO_USB_MODE=1 -D ARDUINO_USB_CDC_ON_BOOT=1 -D ARDUINO_USB_MSC_ON_BOOT=0 -D ARDUINO_USB_DFU_ON_BOOT=0 ;; for Hardware-CDC USB mode
;; -D WLED_DISABLE_ADALIGHT ;; disables serial protocols when using CDC USB (Serial RX will receive junk commands when RX pin is unconnected, unless its pulled down by resistor)
-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
@@ -1493,21 +1498,17 @@ build_flags = ${common.build_flags} ${esp32s3.build_flags} -Wno-misleading-inden
; -D WLED_DISABLE_MQTT ; RAM 216 bytes; FLASH 16496 bytes
; -D WLED_DISABLE_HUESYNC ;RAM 122 bytes; FLASH 6308 bytes
; -D WLED_DISABLE_INFRARED ;RAM 136 bytes; FLASH 24492 bytes
;;-D 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 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 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
@@ -1515,8 +1516,49 @@ lib_deps = ${esp32s3.lib_deps} ${common_mm.lib_deps_S} ${common_mm.lib_deps_V4_
;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: [== ] 24.7% (used 80856 bytes from 327680 bytes)
; Flash: [======= ] 66.9% (used 1403489 bytes from 2097152 bytes)
; 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}
-DBOARD_HAS_PSRAM -D WLED_USE_PSRAM_JSON ;; -D WLED_USE_PSRAM ;; your board supports PSRAM
-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}
;lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation
board_build.partitions = tools/WLED_ESP32_8MB.csv
; RAM: [==== ] 36.3% (used 118828 bytes from 327680 bytes)
; Flash: [======= ] 70.7% (used 1483465 bytes from 2097152 bytes)
;; 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 ;-)
@@ -1568,8 +1610,8 @@ 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: [=== ] 25.1% (used 82348 bytes from 327680 bytes)
; Flash: [==========] 95.8% (used 1381742 bytes from 1441792 bytes)
; RAM: [=== ] 33.0% (used 108276 bytes from 327680 bytes)
; Flash: [==========] 97.9% (used 1411114 bytes from 1441792 bytes) !!! 98%
;; MM environment for generic ESP32-S2, with PSRAM, 4MB flash (300kB filesystem to have more program space)
[env:esp32s2_PSRAM_M]
@@ -1594,8 +1636,9 @@ build_flags = ${common.build_flags} ${esp32s2.build_flags}
-D WLED_RELEASE_NAME=esp32S2_4MB_M
-DARDUINO_USB_CDC_ON_BOOT=0
-DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=0
-D WLED_DISABLE_ADALIGHT ;; disables serial protocols, as the board onl has CDC USB
-D WLED_DISABLE_ADALIGHT ;; disables serial protocols, as the board only has CDC USB
-DBOARD_HAS_PSRAM -D WLED_USE_PSRAM_JSON -D WLED_USE_PSRAM
; -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 WLED_DISABLE_HUESYNC ;; save flash space
@@ -1614,14 +1657,14 @@ 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: [== ] 22.9% (used 75068 bytes from 327680 bytes)
; Flash: [======== ] 78.3% (used 1487802 bytes from 1900544 bytes)
; RAM: [=== ] 30.9% (used 101228 bytes from 327680 bytes)
; Flash: [======== ] 80.4% (used 1527278 bytes from 1900544 bytes)
;; 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} ;; alternative platform, might help in case you experience bootloops due to corrupted flash filesystem
platform = ${esp32.platformV4}
platform_packages = ${esp32.platformV4_packages}
board_build.flash_mode = qio
board = esp32-c3-devkitm-1
@@ -1650,7 +1693,7 @@ build_flags = ${common.build_flags} ${esp32c3.build_flags}
-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 ;; use this _only_ if your device is not able to make a WiFI connection!
-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 LEDPIN=8 ;; onboard neopixel 5x5 Matrix. Attach your own LEDs to GPIO 20
@@ -1666,14 +1709,14 @@ 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: [== ] 23.1% (used 75636 bytes from 327680 bytes)
; Flash: [==========] 96.0% (used 1510452 bytes from 1572864 bytes)
; RAM: [== ] 23.7% (used 77780 bytes from 327680 bytes)
; Flash: [========= ] 93.9% (used 1477456 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
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
@@ -1688,7 +1731,7 @@ build_flags = ${common.build_flags} ${esp32c3.build_flags}
;-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 ;; use this _only_ if your device is not able to make a WiFI connection!
;-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
@@ -1699,8 +1742,8 @@ build_flags = ${common.build_flags} ${esp32c3.build_flags}
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.9% (used 75108 bytes from 327680 bytes)
; Flash: [========= ] 90.5% (used 1423788 bytes from 1572864 bytes)
; RAM: [== ] 23.8% (used 77908 bytes from 327680 bytes)
; Flash: [========= ] 90.9% (used 1429302 bytes from 1572864 bytes)
# ------------------------------------------------------------------------------
@@ -1883,8 +1926,14 @@ build_flags = ${esp32_4MB_V4_S_base.build_flags}
-D WLED_DISABLE_BROWNOUT_DET
-D SERVERNAME='"WLED-pico32-V4"'
-D WLED_WATCHDOG_TIMEOUT=0
-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_WATCHDOG_TIMEOUT=60
-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_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_LOXONE
; -D WLED_DISABLE_ALEXA
; -D WLED_DISABLE_HUESYNC
; -D WLED_DISABLE_MQTT
; -D WLED_DISABLE_INFRARED
; -D WLED_DEBUG
; -D SR_DEBUG
-D LEDPIN=2
@@ -1895,5 +1944,6 @@ build_flags = ${esp32_4MB_V4_S_base.build_flags}
; -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
; RAM: [== ] 24.5% (used 80436 bytes from 327680 bytes)
; Flash: [========= ] 93.9% (used 1476341 bytes from 1572864 bytes)
;lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation
; RAM: [=== ] 25.4% (used 83144 bytes from 327680 bytes)
; Flash: [==========] 96.4% (used 1516029 bytes from 1572864 bytes)