New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TM1904 compability #681

Open
joaopmrod opened this Issue Nov 21, 2018 · 3 comments

Comments

Projects
None yet
2 participants
@joaopmrod

joaopmrod commented Nov 21, 2018

How can I use FastLED with TM1904 chips? It's similar to WS2812 but with inverted HIGH and LOW. Here is the datasheet: https://www.dropbox.com/s/vmanx0g9pn4p5bs/TM1914A_V1.1_EN.pdf?dl=0

I hope you can help

@focalintent

This comment has been minimized.

Member

focalintent commented Nov 21, 2018

Right now there isn't a good way to do it. I experimented a few years ago with making it easier to invert the sense of the output line for the clockless chips, but it didn't work well so I mostly removed it. Since I'm overhauling/re-writing a lot of this code for the RGBW support, I can see about doing the inversion again, but for the most part, I'm tempted to suggest finding a hardware solution to invert the data pin on the fly for you.

@joaopmrod

This comment has been minimized.

joaopmrod commented Nov 21, 2018

There is now easy tweak I can do to swap High amd Low in a bitbang output?

@focalintent

This comment has been minimized.

Member

focalintent commented Nov 21, 2018

You can try changing the code - what you specifically want to change depends on what hardware platform you're using - look under the platforms folder in the FastLED library - the controller in question is clockless controller - I found just switching hi and lo for another inverted chipset I was working on ended up not working out quite so well (and in fact blew out a controller testing it because of power draw when the chipset took everything as a 1 and went all white). Also be aware that the TM1914 has an extra requirement of 6 bytes of frame control data that needs to be sent out at the beginning of every frame that you'd need to add in/account for.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment