Commit Graph

20 Commits

Author SHA1 Message Date
Will Miles
58239ced02 Fix RMT bus drivers for v5
Use a simpler shim in bus wrapper, and clean up the HI driver to
indicate that it's not v5 compatible (yet).
2026-03-26 18:43:04 -04:00
Frank
d76bd5fe59 fix esp32dev_V4 build
* disable "temporary shim for NeoPixelBus CORE3" for V4
* better way to prevent compiling NeoEsp32RmtHIMethod
2026-02-08 01:54:47 +01:00
Frank
68a8812942 adding WLED_USE_SHARED_RMT for all V5 builds
plus
- re-enabled one S3 and one S2 build
- disabled c++20 deprecation warnings
- minor indentation fix
2026-02-08 00:35:59 +01:00
Will Tatam
a57e895bb9 Merge branch 'main' into V5 2026-02-07 19:28:12 +00:00
Will Miles
f70b359631 Revert "Fix ESP8266 DMA off-by-one"
This reverts commit 4fa4bc8d4b.
2025-12-01 21:43:45 -05:00
Frank
e891c5c36a Merge branch 'main' into V5 2025-12-01 20:26:44 +01:00
Will Miles
4fa4bc8d4b Fix ESP8266 DMA off-by-one
Shim in https://github.com/Makuna/NeoPixelBus/pull/894 until approved by
upstream.  Fixes #4906 and #5136.
2025-11-30 22:10:33 -05:00
Will Tatam
0653854904 NeoEsp32RmtHI does not support V5 2025-11-08 13:03:55 +00:00
Will Miles
2e834852d5 RmtHI: Add missing includes
While these were both fortunately included in Arduino.h, as
@coderabbitai suggests, it's best practice to be explicit for anything
one uses directly.
2025-09-01 22:03:18 -04:00
Will Miles
5e3803a5bb RmtHI: Fix incorrect method typedefs 2025-09-01 21:51:36 -04:00
Will Miles
91d7e0c051 RmtHI: Remove incorrect default selection block 2025-09-01 21:50:57 -04:00
Will Miles
19a49e83d1 Import RmtHI driver
Pull the RMT High-priority Interrupt driver in to a vendored local
library, pending inclusion in upstream NeoPixelBus.

Driver is enabled only for XTensa chips; there's some unresolved
issue with nested interrupts on RISCV.
2025-08-30 15:57:04 -04:00
Will Miles
d37ee89e84 ESP8266PWM: Fix phase shift glitches
In some cases it was possible for the computed phase shift to skip
a cycle.  Update the shift calculation logic to prevent this.
2024-11-09 21:33:58 -05:00
Will Miles
59deebc961 Improve PWM on ESP8266
- Better phase updates without dropping samples
- Make second pin duty cycle always after first, even inverted
2024-09-29 10:00:27 -04:00
Will Miles
3c7f83407b Save a little RAM 2024-09-28 23:16:26 -04:00
Will Miles
fe4b668107 Slightly reduce PWM jankiness 2024-09-28 23:12:03 -04:00
Will Miles
cc87b32206 Support PWM phase shifts on ESP8266
Use the phase-locked soft PWM from the Arduino core to implement the
same PWM phase management as ESP32s are using.  The soft PWM code is
vendored in, as it was previously, to add the NMI workaround from #4035.

Completes #4034
2024-09-28 23:07:28 -04:00
Will Miles
2fc2f47d06 ESP8266PWM: Annotate sources
Add additional clarification as to the original source URL and the
specific local patches.
2024-07-12 19:16:31 -04:00
Will Miles
ff39a8db3f Fix PWM crashes on ESP8266
Vendor in the ESP8266 Arduino core PWM library, with a fix for a nasty
NMI crash bug.  Sometimes the NMI return instruction seems to fail,
resulting in an infinite loop as the PC gets stuck.  Work around this
by backing up and restoring the PC if needed.
2024-06-27 21:30:05 -04:00
Daniel Wiesendorf
b51be31d8a added initial PlatformIO config. still needs work 2018-11-14 22:07:04 +01:00