Possible To Integrate Raspberry Pi UART TX as WS2812B Driver? #1789
Replies: 4 comments 8 replies
-
We have lately added support for ftdi devices which I think is the scenario you are describing. You can install a nightly build and try it out. https://releases.hyperion-project.org/ Go to Linux -> easy install and tick nightly to get the install command. Note: It is not available for Windows yet, but a PR is in the pipeline… |
Beta Was this translation helpful? Give feedback.
-
It looks like this was merged into master. If I compile master, I should be
good to go!
Thanks for your help!
…On Wed, Oct 9, 2024 at 12:48 AM LordGrey ***@***.***> wrote:
We have lately added support for ftdi devices which I think is the
scenario you are describing.
See #1746 <#1746>
You can install a nightly build and try it out.
https://releases.hyperion-project.org/
Go to Linux -> easy install and tick nightly to get the install command.
—
Reply to this email directly, view it on GitHub
<#1789 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AOC6OHAQNEYXKEWMTZLFJPDZ2SYQ7AVCNFSM6AAAAABPTGU23KVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTAOBYG42TSMQ>
.
You are receiving this because you authored the thread.Message ID:
<hyperion-project/hyperion.ng/repo-discussions/1789/comments/10887592@
github.com>
|
Beta Was this translation helpful? Give feedback.
-
@Lord-Grey I have an update: So I was incorrect about driving WS2812 LED's with the inverted pin of a FT232R chip. The timing is close but not close enough to drive the LEDs correctly. Also, the -R versions do not support turning the GPIO into SPI busses. So sad 👎 The Raspberry PI UART TX pin, however, IS capable of driving WS2812 LED's when configured for 3 MBaud, 7 bits, 1 Stop bit. The only draw-back is that the pin has to be inverted and level-shifted with hardware. I downloaded the source and hacked the LedDeviceTpm2.cpp and .h files and the ProviderRs232.cpp and .h files to hard-code the serial configuration. I then recompiled and ran the server. The result is in the attached video. You will notice the display glitch for a frame and display random noise. This may be caused by the serial stream getting interrupted by something else running on the Pi, triggering the WS2812 latch time. Is there a remedy for this ? Video: |
Beta Was this translation helpful? Give feedback.
-
@jliriano2000 Thanks for taking the time doing an implementation and testing it out. In addition, is there a chance that you share the code, that I have a try with an ftdi board I have in case I find some time giving it a try too? |
Beta Was this translation helpful? Give feedback.
-
I followed this guide and was able to solve two problems with one stone: 1) Level shift the data signal to 5v and 2) Not rely on the PWM or SPI peripheral.
I've confirmed that you can drive an arbitrary length of WS2812 with the inverted UART TX pin using this method. Is there already a way to use Hyperion with this set-up? If not, I'd be interested in working on integrating it in as a contributor.
Beta Was this translation helpful? Give feedback.
All reactions