Skip to content

Commit

Permalink
Merge branch 'MoonModules:mdev' into 241-Rings
Browse files Browse the repository at this point in the history
  • Loading branch information
netmindz authored Oct 10, 2024
2 parents 12d9af5 + 98bdbd1 commit a0dda16
Show file tree
Hide file tree
Showing 28 changed files with 869 additions and 249 deletions.
36 changes: 18 additions & 18 deletions .github/workflows/wled-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ jobs:
name: Gather Environments
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Cache pip
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- uses: actions/setup-python@v4
- uses: actions/setup-python@v5
with:
python-version: '3.9'
- name: Install PlatformIO
Expand All @@ -38,21 +38,21 @@ jobs:
matrix:
environment: ${{ fromJSON(needs.get_default_envs.outputs.environments) }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Cache pip
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Cache PlatformIO
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.platformio
key: ${{ runner.os }}-${{ matrix.environment}}-${{ hashFiles('platformio.ini') }}
key: ${{ runner.os }}-${{ matrix.environment}}
- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: '3.9'
- name: Install PlatformIO
Expand All @@ -61,31 +61,31 @@ jobs:
env:
WLED_RELEASE: True
run: pio run -e ${{ matrix.environment }}
- uses: actions/upload-artifact@v2
- name: Rename Bin
run: mv -v .pio/build/${{ matrix.environment }}/firmware.bin firmware-${{ matrix.environment }}.bin
- uses: actions/upload-artifact@v4
with:
name: firmware-${{ matrix.environment }}
path: |
build_output/firmware/*.bin
build_output/firmware/*.gz
- uses: actions/upload-artifact@v2
path: firmware-${{ matrix.environment }}.bin
- uses: actions/upload-artifact@v4
if: startsWith(github.ref, 'refs/tags/')
with:
name: firmware-release
name: firmware-release-${{ matrix.environment }}
path: build_output/release/*.bin
release:
name: Create Release
runs-on: ubuntu-latest
needs: [get_default_envs, build]
if: startsWith(github.ref, 'refs/tags/')
steps:
- uses: actions/download-artifact@v2
with:
name: firmware-release
- uses: actions/download-artifact@v4
- name: List Artifacts
run: find ./ -type f -name *.bin -exec mv -v {} ./ \;
- name: Create draft release
uses: softprops/action-gh-release@v1
with:
draft: True
files: |
*.bin
WLEDMM*.bin
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
47 changes: 47 additions & 0 deletions boards/lilygo-t7-s3.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
{
"build": {
"arduino":{
"ldscript": "esp32s3_out.ld",
"memory_type": "qio_opi",
"partitions": "default_16MB.csv"
},
"core": "esp32",
"extra_flags": [
"-DARDUINO_TTGO_T7_S3",
"-DBOARD_HAS_PSRAM",
"-DARDUINO_USB_MODE=1"
],
"f_cpu": "240000000L",
"f_flash": "80000000L",
"flash_mode": "qio",
"hwids": [
[
"0X303A",
"0x1001"
]
],
"mcu": "esp32s3",
"variant": "esp32s3"
},
"connectivity": [
"wifi",
"bluetooth"
],
"debug": {
"openocd_target": "esp32s3.cfg"
},
"frameworks": [
"arduino",
"espidf"
],
"name": "LILYGO T3-S3",
"upload": {
"flash_size": "16MB",
"maximum_ram_size": 327680,
"maximum_size": 16777216,
"require_upload_port": true,
"speed": 921600
},
"url": "https://www.aliexpress.us/item/3256804591247074.html",
"vendor": "LILYGO"
}
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "wled",
"version": "0.14.1-b32.41",
"version": "0.14.1-b32.41.dev",
"description": "Tools for WLED project",
"main": "tools/cdata.js",
"directories": {
Expand Down
93 changes: 82 additions & 11 deletions platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ default_envs =
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
Expand Down Expand Up @@ -247,7 +248,7 @@ lib_deps =
;;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 @ 2.2.1 ;; newer with bugfixes and stability improvements
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
Expand Down Expand Up @@ -296,6 +297,37 @@ lib_deps =
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
Expand Down Expand Up @@ -1039,10 +1071,8 @@ HUB75_build_flags =
-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
;; HUB75_lib_deps = https://github.com/mrcodetastic/ESP32-HUB75-MatrixPanel-DMA.git @ 3.0.11 ;; breaks the build (2024-07-30)
;; HUB75_lib_deps = https://github.com/mrcodetastic/ESP32-HUB75-MatrixPanel-DMA.git#1e4c80a26454aca7b8129bd5a966b0af329d2703 ;; 3.0.10 - something strange is going on here ...
HUB75_lib_deps = https://github.com/mrcodetastic/ESP32-HUB75-MatrixPanel-DMA.git#1e4c80a26454aca7b8129bd5a966b0af329d2703 ;; 3.0.10 - something strange is going on here ...
;; HUB75_lib_deps = https://github.com/mrcodetastic/ESP32-HUB75-MatrixPanel-DMA.git#c4ecdcfeeb5aa668d92ddf3c3c74bc93316f6e10 ;; 3.0.11
-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_ignore = ESP32 HUB75 LED MATRIX PANEL DMA Display ;; to remove the HUB75 lib dependancy (saves a few bytes)

NetDebug_build_flags =
Expand Down Expand Up @@ -1852,6 +1882,32 @@ lib_deps = ${esp32_4MB_V4_M_base.esp32_lib_deps}
# ------------------------------------------------------------------------------
# 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 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]
Expand All @@ -1866,6 +1922,8 @@ build_unflags =

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_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
Expand Down Expand Up @@ -1893,6 +1951,9 @@ build_flags = ${common.build_flags} ${esp32s3.build_flags} -Wno-misleading-inden
; -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
Expand All @@ -1911,6 +1972,7 @@ 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
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_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
Expand All @@ -1935,10 +1997,12 @@ build_flags = ${common.build_flags} ${esp32s3.build_flags} -Wno-misleading-inden
; -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: [==== ] 36.3% (used 118828 bytes from 327680 bytes)
; Flash: [======= ] 70.7% (used 1483465 bytes from 2097152 bytes)
; 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]
Expand Down Expand Up @@ -2173,7 +2237,6 @@ monitor_filters = esp32_exception_decoder
; RAM: [== ] 21.8% (used 71304 bytes from 327680 bytes)
; Flash: [======== ] 84.0% (used 1596970 bytes from 1900544 bytes)


# ------------------------------------------------------------------------------
# esp32-C3 environments
# ------------------------------------------------------------------------------
Expand Down Expand Up @@ -2461,12 +2524,17 @@ board_build.partitions = tools/WLED_ESP32_16MB.csv ;; WLED standard for
;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_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
Expand All @@ -2478,8 +2546,9 @@ build_flags = ${esp32_4MB_M_base.build_flags}
; -D PIR_SENSOR_PIN=-1
; -D PWM_PIN=-1
; -D WLED_USE_MY_CONFIG
; RAM: [=== ] 25.9% (used 84948 bytes from 327680 bytes)
; Flash: [==========] 95.9% (used 1509113 bytes from 1572864 bytes)
-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]
Expand Down Expand Up @@ -2599,6 +2668,8 @@ build_flags = ${common.build_flags} ${esp32s3.build_flags} -Wno-misleading-inden
-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} !!!!
Expand Down
Loading

0 comments on commit a0dda16

Please sign in to comment.