saleae / async-rgb-led-analyzer

Saleae Async RGB LED Analyzer
MIT License
7 stars 9 forks source link

The WS2811 LED bit timing tolerance should be wider #2

Open Marcus10110 opened 5 years ago

Marcus10110 commented 5 years ago

Existing tolerances can be found here: https://github.com/saleae/async-rgb-led-analyzer/blob/c93bccdcade779dbe1bc52d5d4087a8a1abca36c/src/AsyncRgbLedAnalyzerSettings.cpp#L64

Taken from this datasheet: https://cdn-shop.adafruit.com/datasheets/WS2811.pdf

Problem 1: The tolerance for the high speed operation is implemented as +/- 75ns. The datasheet is ambiguous, and I suggest increasing tolerance to +/-150ns.

Problem 2: Other datasheets for the WS2811 offer wildly different ranges: e.g. this document (via google): http://www.world-semi.com/DownLoadFile/129

I can't update this at the moment, and to complicate things, the tests for this analyzer haven't been migrated in yet from the original repo here: https://github.com/saleae/AsyncRgbLedAnalyzer/tree/topics/testing

And I think updating these tolerances might break tests.

timreyes commented 1 year ago

Another request for looser timing requirements here: https://discuss.saleae.com/t/ws2812b-analyzer/2133/2

timreyes commented 1 year ago

https://discuss.saleae.com/t/ws2812b-analyzer/2133/6 "Info on the real timing constraints on these WS2812Bs (data sheet is not even coherent)… NeoPixels are not that hard"

magicsmoke commented 2 weeks ago

Is there a laymans way to fix this myself? Working on debugging WS2812B LEDs and it really is a shame i have to take my 10usd knock off logic analyser to use instead of my Logic 8. Spent quite a bit before realising this was an issue.