saleae / async-rgb-led-analyzer

Saleae Async RGB LED Analyzer
MIT License
8 stars 11 forks source link

Fix incorrect ws2811 high speed timing & tolerance #3

Open maddogjt opened 3 years ago

maddogjt commented 3 years ago

The high speed timing for WS2811 1 bit low was not correctly half of the low speed timing.

After addressing this issue, the analyser still failed to correctly interpret my captured data due to the tolerances. The datasheet or the original ws2811 drivers is ambiguous on whether the tolerances should also be divided for high speed mode. The behavior of the driver as well as the datasheet of the similar 2812 part (800mhz, +-150ns tolerance) seem to indicate that the tolerance should remain +- 150ns.

Changing the tolerances as suggested in #2 results in correct analysis.

I've attached a sample capture taken using an ESP32 controller running the FastLED library on WS2811 800MHz mode #LEDs ws2811_on_esp32_fastled.zip