From db27ffab4b7d6fed303e69b1f60de1a198ce093c Mon Sep 17 00:00:00 2001 From: Ewowi Date: Sun, 16 Oct 2022 11:23:11 +0200 Subject: [PATCH] platformio.ini changes Recent changes in mdev back to this branch - devums to devmax - Asyncwebserver to 2.0.7 - expressif updates - new chips updates - new warnings esp32mdevmax - activate 4ld, and rotary and 'hope' there are no conflicts with MPU6050 (sharing i2s bus) --- platformio.ini | 196 +++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 183 insertions(+), 13 deletions(-) diff --git a/platformio.ini b/platformio.ini index 5c31b60a..80c1031c 100644 --- a/platformio.ini +++ b/platformio.ini @@ -12,7 +12,7 @@ ; default_envs = travis_esp8266, travis_esp32 # Release binaries -; default_envs = nodemcuv2, esp8266_2m, esp01_1m_full, esp32dev, esp32_eth, esp32s2_saola, esp32c3 +; default_envs = nodemcuv2, esp8266_2m, esp01_1m_full, esp32dev, esp32_eth, esp32s2_saola, 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, travis_esp8266, travis_esp32, 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 @@ -33,7 +33,9 @@ ; default_envs = esp8285_H801 ; default_envs = d1_mini_5CH_Shojo_PCB ; default_envs = esp32mdev -default_envs = esp32mdevums +default_envs = esp32mdevmax +; default_envs = esp32mdev_PSRAM +; default_envs = esp32s3-mdev ; default_envs = esp8266mdev ; default_envs = wemos_shield_esp32 ; default_envs = m5atom @@ -166,7 +168,7 @@ lib_compat_mode = strict lib_deps = fastled/FastLED @ 3.5.0 IRremoteESP8266 @ 2.8.2 - https://github.com/Aircoookie/ESPAsyncWebServer.git @ ~2.0.5 + https://github.com/Aircoookie/ESPAsyncWebServer.git @ ~2.0.7 #For use of the TTGO T-Display ESP32 Module with integrated TFT display uncomment the following line #TFT_eSPI #For use SSD1306 OLED display uncomment following @@ -231,6 +233,24 @@ lib_deps = makuna/NeoPixelBus @ 2.6.9 https://github.com/pbolduc/AsyncTCP.git @ 1.2.0 +;; ** For compiling with latest Frameworks (IDF4.4.x and arduino-esp32 v2.0.x) ** +;;; standard platform +platformV4 = espressif32@ ~5.1.1 +platformV4_packages = platformio/framework-arduinoespressif32@ ~3.20004.220825 +;;; tasmota platform +;platformV4 = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.5.1/platform-espressif32-2.0.5.1.zip +;platformV4_packages = +;;; V4.4.x build flags (without LOROL_LITTLEFS) +build_flagsV4 = -g + -DARDUINO_ARCH_ESP32 + -DCONFIG_LITTLEFS_FOR_IDF_3_2 + -D CONFIG_ASYNC_TCP_USE_WDT=0 +;;; V4.4.x libraries (without LOROL_LITTLEFS; with newer NeoPixelBus) +lib_depsV4 = + ${env.lib_deps} + https://github.com/Makuna/NeoPixelBus.git#master @ 2.7.0 ;; NPB 2.6.9 tends to crash whith IDF V4.4.3 -> use latest NeoPixelBus dev version instead + https://github.com/pbolduc/AsyncTCP.git @ 1.2.0 + [esp32s2] build_flags = -g -DARDUINO_ARCH_ESP32 @@ -257,6 +277,23 @@ lib_deps = makuna/NeoPixelBus @ 2.6.9 https://github.com/pbolduc/AsyncTCP.git @ 1.2.0 +[esp32s3] +;; generic definitions for all ESP32-S3 boards +build_flags = -g + -DESP32 + -DARDUINO_ARCH_ESP32 + -DARDUINO_ARCH_ESP32S3 + -DCONFIG_IDF_TARGET_ESP32S3 + -D CONFIG_ASYNC_TCP_USE_WDT=0 + -DCO + +lib_deps = + ${env.lib_deps} + ;; currently we need the latest NeoPixelBus dev version, because it contains important bugfixes for -S3 + https://github.com/Makuna/NeoPixelBus.git#master @ 2.7.0 + https://github.com/pbolduc/AsyncTCP.git @ 1.2.0 + + # ------------------------------------------------------------------------------ # WLED BUILDS # ------------------------------------------------------------------------------ @@ -361,25 +398,44 @@ 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 +;platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.2.2/platform-tasmota-espressif32-2.0.2.zip +;platform_packages = +platform = ${esp32.platformV4} +platform_packages = ${esp32.platformV4_packages} board_build.partitions = tools/WLED_ESP32_4MB_1MB_FS.csv board_build.flash_mode = qio upload_speed = 460800 build_unflags = ${common.build_unflags} lib_deps = ${esp32s2.lib_deps} -[env:esp32c3] +[env:esp32c3dev] board = esp32-c3-devkitm-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 +;platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.2.2/platform-tasmota-espressif32-2.0.2.zip +;platform_packages = +platform = ${esp32.platformV4} +platform_packages = ${esp32.platformV4_packages} + -D CONFIG_LITTLEFS_FOR_IDF_3_2 -D WLED_WATCHDOG_TIMEOUT=0 board_build.partitions = tools/WLED_ESP32_4MB_1MB_FS.csv +build_flags = ${common.build_flags} ${esp32c3.build_flags} #-D WLED_RELEASE_NAME=ESP32-C3 + -D WLED_WATCHDOG_TIMEOUT=0 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 +board = esp32-s3-devkitc-1 +platform = espressif32@5.1.1 +platform_packages = platformio/framework-arduinoespressif32@3.20004.220825 +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_MODE=1 -D ARDUINO_USB_CDC_ON_BOOT=0 -D ARDUINO_USB_MSC_ON_BOOT=0 +lib_deps = ${esp32s3.lib_deps} +board_build.partitions = tools/WLED_ESP32_8MB.csv +board_build.f_flash = 80000000L +board_build.flash_mode = qio +monitor_filters = esp32_exception_decoder + [env:esp8285_4CH_MagicHome] board = esp8285 platform = ${common.platform_wled_default} @@ -442,6 +498,29 @@ 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 = espressif32@5.1.1 +board = lolin_s2_mini +board_build.partitions = tools/WLED_ESP32_4MB_1MB_FS.csv +build_unflags = ${common.build_unflags} +build_flags = ${common.build_flags} ${esp32s2.build_flags} #-D WLED_RELEASE_NAME=LolinS2 + -DBOARD_HAS_PSRAM + -D ARDUINO_USB_CDC_ON_BOOT + -D WLED_USE_PSRAM + -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_DATASPI=11 + -D HW_PIN_MISOSPI=9 +; -D STATUSLED=15 +lib_deps = ${esp32s2.lib_deps} + # ------------------------------------------------------------------------------ # MoonModules configs # ------------------------------------------------------------------------------ @@ -455,6 +534,8 @@ build_unflags = ${common.build_unflags} build_flags = ${common.build_flags_esp32} -D WLED_RELEASE_NAME=ESP32 #-D WLED_DISABLE_BLYNK #-D WLED_DISABLE_BROWNOUT_DET + -Wall -Wformat -Woverflow -Wuninitialized -Winit-self -Warray-bounds ; enables more warnings + -Wno-attributes -Wno-unused-variable -Wno-unused-function ; disables some stupid warnings -D ABL_MILLIAMPS_DEFAULT=1500 ; 850 not enough for 1024 leds -D WLED_USE_MY_CONFIG -D USERMOD_AUDIOREACTIVE @@ -469,15 +550,17 @@ board_build.partitions = ${esp32.default_partitions} board_build.f_flash = 80000000L board_build.flash_mode = dio -[env:esp32mdevums] +[env:esp32mdevmax] board = esp32dev ;; standard ESP32 with 4MB Flash -;board = esp32_twilord ;; "TwilightLord" ESP32 with 16MB Flash +; board = esp32_twilord ;; "TwilightLord" ESP32 with 16MB Flash platform = ${esp32.platform} upload_speed = 460800 ; or 921600 platform_packages = ${esp32.platform_packages} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags_esp32} -D WLED_RELEASE_NAME=ESP32 ; This will be included in the firmware.bin filename + ; -Wall -Wformat -Woverflow -Wuninitialized -Winit-self -Warray-bounds ; enables more warnings + ; -Wno-attributes -Wno-unused-variable -Wno-unused-function ; disables some stupid warnings -D WLED_DISABLE_BLYNK ; BLYNK is only provided for backwards compatibility (no new users accepted) ;-D WLED_DISABLE_BROWNOUT_DET ; enable if you get "brownout detected" errors at startup -D ABL_MILLIAMPS_DEFAULT=1500 ; 850 not enough for 1024 leds @@ -493,13 +576,15 @@ build_flags = ${common.build_flags_esp32} -D USERMOD_AUTO_SAVE -D USERMOD_CUSTOMEFFECTS ; WLEDSR usermod -D USERMOD_WEATHER ; WLEDSR 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 ; WLEDSR usermod ; -D WLED_DEBUG ; lots of generic debug messages ; -D SR_DEBUG ; some extra debug messages from audioreactive lib_deps = ${esp32.lib_deps} - OneWire@~2.3.5 ; used for USERMOD_FOUR_LINE_DISPLAY and USERMOD_GAMES? + OneWire@~2.3.5 ; used for USERMOD_FOUR_LINE_DISPLAY and USERMOD_DALLASTEMPERATURE olikraus/U8g2 @ ^2.28.8 ; used for USERMOD_FOUR_LINE_DISPLAY https://github.com/kosme/arduinoFFT#develop @ 1.9.2 ; used for USERMOD_AUDIOREACTIVE + ElectronicCats/MPU6050 @ 0.6.0 ; used for USERMOD_MPU6050_IMU ; monitor_filters = esp32_exception_decoder ; used to show crash details board_build.partitions = ${esp32.default_partitions} ; board_build.partitions = tools/WLED_ESP32_16MB.csv ; for esp32_twilord with 16MB flash @@ -521,6 +606,91 @@ build_flags = ${common.build_flags_esp8266} -UWLED_USE_MY_CONFIG ; monitor_filters = esp8266_exception_decoder +# ------------------------------------------------------------------------------ +# MoonModules configs for IDF V4.4.x +# ------------------------------------------------------------------------------ + +;; experiemtal environment for boards with PSRAM. +;; Warning: the build-in LittleFS 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) +;; also SpiffsEditor (Async Webserver) has known problems in IDF4.4.x +[env:esp32mdev_PSRAM] +board = lolin_d32_pro +;board = esp32cam +; platform = ${esp32.platform} +; platform_packages = ${esp32.platform_packages} +platform = ${esp32.platformV4} +platform_packages = ${esp32.platformV4_packages} + +upload_speed = 460800 ; or 921600 +build_unflags = ${common.build_unflags} +;build_flags = ${common.build_flags} ${esp32.build_flags} +build_flags = ${common.build_flags} ${esp32.build_flagsV4} + -D WLED_RELEASE_NAME=ESP32 -D WLED_WATCHDOG_TIMEOUT=0 #-D WLED_DISABLE_BLYNK #-D WLED_DISABLE_BROWNOUT_DET + -D ARDUINO_USB_CDC_ON_BOOT=0 ; needed for arduino-esp32 >=2.0.4; avoids errors on startup + -Wall -Wformat -Woverflow -Wuninitialized -Winit-self -Warray-bounds ; enables more warnings + -Wno-attributes -Wno-misleading-indentation -Wno-unused-variable -Wno-unused-function -Wno-deprecated-declarations ; disables some stupid warnings + -D WLED_USE_PSRAM + -D ABL_MILLIAMPS_DEFAULT=1500 ; 850 not enough for 1024 leds + -D WLED_USE_MY_CONFIG + -D USERMOD_CUSTOMEFFECTS + -D USERMOD_AUDIOREACTIVE + -D UM_AUDIOREACTIVE_USE_NEW_FFT + ; -D WLED_DEBUG + ; -D SR_DEBUG + +;lib_deps = ${esp32.lib_deps} +lib_deps = ${esp32.lib_depsV4} + https://github.com/kosme/arduinoFFT#develop @ 1.9.2 + +monitor_filters = esp32_exception_decoder +board_build.partitions = ${esp32.default_partitions} +board_build.f_flash = 80000000L +board_build.flash_mode = dio + +[env:esp32S3mdev] +board = esp32-s3-devkitc-1 +platform = ${esp32.platformV4} +platform_packages = ${esp32.platformV4_packages} + +upload_speed = 460800 ; or 921600 +build_unflags = ${common.build_unflags} +build_flags = ${common.build_flags} ${esp32s3.build_flags} -D WLED_RELEASE_NAME=ESP32S3 #-D WLED_DISABLE_BLYNK #-D WLED_DISABLE_BROWNOUT_DET + -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 + -Wall -Wformat -Woverflow -Wuninitialized -Winit-self -Warray-bounds ; enables more warnings + -Wno-attributes -Wno-misleading-indentation -Wno-unused-variable -Wno-unused-function -Wno-deprecated-declarations ; disables some stupid warnings + -D WLED_WATCHDOG_TIMEOUT=0 + -D ABL_MILLIAMPS_DEFAULT=1500 ; 850 not enough for 1024 leds + -D LEDPIN=4 + -D STATUSLED=39 + -D BTNPIN=-1 + -D RLYPIN=-1 + -D IRPIN=-1 + -D HW_PIN_SDA=40 + -D HW_PIN_SCL=41 + -D WLED_USE_MY_CONFIG + -D USERMOD_CUSTOMEFFECTS + ;; for audioreactive usermod + -D USERMOD_AUDIOREACTIVE + -D UM_AUDIOREACTIVE_USE_NEW_FFT + -D AUDIOPIN=-1 + -D I2S_SDPIN=16 + -D I2S_CKPIN=17 + -D I2S_WSPIN=47 + -D ES7243_SDAPIN=8 + -D ES7243_SCLPIN=18 + +lib_deps = ${esp32s3.lib_deps} + ;; for audioreactive usermod + https://github.com/kosme/arduinoFFT#develop @ 1.9.2 + +board_build.partitions = tools/WLED_ESP32_8MB.csv +; board_build.flash_mode = dio +board_build.flash_mode = qio +board_build.f_flash = 80000000L +; board_build.f_flash = 120000000L +monitor_filters = esp32_exception_decoder + # ------------------------------------------------------------------------------ # custom board configurations # ------------------------------------------------------------------------------