-
-
Notifications
You must be signed in to change notification settings - Fork 260
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
Support multiple output #160
Comments
lets say both strips (A & B) have 4 pixels each.
|
I currently have the ESP module in the middle with one of the strip's reversed, like the second example you put. It's the easiest setup to connect.
|
Aircoookie/WLED@master...peacepenguin:master take a look at the fork differences in the repo i've created from WLED. WLED uses a "big single strip" throughout the entire program, similar to what you're after in concept. Then to enable multi-pin, i've just done the math on the provided "pixelindex" which represents the position on the giant "virtual" strip, the math just figures out what pixelindex to actually set on a specific strip. Obviously you have to define the exact strip layout in advance so the math works. But the theory you're after is proven to be doable already without any changes or enhancements needed to neopixelbus. Also check out the NeoBuffer method, you can generate a big "virtual" strip that way too, then dump the NeoBuffer to real strips using "Blt". Blt allows you to select an exact range of pixels to dump to the physical strip. So you can use the NeoBuffer as your virtual strip to begin, then at the end apply it to real NeoPixelBus strips using Blt. @Makuna was a huge help on the gitter chat to help me figure all this out, and both methods work great. But seems to be an under-utilized, somewhat advanced feature of NeoPixelBus. |
So is multiple ledstrips already fixed? (it's about 3 years ago now) Still getting the RMT error. :-( |
Yes. Heres my test example for multtipin using blt method of neopixelbus: https://www.github.com/peacepenguin/npb-complexblt/tree/master/src%2Fmain.cpp You can send the same data to different strips, or unique data to each strip. And here's a different way to do it, wled sends all output using neopixelbus, I've created a fork of wled that supports multipin output using neopixelbus, documented here: Read from the bottom up, and find the most recent build instructions. So yes I think it's proven to be possible now in two different ways using neopixelbus. Use the link above in my previous post to my fork of wled, just click compare to see the changes I've made, all of it is reusable in other projects that use neopixelbus. I would start with the fork of wled and get all your bugs worked out on code that has been tested successfully by a few people now, then take what you need from the wled fork. |
Thanks for your reaction. I had to download a .zip file to add to my arduino IDE, is there a zip file with this multi-pin support also to download?
Regards,
Jeroen.
…________________________________
Van: Ben <notifications@github.com>
Verzonden: zondag 18 oktober 2020 23:54
Aan: Makuna/NeoPixelBus <NeoPixelBus@noreply.github.com>
CC: Jeroen van Langen <jvanlangen@live.nl>; Comment <comment@noreply.github.com>
Onderwerp: Re: [Makuna/NeoPixelBus] Support multiple output (#160)
So is multiple ledstrips already fixed? (it's about 3 years ago now) Still getting the RMT error. :-(
Yes.
Heres my test example for multtipin using blt method of neopixelbus:
https://www.github.com/peacepenguin/npb-complexblt/tree/master/src%2Fmain.cpp
You can send the same data to different strips, or unique data to each strip.
And here's a different way to do it, wled sends all output using neopixelbus, I've created a fork of wled that supports multipin output using neopixelbus, documented here:
Aircoookie/WLED#104<Aircoookie/WLED#104>
Read from the bottom up, and find the most recent build instructions.
So yes I think it's proven to be possible now in two different ways using neopixelbus.
Use the link above in my previous post to my fork of wled, just click compare to see the changes I've made, all of it is reusable in other projects that use neopixelbus.
I would start with the fork of wled and get all your bugs worked out on code that has been tested successfully by a few people now, then take what you need from the wled fork.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub<#160 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AALWGVDD3RJDTOGZB5SB7JLSLNP3FANCNFSM4C6N6MYA>.
|
I checked your example, I'm doing the exact same. (using NeoPixelBus v2.6.0 |
I works! Thank you very much Hmm, instead of using pin35, I used pin 22 (something to do with that?) |
@jvanlangen Please don't use an issue to discuss your specific problem. Please use the gitter channel. Your question is different than this issue. This issue is about a single instance of NeoPixelBus supporting multiple methods and pins; not multiple instances of NeoPixelBus (which has been working for years). |
Ok,
I'm not really familiar with gitter channels of something like that yet.
Thanks for pointing that out.
…________________________________
Van: Michael Miller <notifications@github.com>
Verzonden: maandag 19 oktober 2020 17:14
Aan: Makuna/NeoPixelBus <NeoPixelBus@noreply.github.com>
CC: Jeroen van Langen <jvanlangen@live.nl>; Mention <mention@noreply.github.com>
Onderwerp: Re: [Makuna/NeoPixelBus] Support multiple output (#160)
@jvanlangen<https://github.com/jvanlangen> Please don't use an issue to discuss your specific problem. Please use the gitter channel.
Your question is different than this issue. This issue is about a single instance of NeoPixelBus supporting multiple methods and pins; not multiple instances of NeoPixelBus (which has been working for years).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#160 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AALWGVBYDN3P6RN3RNNNDVDSLRJVLANCNFSM4C6N6MYA>.
|
#411 |
I keep thinking about this. Especially now that we have the x8 and x16 i2s parallel methods where the multiple buses are used to improve speed. |
As per #694, I would love to get support for multiple strips together with the |
Just the initial naming brain thought... |
NeoPixelBus is an awesome library, and it is currently possible to create two different strip outputs using two different methods:
However, this makes it confusing to update the strip. Consider an example scenario where you have 900 WS2812 LEDs. This many LEDs will have serious framerate issues (~35 fps max), but this can be doubled if the ESP8266 were to be placed in the middle of the strip and using two outputs. Then only 450 LEDs need to be updated with each data line. While NeoPixelBus can work with creating two different strip objects, it would be really great if only one 'multiple output' strip object had to be made, with the appropriate number of LEDs on each output specified:
I would really love to see a new method that combines DMA and the Async UART methods to supply one long continuous strip with the ESP8266 in the middle to output to both sides. Then internal functions could simply use
SetPixelColor
and it would adjust the DMA or UART pixels accordingly.The text was updated successfully, but these errors were encountered: