diff --git a/platformio.ini b/platformio.ini index 267ce4b8..46925922 100644 --- a/platformio.ini +++ b/platformio.ini @@ -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)