smart-leds-rs / ws2812-spi-rs

Use ws2812 on rust with embedded-hal spi
Apache License 2.0
64 stars 23 forks source link

Support SK6812w LEDs #6

Closed sapphire-arches closed 4 years ago

sapphire-arches commented 4 years ago

Support SK6812w by reusing most of the underlying protocol primitive implementation, but support sending RGBW data. Note that the SK6812s expect a higher bitrate than the WS2812 so the SPI periperhal should be clocked higher.

david-sawatzke commented 4 years ago

According to a naive reading of the data sheet (and it does seem a bi iffy), the timings seem very similar to the ws2812, with the same total length per bit. Is the data sheet wrong or are there different sk6812 chips? See: https://cdn.solarbotics.com/products/datasheets/sk6812rgbw.pdf https://cdn-shop.adafruit.com/datasheets/WS2812.pdf

sapphire-arches commented 4 years ago

It's extremely likely that there are many chips calling themselves "SK6812", just like there are many things that aren't actually WorldSemi WS2812s calling themselves WS2812. I just tried 3MHz on the ones I have, and it worked so I can remove those comments. I based my timing data on the experimentation that Tim of cpldcpu has done.

david-sawatzke commented 4 years ago

Deprecated by #9, which uses a different approach to abstract the leds, but is partly based on this.