UCS5603/SJ1221 support
Closed this issue · 2 comments
Hi I got this led with UCS5603 chip on it. It have 12-bit color data, so 36bit RGB. I can't find any working code but luckily I found the protocol here. I managed to get it work with esp32 rmt driver.
Here is a link to my implementation https://github.com/rudcode/platformio_esp32_ucs5603_test/blob/master/src/main.cpp
This chip have a start sequence/work code before sending the color data.
RESET -> WORK CODE -> CURRENT SETTING -> RGB 36BIT 1st -> ... -> RGB 36BIT Nth
I have no idea how to implement this in here, because another chip in this library doesn't have this start sequence afaik. It would be nice if this chip can be supported in this library. Thank you.
The Color Feature usually does this work. See the Wiki for more information
UCS8903 Feature demonstrates using 16bit per element and there are others that manipulate the RGB into other needed bit forms.
Tm1814 Feature demonstrates the inclusion of settings at the front of the stream (Neo4ByteElementsTm1814Settings object) and can be used as an example to expose and support the current settings. Current settings are already commonly exposed in the API and several LEDs already require this sort of pre-amble. And these settings are not limited to just current settings, its just a model to expose a settings object and serialize it into the data stream.
The problem here is that a single pixel is represented by non-divisible by 8 number of bits. Am I wrong?
This makes it complex and was never on my radar to support with the FEATURE template objects. Unless I am missing something, it will be a while before needed changes would be integrated to support that. Many of the Methods will require full byte data streams and not a bit stream to send out; so, what happens if the number of pixels doesn't match up at the end? Will sending extra bits that pad a byte confuse these LED chips? I really don't see a near future solution here as this is allot of work to support a single LED chip when there are others to choose from that are just as or more capable chips that are supported, even by the same manufacture.
Thank you for your response. I will consider another led chip.