386 Commits

Author SHA1 Message Date
95137a6d65 Clean up RFP ESP32-S3 target and tooling
Some checks failed
WLED CI / wled_build (push) Has been cancelled
Deploy Nightly / wled_build (push) Has been cancelled
Deploy Nightly / Deploy nightly (push) Has been cancelled
2026-04-17 01:00:37 +02:00
Frank
15c11d94f8 some extra PSRAM infos
unfortunately n7a in esp-idf 4.4.x
2026-03-26 20:48:38 +01:00
Frank
a70b945bce experimental: more info about PSRAM and Flash
* PSRAM speed and transfer mode (serial only)
* added all possible modes and speed flags (-P4 included)
2026-03-26 19:51:27 +01:00
Frank
49130c9ec9 (chores) cleanup some compiler warnings
* switch-cases that fall through
* potential buffer overflow in improv.cpp
* potentially uninitialized variables in FX.cpp
* potential array out-of-range on segment::col[]
* minor optimization: only apply gamma correction when result is needed
* tag some possibly unused variables with   [[maybe_unused]]
2026-03-11 13:54:58 +01:00
Frank
325ea2798c oops, missed a few lines in the last commit 2026-02-20 16:03:32 +01:00
Frank
269a6a2a86 another "heap too low" fix
fixes the fix
2026-02-20 15:20:15 +01:00
Frank
75c6fe1606 fix "Heap too low!" logic
"step1" (flush udp) was never activated (stupid logic error)
2026-02-20 14:42:39 +01:00
Frank Möhle
cce3c0b5d3 psram-aware malloc functions (backport of upstream #4895) (#342)
Introduces new memory allocation functions, based on wled#4895 by @DedeHai

* keep a minimum of 15KB RAM available to UI - improves stability
* S3/S2/C3 automatically use "fast RTC Ram" for small data (reduces fragmentation)
* auto-detects PSRAM (or no PSRAM) when firmware was built with -D BOARD_HAS_PSRAM
* d_malloc() and d_calloc() prefer DRAM if possible (faster), but fall back to PSRAM when free RAM gets low.
2026-02-18 17:57:47 +01:00
Frank
b044fc3ab2 classic esp32: always protect gpio16/17 when PSRAM found
more robust in case that users install the wrong "non-PSRAM" build onto their board.
2026-02-16 17:10:47 +01:00
Frank
b25af92ddd pininfo improvements
new PSRAM PIN descriptions for ESP32-D0WDR2-V3 and ESP32-PICO-V3-02
2026-02-13 16:25:48 +01:00
Frank
29355e7c3d use full silicon version (aka chip revision) in startup output 2026-02-13 00:43:18 +01:00
Frank
c85f65e390 better handling of esp32 PICO-D2 and PICO-V3
including PICO models with PSRAM
2026-02-13 00:28:47 +01:00
Frank
fef8de000e free GPIO17 on "ESP32-D0WDR2-V3" (WLED-MM way)
this is a new "package" with on-chip PSRAM. Only gpio16 is reserved for PSRAM on this chip.
2026-02-11 11:48:09 +01:00
Frank Möhle
d304e9021c Merge pull request #330 from troyhacks/mdev
Always allow proper serial console on S3/C3/C6/etc under ALL conditions
2026-02-07 12:21:59 +01:00
Frank
a5c6740d96 add P4, bring back lost comment
minor updates
- added ESP32-P4 to USB-CDC whitelist
- restored lost comment
2026-02-06 19:00:48 +01:00
Frank
d727cfd3fe bugfix: ensure that all WiFi channels are scanned
backport of upstream https://github.com/wled/WLED/pull/5351
2026-02-06 12:06:56 +01:00
Troy
ce0a55670d Not from my PR but I'll fix it for the rabbit. 2026-01-29 14:12:21 -05:00
Troy
05147002cd The rabbit said I was being too careful. Tested and works. 2026-01-29 13:57:17 -05:00
Troy
ff93a85fa6 Always allow serial console on S3/C3/C6/etc 2026-01-29 13:40:55 -05:00
Frank Möhle
d29402d64f quickfix for sporadic "relay does not turn on" issues
see discussion in https://github.com/wled/WLED/issues/5312
2026-01-26 13:54:32 +01:00
netmindz
729f623953 Merge pull request #4558 from DedeHai/wifi_hardware_timing_fix
Bugfix for incorrect wifi-hardware timing
2026-01-17 12:19:17 +01:00
Damian Schneider
3259b3acb0 Bugfix for brightness factor upon save: fixes #4824 (#4827) 2026-01-17 11:17:07 +01:00
Frank
80032bfe1c statusled: stop the blinking 2026-01-09 17:18:45 +01:00
Frank Möhle
94ac42f445 Fix typo in garbage collection log message 2026-01-07 13:16:45 +01:00
Frank
2a56f9b658 fix presets.json corruption, part 2: mutex for presets file writing
prevents concurrent presets.json writes from doSaveState() and savePreset()
2025-12-29 20:48:07 +01:00
Frank
c185f37791 improved mutex error handling
- debug message in case of "unexpected" mutex errors
- removed experimental delay() in requestJSONBufferLock
2025-12-23 00:33:28 +01:00
Frank
1c2e6aac6e oppsie 2025-12-23 00:11:40 +01:00
Frank
30fcd6efad segment & bus.show mutex redesign
* separate mutexes for improved performance:
  - busses.show and effect drawing
  - critical changes to segment vector
  - block out critical segment changes while strip.service() loops over segments
* UDP realtime acquires mutex before drawing
  - prevents corrupted outputs, caused by parallel tasks updating pixels while busses.show() runs
2025-12-21 23:56:09 +01:00
Frank
7df63db744 and mutex for all
revised mutex and critical section handling for segment drawing
- simplified code with macros (no more #if ESP32 ... #endif)
- remove some critical sections (prevents interrupt stalling)
- added mutex to functions that change the list of segments
- added mutexes to all (potential) background drawing code
- use recursive mutexes to prevent accidental self-locking of tasks
2025-12-20 17:13:52 +01:00
Frank
c25f082231 improve stability of DDP via tcp_task (websockets)
* protect pixel buffer changes with critical section
* protect segment list modification with critical section
* make _isServicing and _triggered atomic (move out of packed bitarray)
* allow custom timeout for waitUntilIdle - DDP needs a longer timeout
* protect strip.show() and effect drawing functions with mutex, to prevent crashes
2025-12-19 18:13:20 +01:00
Frank
bc7cf062e8 effect math sppedup - up to 3x faster
-> distortion waves 3x speedup
-> hiphotic 2x speedup
-> waving cell 1.5x speedup

* replace sin8_t by lookup-table with pre-computed values
* moved integer sin and cos to fcn_declare.h (inlined by the compiler)
* moved gamma32 to fcn_declare.h (inlined by the compiler)
* a few other small tweaks
2025-12-17 21:59:22 +01:00
Frank
dc04ccbde7 another attempt to avoid LED glitches during file writing
* mark synchronization variables volatile (thread-safe)
* additional logic in closeFile() to avoid file write while leds are pushed out by NPB driver
* some comments and analysis
* replace "yield()" after file ops with "delay(0)" before operations.
2025-11-15 00:11:35 +01:00
Frank
36648d1936 hot path optimization: make gamma correction inline
* make sure that gamma LUT is always initialized
* remove some unnecessary safety checks
* make gamma8() inline, for more speed
* use fast unGamma8 for preview
* add super-fast unGamma8 for HUB75 - old function lost 3-10 fps, this version does not reduce fps at all *grins*
2025-11-10 23:17:16 +01:00
Frank
60878305fb debug code updates & fixes
better output when using WLED_DEBUG_HEAP without WLED_DEBUG
2025-10-25 00:53:25 +02:00
Troy
55e9c3d7a2 IDF v4 Ethernet Fixes 2025-01-29 14:01:29 -05:00
Frank
c144c77b81 S3: don't wait for serial to initialize
... allows to start effects a bit aerlier. Enabled by default on -S3. for your own builds, add `-DWLEDMM_NO_SERIAL_WAIT` to build_flags.
2025-01-10 15:50:52 +01:00
Frank
6caa9d78b8 avoid glitches at relay power-on
* switch on relay _after_ the current leds transmission is complete.
2025-01-10 12:49:46 +01:00
Frank
c0d8e256ae WLEDMM: we need the same delay when initially switching the relay on 2025-01-09 23:51:03 +01:00
Frank
79c26db4fa MM-specific handling of PICO reserved pins
this complements the previous commit
2025-01-07 16:45:42 +01:00
Troy
3b46af1101 Make IP clickable via serial monitor 2024-11-23 18:13:05 +01:00
Frank
9312506217 detection of "OPI" flash (esp32s3 WROOM-2) 2024-10-30 18:40:26 +01:00
Frank
a362b619fb fix JSON buffer problem on classic esp32 with PSRAM
as it turns out, classic esp32 cannot allocate more than 64kb for json doc.
2024-10-30 17:00:44 +01:00
Frank
e3444174c0 align PSRAM build flags on all MM targets 2024-10-30 15:52:39 +01:00
Ewoud
33318dab25 Merge pull request #170 from MoonModules/license 2024-10-16 00:14:46 +02:00
Frank
a3545581ea Update wled.cpp - redo undo
This line wasn't the causing the problem I'm chasing ...
2024-10-15 19:37:45 +02:00
Frank
ced453d3a0 undo "fix re-initialised bus' brightness" 2024-10-15 17:03:48 +02:00
Frank
22b16ab542 Align all licensing statements with EUPL-1.2 2024-10-14 21:52:52 +02:00
Frank
68536635d7 show toast when reboot is needed, or error restart happened
less WTF, more information
2024-10-14 11:25:41 +02:00
Blaz Kristan
3a38d0cfed Fix for #4005 2024-10-02 23:22:27 +02:00
Frank
8338b58b88 HUB75 memory usage info on serial 2024-09-28 02:15:41 +02:00