Skip to content
Draft
Show file tree
Hide file tree
Changes from 109 commits
Commits
Show all changes
120 commits
Select commit Hold shift + click to select a range
9649125
Disable other envs to save CI build time
netmindz Nov 8, 2025
0f10558
ESP32-C6 buildenv
softhack007 Jun 13, 2024
cf195af
build only esp32c6dev_4MB
netmindz Nov 8, 2025
db65e30
use esp32_idf_V5.platform
netmindz Nov 8, 2025
fa5aa58
Update platformio.ini
softhack007 Jun 13, 2024
152bfd1
Merge branch 'V5' into V5-C6
softhack007 Dec 1, 2025
1bc63ca
use the same lib_deps as the "main V5" branch
softhack007 Dec 1, 2025
6961059
minor changes for consistency with other build envs
softhack007 Dec 1, 2025
45d105e
Merge branch 'V5' into V5-C6
softhack007 Dec 1, 2025
b2d6591
disable QuickEspNow - seems incompatible with -C6
softhack007 Dec 1, 2025
62ca377
remove special FASTLED_NO_FASTLED hack
softhack007 Dec 1, 2025
7023545
treat C6 similar to C3
softhack007 Dec 1, 2025
1de36ca
more "C6 is like C3" adjustments
softhack007 Dec 1, 2025
2df4c58
disable touch button code on C6
softhack007 Dec 1, 2025
3f441f0
guess what ... more "C6 is like C3" ifdefs needed
softhack007 Dec 1, 2025
c73935d
small fix
softhack007 Dec 1, 2025
c096c5b
fix for old-style WLED_RELEASE_NAME
softhack007 Dec 1, 2025
5ecf76c
Merge branch 'V5' into V5-C6
softhack007 Dec 1, 2025
bc4b6b6
Merge branch 'V5' into V5-C6
softhack007 Dec 1, 2025
7b54be8
Merge branch 'V5' into V5-C6
softhack007 Dec 1, 2025
9f12301
esp32c6 inherits build_unflags and lib_ignore from V5 buildenv
softhack007 Dec 1, 2025
f88fd07
temporary workaround for #5145
softhack007 Dec 1, 2025
d3e92f2
Fix ESP32-C6 runtime crash and improve compatibility
karan-vk Nov 26, 2025
ec44fd1
Add ESP32-C6 pin validation for strapping and USB-JTAG pins
karan-vk Nov 26, 2025
c92abb8
Address PR comments: cleanup and safety improvements
karan-vk Nov 29, 2025
e4d6848
Revert .vscode/extensions.json
karan-vk Nov 29, 2025
d2c1313
Fully revert .vscode/extensions.json to base branch
karan-vk Nov 29, 2025
4ebbd86
Use Aircoookie/ESPAsyncWebServer v2.4.2 instead of softhack007 fork
karan-vk Nov 29, 2025
2f267a8
Merge pull request #5114 from karan-vk/esp32c6-fixes
softhack007 Jan 10, 2026
cf09c0d
Comment out '#pragma warning' suppression flag
softhack007 Feb 7, 2026
01b1c51
Add experimental ESP32-C5 support with WiFi 6 dual-band
jonny190 Feb 7, 2026
8268c4a
Applied changes based on comments on PR
jonny190 Feb 7, 2026
11f5be1
Removed Leftover file
jonny190 Feb 7, 2026
35706f0
Apply suggestion from @coderabbitai[bot] for WiFi band
netmindz Feb 7, 2026
5137768
Address PR review: pin pioarduino, fix I2S1 remap, simplify arch check
jonny190 Feb 7, 2026
d2e6a56
Use NeoPixelBus fork with ESP32-C5 bit-bang and I2S fixes
jonny190 Feb 7, 2026
1a025f5
Fix MAC address on ESP32-C5 and update NeoPixelBus fork
jonny190 Feb 8, 2026
f0acc62
Merge pull request #5355 from jonny190/ESP32-C5-V5
softhack007 Feb 8, 2026
83c37f8
Merge branch 'V5' into V5-C6
softhack007 Feb 8, 2026
6cefd14
fix C5 build error
softhack007 Feb 8, 2026
16262ee
platformio.ini: moving [esp32c5] upwards
softhack007 Feb 8, 2026
b2e0c24
simplify and correct some long ifdef chains
softhack007 Feb 8, 2026
a1a1905
simplify C5 buildenv
softhack007 Feb 8, 2026
a3a3547
adding [env:esp32c5dev_8MB_qspi]
softhack007 Feb 8, 2026
b860a1a
fix incorrect PSRAM warning on C5 and C6
softhack007 Feb 8, 2026
20dd750
alexa build error was already solved in V5 branch
softhack007 Feb 8, 2026
e9b1a53
PSRAM guard bugfix
softhack007 Feb 8, 2026
8b98a7a
future support: adding C61 and P4 to esp32RMTInvertIdle() guard
softhack007 Feb 8, 2026
0920f0f
extend some chip type guards for C6 and P4
softhack007 Feb 8, 2026
b30951e
C6 buildenv cleanup
softhack007 Feb 8, 2026
6b9f90c
remove outdated patched libs for C6
softhack007 Feb 8, 2026
3c24681
ifdef guards alignment
softhack007 Feb 8, 2026
9232bd4
correct straping pin comments in pinManager
softhack007 Feb 8, 2026
be49f34
add include guard for esp_mac.h
softhack007 Feb 8, 2026
1800a32
align index.js with chip types from nodestruct.h
softhack007 Feb 8, 2026
9d63296
fix debug delay condition in wled.cpp
softhack007 Feb 8, 2026
d7ab1f4
Merge branch 'V5' into V5-C6
softhack007 Feb 8, 2026
7370c10
remove dead (and dangerous) mutex macros in bus_manager.cpp (#5364)
softhack007 Feb 9, 2026
8159768
ToDO: research how to set PWM duty cycle and hpoint for dithering
softhack007 Feb 9, 2026
d8616e6
C5/C6 minor updates
softhack007 Feb 9, 2026
5b46b9c
experimental: enable 5Ghz WiFi on C5
softhack007 Feb 9, 2026
576e82b
report errors from 5Ghz wifi config
softhack007 Feb 9, 2026
e104529
move 5Ghz init after WiFi.mode(WIFI_STA)
softhack007 Feb 9, 2026
6e70d0c
clarification
softhack007 Feb 9, 2026
b72568f
ESP32-C5 does not support analog dithering (yet)
softhack007 Feb 10, 2026
d3251c5
Use Wifi class method to activate 5Ghz Wifi
softhack007 Feb 10, 2026
f02e6b6
proper wifi channel & band reporting
softhack007 Feb 10, 2026
b128585
fix compiler warning "comparing signed with unsigned is undefined beh…
softhack007 Feb 10, 2026
ab65e9f
C5: change NeoPixelBus reference to "wled-c5-stable" tag
softhack007 Feb 10, 2026
ed6b82b
repeat WiFi.setBandMode() in initConnection()
softhack007 Feb 10, 2026
7014d4f
nitpick: fixing another case of "comparing unsigned to integer is und…
softhack007 Feb 10, 2026
edf0cbe
adding wled_boards.h to reduce #if defined() .. clutter
softhack007 Feb 10, 2026
d823ab4
replace some very long if defined() chains with flags from wled_boards.h
softhack007 Feb 10, 2026
cd911ae
oopsie
softhack007 Feb 10, 2026
4f9c48f
consistency fix
softhack007 Feb 10, 2026
71cf78b
Merge branch 'V5' into V5-C6
softhack007 Feb 10, 2026
546384b
fixing minor errors
softhack007 Feb 10, 2026
1009855
shorten some more ifdef chains in wled.h
softhack007 Feb 10, 2026
c6739d3
ToDo: adjust Wi-Fi stregth to match value allowed by V5 framework
softhack007 Feb 10, 2026
08ca41b
expand chip-specific "if defined" to C61 and P4 (future support)
softhack007 Feb 10, 2026
a39285a
Add WiFi band preference for dual-band ESP32 chips (#5367)
jonny190 Feb 10, 2026
703b90f
Merge branch 'V5' into V5-C6
softhack007 Feb 10, 2026
f8df68c
tiny change
softhack007 Feb 10, 2026
b730ce8
removing another mega guard
softhack007 Feb 10, 2026
e046316
add channel to wifi scan result list (wifi settings)
softhack007 Feb 10, 2026
f8a6790
5Ghz wifi scanning
softhack007 Feb 10, 2026
55eee94
support higher Tx power (V5 only)
softhack007 Feb 10, 2026
46a1b2f
clarification
softhack007 Feb 10, 2026
ede8a14
ifdef fixes
softhack007 Feb 10, 2026
deaae11
missed one
softhack007 Feb 11, 2026
5e073ce
add esp-idf managed folders to .gitignore
softhack007 Feb 11, 2026
c1dddea
ermove duplicate extern references
softhack007 Feb 11, 2026
7ce497b
fix broken ifdef chain in wled.h
softhack007 Feb 11, 2026
967f6ab
Merge branch 'V5' into V5-C6
softhack007 Feb 12, 2026
3de117b
typo
softhack007 Feb 12, 2026
1bda0bf
Merge branch 'V5' into V5-C6
softhack007 Feb 12, 2026
acc98d4
Merge branch 'V5' into V5-C6
softhack007 Feb 14, 2026
cffc57e
make LED settings work, by pretending to be a c3
softhack007 Feb 20, 2026
a425b97
minor buildenv cleanup
softhack007 Feb 23, 2026
9959f75
(experimental) buildenv for P4
softhack007 Feb 23, 2026
2820331
16.0-V5alpha --> 16.0-alpha-V5
softhack007 Feb 23, 2026
2802f8c
adding monitor_filters
softhack007 Feb 23, 2026
0c6c66b
remove touchButtonISR() on boards that don't suport it
softhack007 Feb 24, 2026
ed0fadd
esp32-P4 pins (will clean up later)
softhack007 Feb 24, 2026
5c9803d
P4 buildenv update
softhack007 Feb 24, 2026
aadabe9
credits
softhack007 Feb 24, 2026
2123389
P4 buildenv update
softhack007 Feb 24, 2026
3abd8c7
P4: auto-update esp-hosted WiFi coprocessor
softhack007 Feb 24, 2026
491546b
typo's
softhack007 Feb 24, 2026
d3b8d96
more typos and comment corrections
softhack007 Feb 25, 2026
2ce3870
P4 does not have on-chip WiFi, use ETH MAC instead
softhack007 Feb 25, 2026
fb877ad
P4 buildenv update
softhack007 Feb 26, 2026
c76cb5c
dependancies update
softhack007 Feb 28, 2026
8fcdbe6
Merge branch 'V5' into V5-C6
softhack007 Feb 28, 2026
511ff78
Merge branch 'V5' into V5-C6
softhack007 Mar 1, 2026
fc313e1
pioarduino 55.03.37 (-C5 and -P4 only)
softhack007 Mar 1, 2026
d4b0360
bugfix: right shift on signed char is unsafe
softhack007 Mar 1, 2026
27a6fad
bugfix: prevent array bounds violations due to short WS payload data
softhack007 Mar 1, 2026
fc2ffed
-alpha-V5 --> -alphaV5
softhack007 Mar 1, 2026
2af98d4
build_unflags should always come from same origin as platform
softhack007 Mar 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{
// See http://go.microsoft.com/fwlink/?LinkId=827846
// for the documentation about the extensions.json format
"recommendations": [
"pioarduino.pioarduino-ide",
"platformio.platformio-ide"
],
"unwantedRecommendations": [
Expand Down
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": "16.0-V5alpha",
"version": "16.0-alpha-V5",
"description": "Tools for WLED project",
"main": "tools/cdata.js",
"directories": {
Expand Down
11 changes: 6 additions & 5 deletions pio-scripts/set_metadata.py
Original file line number Diff line number Diff line change
Expand Up @@ -100,15 +100,16 @@ def add_wled_metadata_flags(env, node):
if not has_def(cdefs, "WLED_REPO"):
repo = get_github_repo()
if repo:
print(f"repo = {repo}")
cdefs.append(("WLED_REPO", f"\\\"{repo}\\\""))

cdefs.append(("WLED_VERSION", WLED_VERSION))

# This transforms the node in to a Builder; it cannot be modified again
return env.Object(
node,
CPPDEFINES=cdefs
)
# Return the node unmodified - middleware should not create new build targets
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ToDO: this is a temporary hack - the root cause is solved in the latest pioarduino (and tasmota, too?). Remember to revert this change once we upgrade to latest platform packages.

print(f"version = {WLED_VERSION}")
# Instead, modify the environment's CPPDEFINES before the file is compiled
env["CPPDEFINES"] = cdefs
return node

env.AddBuildMiddleware(
add_wled_metadata_flags,
Expand Down
216 changes: 216 additions & 0 deletions platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ default_envs =
esp32_wrover
lolin_s2_mini ;; TODO: disabled NeoEsp32RmtMethodIsr
esp32c3dev
esp32c6dev_4MB
esp32c5dev
esp32p4_16MB ;; P4 360 Mhz 16MB flash - experimental
; esp32P4_400 ;; P4 rev3 400 Mhz - not usable yet
; esp32s3dev_16MB_opi ;; TODO: disabled NeoEsp32RmtMethodIsr
; esp32s3dev_8MB_opi ;; TODO: disabled NeoEsp32RmtMethodIsr
; esp32s3_4M_qspi ;; TODO: disabled NeoEsp32RmtMethodIsr
Expand Down Expand Up @@ -169,6 +173,7 @@ upload_speed = 115200
lib_compat_mode = strict
lib_deps =
fastled/FastLED @ 3.10.1
;; https://github.com/softhack007/FastLED.git#ESP32-C6 ;; patched version for -C6
; IRremoteESP8266 @ 2.8.2 ;; TODO: add back
;; neopixelbus dependancy moved into [8266] and [esp32_all_variants] sections
https://github.com/Aircoookie/ESPAsyncWebServer.git#v2.4.2
Expand Down Expand Up @@ -385,6 +390,217 @@ lib_ignore = ${esp32_idf_V5.lib_ignore}
board_build.partitions = ${esp32.default_partitions} ;; default partioning for 4MB Flash - can be overridden in build envs
board_build.flash_mode = qio


[esp32c5]
;; generic definitions for all ESP32-C5 boards
;; NOTE: ESP32-C5 requires pioarduino platform (Tasmota framework doesn't include C5 Arduino libs yet)
platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.36/platform-espressif32.zip
platform_packages =
build_unflags = ${esp32_idf_V5.build_unflags}
-D WLED_ENABLE_DMX_INPUT ;; esp_dmx library doesn't support C5 UART registers yet
build_flags = -g
-Wshadow=compatible-local
-DARDUINO_ARCH_ESP32
-DARDUINO_ARCH_ESP32C5
-DCONFIG_IDF_TARGET_ESP32C5=1
-D CONFIG_ASYNC_TCP_USE_WDT=0
-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
${esp32_idf_V5.build_flags}
lib_deps =
;; NB: we spell out deps explicitly (instead of ${esp32_idf_V5.lib_deps}) to replace
;; the upstream NeoPixelBus with a C5-patched fork; using both causes duplicate compilation.
;; TODO: remove the temporarily Override below once NeoPixelBus has official support for -C5
;; ${esp32_all_variants.lib_deps}
esp32async/AsyncTCP @ 3.4.6
bitbank2/AnimatedGIF@^1.4.7
https://github.com/Aircoookie/GifDecoder.git#bc3af189b6b1e06946569f6b4287f0b79a860f8e
https://github.com/jonny190/NeoPixelBus.git#wled-c5-stable ;; wled-c5-stable for C5 support: I2S exclusion, bit-bang CSR/GPIO, channel ctor overload
https://github.com/netmindz/esp_dmx/#esp-idf-v5-fixes
${env.lib_deps}
Comment on lines +421 to +423
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟑 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

REPO="https://github.com/jonny190/NeoPixelBus.git"
BRANCH="wled-c5-stable"

echo "== Resolved branch head =="
git ls-remote "$REPO" "refs/heads/$BRANCH"

tmpdir="$(mktemp -d)"
git clone --depth 1 --branch "$BRANCH" "$REPO" "$tmpdir/NeoPixelBus"

echo "== Inspect C5/RMT channel handling in fork =="
rg -n -C2 "channel|RMT|tx|TX|constructor" "$tmpdir/NeoPixelBus" -g '*Rmt*' -g '*.h' -g '*.cpp'

echo ""
echo "== Commit info =="
cd "$tmpdir/NeoPixelBus"
git log --oneline -5
cd - > /dev/null

# Cleanup
rm -rf "$tmpdir"

Repository: wled/WLED

Length of output: 50495


🏁 Script executed:

#!/bin/bash
set -euo pipefail

REPO="https://github.com/jonny190/NeoPixelBus.git"
BRANCH="wled-c5-stable"

tmpdir="$(mktemp -d)"
git clone --depth 1 --branch "$BRANCH" "$REPO" "$tmpdir/NeoPixelBus"

echo "== Commit details =="
cd "$tmpdir/NeoPixelBus"
git log --oneline -1
git log -1 --pretty=fuller

echo ""
echo "== Looking for RMT method files with C5 constructor overload =="
find . -name "*Rmt*.h" -type f | head -10

echo ""
echo "== C5-specific RMT constructor in NeoEsp32RmtHI =="
if [ -f "lib/NeoESP32RmtHI/include/NeoEsp32RmtHIMethod.h" ]; then
  grep -n "NeoEsp32RmtHIMethod.*NeoBusChannel\|construct\|channel" "lib/NeoESP32RmtHI/include/NeoEsp32RmtHIMethod.h" | head -30
else
  echo "File not found at expected path; listing alternatives:"
  find . -name "*RmtHI*.h" -o -name "*RmtHI*.cpp" | head -5
fi

cd - > /dev/null
rm -rf "$tmpdir"

Repository: wled/WLED

Length of output: 1157


🏁 Script executed:

#!/bin/bash
set -euo pipefail

REPO="https://github.com/jonny190/NeoPixelBus.git"
BRANCH="wled-c5-stable"

tmpdir="$(mktemp -d)"
git clone --depth 1 --branch "$BRANCH" "$REPO" "$tmpdir/NeoPixelBus"

echo "== Searching for C5 and TX-channel logic =="
cd "$tmpdir/NeoPixelBus"
rg -i "c5|tx.*channel|channel.*tx" --max-count=15 -A 2 src/internal/methods/ESP/ESP32/

echo ""
echo "== NeoEsp32RmtXMethod.h header (constructor section) =="
head -150 src/internal/methods/ESP/ESP32/NeoEsp32RmtXMethod.h | tail -80

echo ""
echo "== Git log (last 10 commits) =="
git log --oneline -10

cd - > /dev/null
rm -rf "$tmpdir"

Repository: wled/WLED

Length of output: 14493


Pin the C5 NeoPixelBus dependency to commit 103cfb585ef8efcdd6645ebb9938bf7012d093fd for reproducibility.

Using a moving branch (#wled-c5-stable) makes builds non-reproducible and difficult to track regressions. The current HEAD implements a BitBang constructor overload for RMT-to-BitBang fallback on C5, which allows the library to handle channel parameters during substitution. Pin to the verified commit SHA in lib_deps:

https://github.com/jonny190/NeoPixelBus.git#103cfb585ef8efcdd6645ebb9938bf7012d093fd

Note: The fix on this branch is a BitBang constructor overload accepting NeoBusChannel parameter; actual TX-capable channel selection for RMT is delegated to the ESP-IDF framework's rmt_new_tx_channel() API. If WLED still requires additional C5 RMT channel constraints, maintain any temporary limitations in WLED-side pin manager code.

πŸ€– Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@platformio.ini` around lines 421 - 423, Replace the moving branch reference
for the NeoPixelBus dependency with the exact commit SHA to ensure reproducible
builds: in platformio.ini update the NeoPixelBus entry used in ${env.lib_deps}
from the branch specifier (NeoPixelBus.git#wled-c5-stable) to the pinned commit
NeoPixelBus.git#103cfb585ef8efcdd6645ebb9938bf7012d093fd so the project uses
that verified commit which contains the BitBang constructor overload handling
NeoBusChannel.

lib_ignore = ${esp32_idf_V5.lib_ignore}
esp_dmx ;; esp_dmx library doesn't support C5 UART registers yet
extra_scripts = ${scripts_defaults.extra_scripts}

[esp32c6]
;; generic definitions for all ESP32-C6 boards
platform = ${esp32_idf_V5.platform}
platform_packages = ${esp32_idf_V5.platform_packages}
;;platform_packages =
;; framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#3.0.1
;; framework-arduinoespressif32-libs @ https://github.com/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip

;; board = esp32-c6-devkitm-1 ;; board must be defined in the lower-level [env:*] buildenvs for C6-based boards
build_unflags = ${esp32_idf_V5.build_unflags}
build_flags = -g
-DARDUINO_ARCH_ESP32
-DARDUINO_ARCH_ESP32C6
-DCONFIG_IDF_TARGET_ESP32C6=1
-D CONFIG_ASYNC_TCP_USE_WDT=0
-DCO
-DARDUINO_USB_MODE=1 ;; this flag is - most likely - mandatory for ESP32-C6
;; 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
${esp32_idf_V5.build_flags}
lib_deps = ${esp32_idf_V5.lib_deps}
lib_ignore = ${esp32_idf_V5.lib_ignore}

[esp32p4]
;; !! Important: if your board shows errors when trying to start WiFi, the C6 coprocessor might need a firmware update.
;; !! go here ==> https://esp32-c6-firmware-update.github.io/
;;
;; generic definitions for all ESP32-P4 boards. TODO: make wifi work by using esp-hosted networking
;; Using latest tasmota framework - older frameworks only have minimal support for P4
platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.37/platform-espressif32.zip
platform_packages =
build_unflags = ${esp32_idf_V5.build_unflags}
-D WLED_ENABLE_DMX_INPUT ;; library not compatible with -P4
-D WLED_ENABLE_DMX ;; DMX serial out needs adaptations for P4 compatibility
build_flags = -g
-DARDUINO_ARCH_ESP32
-DARDUINO_ARCH_ESP32P4
-DCONFIG_IDF_TARGET_ESP32P4=1
-D CONFIG_ASYNC_TCP_USE_WDT=0
-DCO
-DARDUINO_USB_MODE=1 ;; this flag is - most likely - mandatory for ESP32-P4
-DFASTLED_NO_FASTLED ;; toDO: temporary hack for softhack007 patched fastled
-D WLED_DISABLE_INFRARED ;; library not compatible with -P4
-D WLED_DISABLE_ESPNOW ;; not yet tested
;; 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
${esp32_idf_V5.build_flags}

lib_deps = ${esp32_idf_V5.lib_deps}
https://github.com/softhack007/FastLED.git#ESP32-C6 ;; patched version - only math, no hardware drivers
lib_ignore = ${esp32_idf_V5.lib_ignore}
IRremoteESP8266 ; TODo: remove once we have a version thats compatible
QuickEspNow ; ToDO: disabled until we find a compatible version
esp_dmx ; ToDO: disabled until we find a compatible version
FastLED ; ToDO: repaces fastled with no_fastled (softhack007)


[env:esp32c6dev_8MB]
;; ESP32-C6 "devkit C" with 8MB flash
extends = esp32c6
platform = ${esp32c6.platform}
platform_packages = ${esp32c6.platform_packages}
board = esp32-c6-devkitc-1

build_unflags = ${esp32c6.build_unflags}
;;-D CORE_DEBUG_LEVEL=0
;;-D NDEBUG
build_flags = ${common.build_flags} ${esp32c6.build_flags} -D WLED_RELEASE_NAME=\"ESP32-C6_8MB\"
-Wno-volatile -Wno-deprecated-declarations ;; silence compiler warnings
;; -Wno-cpp ;; silence '#pragma warning' messages
;;-D DEBUG -g3 -ggdb
;;-D CORE_DEBUG_LEVEL=4
-D WLED_WATCHDOG_TIMEOUT=0
;; -DLOLIN_WIFI_FIX ; might be needed on "-C6 mini"
;;-DARDUINO_USB_CDC_ON_BOOT=1 ;; for virtual CDC USB
-DARDUINO_USB_CDC_ON_BOOT=0 ;; for serial-to-USB chip
-D WLED_DISABLE_INFRARED ;; library not not compatible with -C6
-D WLED_DISABLE_ESPNOW ;; ToDO: temporarily disabled, until we find a solution for esp-now build errors with -C6
upload_speed = 460800
lib_deps = ${esp32c6.lib_deps}
lib_ignore = ${esp32c6.lib_ignore}
IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation
QuickEspNow ; ToDO: disabled until we find a compatible version

board_build.partitions = ${esp32.large_partitions}
board_build.f_flash = 80000000L
board_build.flash_mode = qio
board_build.arduino.memory_type = qio_qspi
monitor_filters = esp32_exception_decoder

[env:esp32c6dev_4MB]
;; ESP32-C6 "devkit M" with 4MB flash
extends = env:esp32c6dev_8MB
board = esp32-c6-devkitm-1
board_build.partitions = ${esp32.default_partitions}
build_unflags = ${env:esp32c6dev_8MB.build_unflags} -D WLED_RELEASE_NAME=\"ESP32-C6_8MB\"
build_flags = ${env:esp32c6dev_8MB.build_flags} -D WLED_RELEASE_NAME=\"ESP32-C6_4MB\"
monitor_filters = esp32_exception_decoder


[env:esp32c5dev]
;; ESP32-C5 "devkit C" with 4MB flash, no PSRAM - EXPERIMENTAL
extends = esp32c5
board = esp32-c5-devkitc-1
board_build.f_flash = 80000000L
board_build.flash_mode = qio
board_build.arduino.memory_type = qio_qspi ;; flash config only, this board has no PSRAM

build_flags = ${common.build_flags} ${esp32c5.build_flags} -D WLED_RELEASE_NAME=\"ESP32-C5\"
-Wno-volatile -Wno-deprecated-declarations
-D WLED_WATCHDOG_TIMEOUT=0
-DARDUINO_USB_MODE=1 ;; this flag is mandatory for ESP32-C5
-DARDUINO_USB_CDC_ON_BOOT=0 ;; for serial-to-USB chip
-D WLED_DISABLE_INFRARED ;; library not compatible with -C5
-D WLED_DISABLE_ESPNOW ;; not yet tested
-D WLED_DEBUG
lib_ignore = ${esp32c5.lib_ignore}
IRremoteESP8266
QuickEspNow

board_build.partitions = ${esp32.big_partitions}
upload_speed = 460800
monitor_filters = esp32_exception_decoder

[env:esp32c5dev_8MB_qspi]
;; ESP32-C5 with 8MB flash and PSRAM - EXPERIMENTAL
extends = esp32c5
board = esp32-c5-devkitc1-n8r4
board_build.f_flash = 80000000L
board_build.flash_mode = qio
board_build.arduino.memory_type = qio_qspi ;; this board has PSRAM

build_flags = ${common.build_flags} ${esp32c5.build_flags} -D WLED_RELEASE_NAME=\"ESP32-C5_8MB_qspi\"
-Wno-volatile -Wno-deprecated-declarations
-D BOARD_HAS_PSRAM
-D WLED_WATCHDOG_TIMEOUT=0
-DARDUINO_USB_MODE=1 ;; this flag is mandatory for ESP32-C5
-DARDUINO_USB_CDC_ON_BOOT=0 ;; for serial-to-USB chip
-D WLED_DISABLE_INFRARED ;; library not compatible with -C5
-D WLED_DISABLE_ESPNOW ;; not yet tested
-D WLED_DEBUG
lib_ignore = ${esp32c5.lib_ignore}
IRremoteESP8266
QuickEspNow

board_build.partitions = ${esp32.large_partitions}
board_upload.flash_size = 8MB
board_upload.maximum_size = 8388608
upload_speed = 460800
monitor_filters = esp32_exception_decoder


[env:esp32p4_16MB]
;; (experimental) ESP32-P4 with 16 MB Flash, 32MB PSRAM
;; https://www.waveshare.com/esp32-p4-nano.htm
extends = esp32p4
platform = ${esp32p4.platform}
platform_packages = ${esp32p4.platform_packages}
board = esp32-p4-evboard ;; P4 eval board, 360Mhz
;; board = esp32-p4_r3-evboard ;; P4 eval board with "revision 3" CPU, 400Mhz
;; board = esp32-p4 ;; 360Mhz
;; board = esp32-p4_r3 ;; 400Mhz

board_build.flash_mode = qio
;;board_build.arduino.memory_type = qio_qspi ;; should actually be opi_hpi
board_build.partitions = ${esp32.extreme_partitions} ;; for 16MB Flash
;;board_build.f_cpu = 400000000L ;; to enforce 400Mhz CPU speed
build_unflags = ${esp32p4.build_unflags}
;; -DCORE_DEBUG_LEVEL=0
build_flags = ${esp32p4.build_flags} -D WLED_RELEASE_NAME=\"ESP32-P4_16MB\" -DBOARD_HAS_PSRAM
;; -D WLED_DEBUG
;; -DCORE_DEBUG_LEVEL=5
lib_ignore = ${esp32p4.lib_ignore}
upload_speed = 460800
monitor_filters = esp32_exception_decoder


[esp32s3]
;; generic definitions for all ESP32-S3 boards
platform = ${esp32_idf_V5.platform}
Expand Down
Loading