Merge pull request #308 from MoonModules/flickerFixer_backport
WLED-MM backport of upstream wled#4980 RMT High-priority Interrupt driver - solves flickering problems on esp32, esp32-S2 and esp32-S3 do not use the new RMTHI driver on old V3 builds (especially esp32dev_compat) upgrade all esp32 builds to NeoPixelBus 2.7.9 (we can't go higher due to API incompatibilities)
This commit is contained in:
@@ -253,7 +253,8 @@ lib_deps =
|
||||
fastled/FastLED @ 3.7.1 ;; needed to prevent compiler errors when using newer framework versions
|
||||
;; 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
|
||||
;;makuna/NeoPixelBus @ 2.7.9 ;; WLEDMM will be added in board specific sections
|
||||
;;makuna/NeoPixelBus @ 2.8.3
|
||||
https://github.com/Aircoookie/ESPAsyncWebServer.git#v2.4.2
|
||||
bitbank2/AnimatedGIF@^1.4.7
|
||||
https://github.com/Aircoookie/GifDecoder.git#bc3af189b6b1e06946569f6b4287f0b79a860f8e
|
||||
@@ -301,6 +302,7 @@ build_flags =
|
||||
-D NON32XFER_HANDLER ;; ask forgiveness for PROGMEM misuse
|
||||
-D WLED_DISABLE_PARTICLESYSTEM2D
|
||||
-D WLED_DISABLE_PIXELFORGE ;; not enought space in flash
|
||||
-D WLED_USE_SHARED_RMT ;; don't use the RMTHI driver (not compatible with esp8266)
|
||||
|
||||
;; special library dependencies for 8266 (workaround for upsteam #5136) - replaces env.lib_deps
|
||||
lib8266_deps =
|
||||
@@ -318,6 +320,7 @@ lib_deps =
|
||||
makuna/NeoPixelBus @ 2.7.5
|
||||
${esp8266.lib8266_deps} ;; use proven library versions for 8266
|
||||
lib_ignore =
|
||||
NeoESP32RmtHI
|
||||
|
||||
;; 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 =
|
||||
@@ -331,6 +334,7 @@ build_flags_compat =
|
||||
-DVTABLES_IN_FLASH
|
||||
-DMIMETYPE_MINIMAL
|
||||
-DWLED_SAVE_IRAM ;; needed to prevent linker error
|
||||
-D WLED_USE_SHARED_RMT ;; don't use the RMTHI driver (not compatible with esp8266)
|
||||
|
||||
;; this platform version was used for WLED 0.14.0
|
||||
platform_compat = espressif8266@4.2.0
|
||||
@@ -354,6 +358,7 @@ build_flags = -g
|
||||
-D CONFIG_ASYNC_TCP_TASK_STACK_SIZE=9472 ;; WLEDMM increase stack by 1.25Kb, as audioreactive needs bigger SETTINGS_STACK_BUF_SIZE
|
||||
-D CONFIG_ASYNC_TCP_STACK_SIZE=9472
|
||||
-D LOROL_LITTLEFS ;; use LITTLEFS library by lorol in ESP32 core 1.x.x instead of built-in in 2.x.x
|
||||
-D WLED_USE_SHARED_RMT ;; don't use the RMTHI driver (not compatible with esp-idf v3.x)
|
||||
;; -D CORE_DEBUG_LEVEL=5 ;; enable core debug messages
|
||||
;; -DDEBUG -DWLED_DEBUG ;; enable WLED debug messages
|
||||
lib_deps =
|
||||
@@ -363,6 +368,8 @@ lib_deps =
|
||||
makuna/NeoPixelBus @ 2.7.5
|
||||
;; makuna/NeoPixelBus @ 2.7.9 ;; experimental
|
||||
${env.lib_deps}
|
||||
lib_ignore =
|
||||
NeoESP32RmtHI
|
||||
monitor_filters = esp32_exception_decoder
|
||||
board_build.partitions = ${esp32.default_partitions} ;; default partioning for 4MB Flash - can be overridden in build envs
|
||||
default_partitions = ${esp32.default_partitions} ;; backwards compatibility
|
||||
@@ -430,8 +437,7 @@ build_flagsV4 = -g
|
||||
;;; V4.4.x libraries (without LOROL_LITTLEFS; with newer NeoPixelBus)
|
||||
lib_depsV4 =
|
||||
esp32async/AsyncTCP @ 3.4.7
|
||||
makuna/NeoPixelBus @ 2.7.5
|
||||
;; makuna/NeoPixelBus @ 2.7.9 ;; experimental
|
||||
makuna/NeoPixelBus @ 2.7.9 ;; experimental
|
||||
${common_mm.HUB75_lib_deps}
|
||||
${env.lib_deps}
|
||||
|
||||
@@ -465,8 +471,7 @@ build_flags = -g
|
||||
default_partitions = tools/WLED_ESP32_4MB_1MB_FS.csv
|
||||
lib_deps =
|
||||
esp32async/AsyncTCP @ 3.4.7
|
||||
makuna/NeoPixelBus @ 2.7.5
|
||||
;; makuna/NeoPixelBus @ 2.7.9 ;; experimental
|
||||
makuna/NeoPixelBus @ 2.7.9 ;; experimental
|
||||
${env.lib_deps}
|
||||
board_build.partitions = ${esp32.default_partitions} ;; default partioning for 4MB Flash - can be overridden in build envs
|
||||
monitor_filters = esp32_exception_decoder
|
||||
@@ -500,10 +505,10 @@ build_flags = -g
|
||||
-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
|
||||
; -D WLED_USE_SHARED_RMT ;; un-comment to use the standard RMT driver instead of RMTHI
|
||||
|
||||
lib_deps =
|
||||
esp32async/AsyncTCP @ 3.4.7
|
||||
;; makuna/NeoPixelBus @ 2.7.5 ;; standard
|
||||
makuna/NeoPixelBus @ 2.7.9 ;; experimental - reduces LED glitches on -S2
|
||||
${env.lib_deps}
|
||||
board_build.partitions = ${esp32.default_partitions} ;; default partioning for 4MB Flash - can be overridden in build envs
|
||||
@@ -527,12 +532,14 @@ build_flags = -g
|
||||
-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
|
||||
-D WLED_USE_SHARED_RMT ;; don't use the RMTHI driver (not compatible with -C3)
|
||||
|
||||
lib_deps =
|
||||
esp32async/AsyncTCP @ 3.4.7
|
||||
makuna/NeoPixelBus @ 2.7.5
|
||||
;; makuna/NeoPixelBus @ 2.7.9 ;; experimental
|
||||
makuna/NeoPixelBus @ 2.7.9 ;; experimental
|
||||
${env.lib_deps}
|
||||
lib_ignore =
|
||||
NeoESP32RmtHI
|
||||
board_build.partitions = ${esp32.default_partitions} ;; default partioning for 4MB Flash - can be overridden in build envs
|
||||
monitor_filters = esp32_exception_decoder
|
||||
|
||||
@@ -556,10 +563,10 @@ build_flags = -g
|
||||
-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
|
||||
;-D WLED_USE_SHARED_RMT ;; un-comment to use the standard RMT driver instead of RMTHI
|
||||
lib_deps =
|
||||
esp32async/AsyncTCP @ 3.4.7
|
||||
makuna/NeoPixelBus @ 2.7.5
|
||||
;; makuna/NeoPixelBus @ 2.7.9 ;; experimental
|
||||
makuna/NeoPixelBus @ 2.7.9 ;; experimental
|
||||
${env.lib_deps}
|
||||
board_build.partitions = ${esp32.large_partitions} ;; default partioning for 8MB flash - can be overridden in build envs
|
||||
monitor_filters = esp32_exception_decoder
|
||||
@@ -810,26 +817,31 @@ board_build.flash_mode = dio ;; some boards do not boot with the faster "qio" mo
|
||||
;; ; board_build.flash_mode = dio ;; try this if you have problems at startup
|
||||
;; monitor_filters = esp32_exception_decoder
|
||||
|
||||
;; only for testing.
|
||||
;; [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
|
||||
;; ESP32-S3 development board, with 8MB FLASH and >= 8MB PSRAM (memory_type: qio_opi)
|
||||
;; board = esp32-s3-devkitc-1 ;; generic dev board; the next lines add PSRAM support
|
||||
;; board_build.flash_mode = qio
|
||||
;; 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}
|
||||
;; ; -DCORE_DEBUG_LEVEL=0
|
||||
;; ;;-DNDEBUG ;; removing this flag leads to a massive flood of runtime warnings from NeoPixelBus 2.7.9
|
||||
;; 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
|
||||
;; ; -DCORE_DEBUG_LEVEL=5
|
||||
;; ;;-DWLED_DEBUG ; -DDEBUG
|
||||
;; ; -D WLED_USE_SHARED_RMT ;; RMTHI causes interrupt watchdog reset - needs more investigation
|
||||
;; -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_opi
|
||||
;; -D BOARD_HAS_PSRAM -D WLED_USE_PSRAM ; tells WLED that PSRAM shall be used
|
||||
;; -D WLED_USE_PSRAM_JSON -D ALL_JSON_TO_PSRAM ; WLEDMM --> force all JSON stuff into PSRAM; gives more free heap
|
||||
;; lib_deps = ${esp32s3.lib_deps}
|
||||
;; ${esp32.AR_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]
|
||||
@@ -1295,7 +1307,9 @@ platform_packages = ${esp32_legacy.platform_packages}
|
||||
build_unflags = ${esp32_legacy.build_unflags}
|
||||
build_flags = ${common.build_flags} ${esp32_legacy.build_flags} ${common_mm.build_flags_S} ${common_mm.build_disable_sync_interfaces}
|
||||
lib_deps = ${esp32_legacy.lib_deps} ${common_mm.lib_deps_S}
|
||||
lib_ignore = ${common_mm.DMXin_lib_ignore} ;; requires V4 framework
|
||||
lib_ignore =
|
||||
${common_mm.DMXin_lib_ignore} ;; requires V4 framework
|
||||
${esp32_legacy.lib_ignore}
|
||||
upload_speed = 460800 ; or 921600
|
||||
;; new V4 platform
|
||||
;;platform = ${esp32.platform}
|
||||
@@ -2735,6 +2749,7 @@ lib_ignore =
|
||||
OneWire ; not needed as we don't include USERMOD_DALLASTEMPERATURE
|
||||
U8g2 ; not needed as we don't include USERMOD_FOUR_LINE_DISPLAY
|
||||
${common_mm.animartrix_lib_ignore} ;; Tips our memory usage over the limit
|
||||
${esp32c3.lib_ignore}
|
||||
; RAM: [== ] 22.1% (used 72408 bytes from 327680 bytes)
|
||||
; Flash: [======== ] 83.5% (used 1313420 bytes from 1572864 bytes)
|
||||
|
||||
@@ -2819,7 +2834,9 @@ build_flags = ${common.build_flags} ${esp32c3.build_flags}
|
||||
-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
|
||||
lib_ignore =
|
||||
IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation
|
||||
${esp32c3.lib_ignore}
|
||||
monitor_filters = esp32_exception_decoder
|
||||
; RAM: [== ] 22.5% (used 73740 bytes from 327680 bytes)
|
||||
; Flash: [==========] 96.3% (used 1515336 bytes from 1572864 bytes)
|
||||
|
||||
Reference in New Issue
Block a user