Skip to content

Add WS2815B-2121 LED chip timing support - #3

Draft
lucastcox with Copilot wants to merge 4 commits into
mainfrom
copilot/add-timing-support-for-chip
Draft

lucastcox with Copilot wants to merge 4 commits into
mainfrom
copilot/add-timing-support-for-chip

Conversation

Copilot AI commented Apr 7, 2026 •

Copy link
Copy Markdown
  • Explore codebase to understand LED chip type architecture
  • Add TYPE_WS2815B = 35 constant in wled00/const.h
  • Define NeoEsp32RmtSpeedWs2815b speed class with center timing (T0H=300ns, T1H=710ns, T0L=2950ns, T1L=2800ns, Reset=300µs)
  • Add HI RMT method typedef in lib/NeoESP32RmtHI/include/NeoEsp32RmtHIMethod.h
  • Add ESP32 bus type IDs, macros, and all PolyBus switch cases in wled00/bus_wrapper.h
  • Add ESP8266 bus type IDs, macros, and all PolyBus switch cases in wled00/bus_wrapper.h
  • Add non-HI RMT method typedef for WLED_USE_SHARED_RMT builds
  • Add WS2815B to getLEDTypes() dropdown in wled00/bus_manager.cpp
  • Run npm run build and npm test — all 16 tests pass
  • Run hardware build (pio run -e esp32dev) — build succeeded

Copilot AI and others added 4 commits April 7, 2026 22:22
Add bus type support for WS2815B (TYPE_WS2815B = 35), a 3-channel RGB
LED chip with custom timing. Changes include:

- ESP8266 bus type IDs (I_8266_*_2815B_3, IDs 49-52)
- ESP32 bus type IDs (I_32_RN_2815B_3 = 49, I_32_I2_2815B_3 = 50)
- ESP8266 bus macros using Ws2813 timing (closest available)
- ESP32 bus macros using custom NeoEsp32RmtMethod(Ws2815b)
- Non-HI RMT method typedef for shared RMT fallback
- Switch cases in all PolyBus methods (begin, create, show, canShow,
  setPixelColor, getPixelColor, cleanup, getDataSize, memUsage)
- getI() mapping for both ESP8266 and ESP32

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: lucastcox <6495989+lucastcox@users.noreply.github.com>
…ency

- Add missing 'else' keyword in I_32_I2_2815B_3 canShow case to match
  the pattern used by all other I2S bus types
- Fix getDataSize I2S calculation to use consistent *4 multiplier
  pattern matching all other I2S bus types

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: lucastcox <6495989+lucastcox@users.noreply.github.com>
Co-authored-by: lucastcox <6495989+lucastcox@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants