Multiple animations on different sections of a strip?

I’ve got a rather ambitious project I’m embarking on to add LED lighting to a room in my house. The end goal is to have this lighting computer controlled in order to set various scenes. The room is going to have up and down RGB led lighting around the top of the room to light all 4 walls and the ceiling.

Currently, the plan is to use two allpixels to drive two ~13m APA102 led strips (30/m, or ~400 leds per strip), one for the walls and one for the ceiling. This allows me to have all of the control (and most of the power) hardware in one corner of the room.

While setting the whole room to a solid color or even running an animation around the whole room (or one on the walls and one on the ceiling) is simple with bibliopixel in this setup, one option I’d like to have is to set different walls to different colors or even different animations. With my physical topology as described above, this would require running different animation code for different sections of the same led strip (animation one on pixels 1-100, animation two on pixels 101-200, etc).

Is there any way currently to achieve this with bibliopixel? Any option for doing this on the future roadmap?

Based on what I’ve played with in the current version, it looks like I might be able achieve this with my own “multiplex” animation code to handle the “dividing a strip into sections and running different animation code on each section” part. Does this even sound feasible within the current animation architecture?

Note that I would prefer to use the projects functionality of bibliopixel, as I also hope to use the “remote” animation as well as a backend API (which I have other questions about, for a different thread).

Any input on this would be appreciated.

Tom,

That is awesome! I really didn’t expect such a fast response or even to see code turned around that quick. I saw this got merged into the dev branch this morning so I cloned it and tested it out on my mockup hardware. Works like a charm.

https://photos.app.goo.gl/Qu7sEjB3MANRbuil2

(fill blue, rainbow, fill red)

I’m sure I’ll have other questions once I get closer to the actual install (still probably a month or two out from that), but I’m definitely happy with bibliopixel and the allpixel so far.

Thanks!

···

On Saturday, January 27, 2018 at 3:40:37 PM UTC-6, Tom Swirly wrote:

I just submitted a pull request for this functionality. :smiley:

I’m very happy with how it came out. It worked almost perfectly the first time though there was more time between “almost perfectly” and “perfectly” than I had hoped (for interesting and non-trivial reasons, however…)

Here’s what the test project file I was using looks like:

https://github.com/rec/BiblioPixel/blob/split/projects/11-split.json

Here’s the code of the “Split” collection

https://github.com/rec/BiblioPixel/blob/split/bibliopixel/animation/split.py

You can see the whole pull request here:

https://github.com/ManiacalLabs/BiblioPixel/pull/595

On Sat, Jan 27, 2018 at 7:32 PM, Tom Swirly t...@swirly.com wrote:

On Sat, Jan 27, 2018 at 7:24 PM, Diddy Wolf didd...@gmail.com wrote:

I’ve got a rather ambitious project I’m embarking on to add LED lighting to a room in my house. The end goal is to have this lighting computer controlled in order to set various scenes. The room is going to have up and down RGB led lighting around the top of the room to light all 4 walls and the ceiling.

Currently, the plan is to use two allpixels to drive two ~13m APA102 led strips (30/m, or ~400 leds per strip), one for the walls and one for the ceiling. This allows me to have all of the control (and most of the power) hardware in one corner of the room.

While setting the whole room to a solid color or even running an animation around the whole room (or one on the walls and one on the ceiling) is simple with bibliopixel in this setup, one option I’d like to have is to set different walls to different colors or even different animations. With my physical topology as described above, this would require running different animation code for different sections of the same led strip (animation one on pixels 1-100, animation two on pixels 101-200, etc).

Exciting!

Is there any way currently to achieve this with bibliopixel? Any option for doing this on the future roadmap?

The future roadmap does very much talk about a general way to do this and there are a bunch of ways to do this, but somewhat homerolled…

Based on what I’ve played with in the current version, it looks like I might be able achieve this with my own “multiplex” animation code to handle the “dividing a strip into sections and running different animation code on each section” part. Does this even sound feasible within the current animation architecture?

Sure, that’s totally doable. Actually, I could knock an OK version this out fairly fast for you… let me see what I can do in a short time. :smiley:

/t

https://tom.ritchford.com

https://tom.swirly.com


/t

https://tom.ritchford.com

https://tom.swirly.com

Now having far too much fun with this.

In addition to “split”, are there any other parameters I can throw in here? Such as “alternate”, with a length of say 100 and then effect A size 5, effect b size 5, or is Ctrl + C & Ctrl + V my friend here?

···

On Sunday, January 28, 2018 at 9:53:02 PM UTC, Tom Swirly wrote:

Flashing lights always make me happy. :smiley:

I was happy to be able to show off good code done quickly. Some days it doesn’t work as well.

This is a good time to hit me with questions - I have spare time and am looking for trouble.

On Sun, Jan 28, 2018 at 4:57 PM, Diddy Wolf didd...@gmail.com wrote:

Tom,

That is awesome! I really didn’t expect such a fast response or even to see code turned around that quick. I saw this got merged into the dev branch this morning so I cloned it and tested it out on my mockup hardware. Works like a charm.

https://photos.app.goo.gl/Qu7sEjB3MANRbuil2

(fill blue, rainbow, fill red)

I’m sure I’ll have other questions once I get closer to the actual install (still probably a month or two out from that), but I’m definitely happy with bibliopixel and the allpixel so far.

Thanks!

On Saturday, January 27, 2018 at 3:40:37 PM UTC-6, Tom Swirly wrote:

I just submitted a pull request for this functionality. :smiley:

I’m very happy with how it came out. It worked almost perfectly the first time though there was more time between “almost perfectly” and “perfectly” than I had hoped (for interesting and non-trivial reasons, however…)

Here’s what the test project file I was using looks like:

https://github.com/rec/BiblioPixel/blob/split/projects/11-split.json

Here’s the code of the “Split” collection

https://github.com/rec/BiblioPixel/blob/split/bibliopixel/animation/split.py

You can see the whole pull request here:

https://github.com/ManiacalLabs/BiblioPixel/pull/595

On Sat, Jan 27, 2018 at 7:32 PM, Tom Swirly t...@swirly.com wrote:

I’ve got a rather ambitious project I’m embarking on to add LED lighting to a room in my house. The end goal is to have this lighting computer controlled in order to set various scenes. The room is going to have up and down RGB led lighting around the top of the room to light all 4 walls and the ceiling.

Currently, the plan is to use two allpixels to drive two ~13m APA102 led strips (30/m, or ~400 leds per strip), one for the walls and one for the ceiling. This allows me to have all of the control (and most of the power) hardware in one corner of the room.

While setting the whole room to a solid color or even running an animation around the whole room (or one on the walls and one on the ceiling) is simple with bibliopixel in this setup, one option I’d like to have is to set different walls to different colors or even different animations. With my physical topology as described above, this would require running different animation code for different sections of the same led strip (animation one on pixels 1-100, animation two on pixels 101-200, etc).

On Sat, Jan 27, 2018 at 7:24 PM, Diddy Wolf didd...@gmail.com wrote:
Exciting!

Is there any way currently to achieve this with bibliopixel? Any option for doing this on the future roadmap?

The future roadmap does very much talk about a general way to do this and there are a bunch of ways to do this, but somewhat homerolled…

Based on what I’ve played with in the current version, it looks like I might be able achieve this with my own “multiplex” animation code to handle the “dividing a strip into sections and running different animation code on each section” part. Does this even sound feasible within the current animation architecture?

Sure, that’s totally doable. Actually, I could knock an OK version this out fairly fast for you… let me see what I can do in a short time. :smiley:

/t

https://tom.ritchford.com

https://tom.swirly.com


/t

https://tom.ritchford.com

https://tom.swirly.com

You received this message because you are subscribed to the Google Groups “Maniacal Labs Users” group.

To unsubscribe from this group and stop receiving emails from it, send an email to maniacal-labs-users+unsubscribe@googlegroups.com.

To post to this group, send email to maniacal-...@googlegroups.com.

To view this discussion on the web visit https://groups.google.com/d/msgid/maniacal-labs-users/a5750381-8f82-455c-9309-4dfa5a9f4d77%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.


/t

https://tom.ritchford.com

https://tom.swirly.com

I’ve spent this evening tinkering with the BiblioPixelAnimations files and seeing what could work for us and what we want to delve deeper into but will have a look at those links. Between the strip effects and matrix effects, I think we have about 12 we’re going to run with.

I wish we had that many pixels! The panels are 6x6 (just added a photo of the prototype in our living room, excuse the mess). For the showcase we’ll be making 4, but need to demonstrate proof of concept that the system is scalable for any number in any size configuration - but that’ll just be tinkering with the layout section of the json file methinks

Adam

Photo 03-03-2018, 22 33 42.jpg

···

On Saturday, March 3, 2018 at 10:29:48 PM UTC, Tom Swirly wrote:

There are a bunch of different ways to combine animations

You have Split.

But you can use Sequence to make subsequences within each of those splits.

Indeed, I’m pretty sure that Sequence alone with its various parameters will let you what you describe - you can do things like “loop these three, running each for 2 seconds, for a total of 19 seconds, then go to…”

Sequence has some internal documentation, and we’re writing more.

I don’t have good examples of sequences inside sequences, so I’ll write one up pronto.

There is a Mixer class that allows you to mix between multiple different animations that are running at the same time.

There’s a poorly-tested Feedback Mixer that also has a video feedback session for that “turn the camera onto the screen” moment - probably for that you’d need to have the general controls.to really play with this, which is in review. So forget I wrote that.

There’s a whole potential class of animations called “reprocessing animations” which I haven’t even started to document yet where an animation doesn’t generate its own content, but processes the animation it contains.

BiblioPixelAnimations has a lot more, specific animations.

If you were to spec stuff out, I could emit an example for you of a project that did it.

You have a system with - 400 pixels, Split into four, is that right?

On Sat, Mar 3, 2018 at 9:44 PM, ‘Adam Davies’ via Maniacal Labs Users maniacal-...@googlegroups.com wrote:

Now having far too much fun with this.

In addition to “split”, are there any other parameters I can throw in here? Such as “alternate”, with a length of say 100 and then effect A size 5, effect b size 5, or is Ctrl + C & Ctrl + V my friend here?

On Sunday, January 28, 2018 at 9:53:02 PM UTC, Tom Swirly wrote:

Flashing lights always make me happy. :smiley:

I was happy to be able to show off good code done quickly. Some days it doesn’t work as well.

This is a good time to hit me with questions - I have spare time and am looking for trouble.

On Sun, Jan 28, 2018 at 4:57 PM, Diddy Wolf didd...@gmail.com wrote:

Tom,

That is awesome! I really didn’t expect such a fast response or even to see code turned around that quick. I saw this got merged into the dev branch this morning so I cloned it and tested it out on my mockup hardware. Works like a charm.

https://photos.app.goo.gl/Qu7sEjB3MANRbuil2

(fill blue, rainbow, fill red)

I’m sure I’ll have other questions once I get closer to the actual install (still probably a month or two out from that), but I’m definitely happy with bibliopixel and the allpixel so far.

Thanks!

On Saturday, January 27, 2018 at 3:40:37 PM UTC-6, Tom Swirly wrote:

I just submitted a pull request for this functionality. :smiley:

I’m very happy with how it came out. It worked almost perfectly the first time though there was more time between “almost perfectly” and “perfectly” than I had hoped (for interesting and non-trivial reasons, however…)

Here’s what the test project file I was using looks like:

https://github.com/rec/BiblioPixel/blob/split/projects/11-split.json

Here’s the code of the “Split” collection

https://github.com/rec/BiblioPixel/blob/split/bibliopixel/animation/split.py

You can see the whole pull request here:

https://github.com/ManiacalLabs/BiblioPixel/pull/595

On Sat, Jan 27, 2018 at 7:32 PM, Tom Swirly t...@swirly.com wrote:

I’ve got a rather ambitious project I’m embarking on to add LED lighting to a room in my house. The end goal is to have this lighting computer controlled in order to set various scenes. The room is going to have up and down RGB led lighting around the top of the room to light all 4 walls and the ceiling.

Currently, the plan is to use two allpixels to drive two ~13m APA102 led strips (30/m, or ~400 leds per strip), one for the walls and one for the ceiling. This allows me to have all of the control (and most of the power) hardware in one corner of the room.

While setting the whole room to a solid color or even running an animation around the whole room (or one on the walls and one on the ceiling) is simple with bibliopixel in this setup, one option I’d like to have is to set different walls to different colors or even different animations. With my physical topology as described above, this would require running different animation code for different sections of the same led strip (animation one on pixels 1-100, animation two on pixels 101-200, etc).

On Sat, Jan 27, 2018 at 7:24 PM, Diddy Wolf didd...@gmail.com wrote:
Exciting!

Is there any way currently to achieve this with bibliopixel? Any option for doing this on the future roadmap?

The future roadmap does very much talk about a general way to do this and there are a bunch of ways to do this, but somewhat homerolled…

Based on what I’ve played with in the current version, it looks like I might be able achieve this with my own “multiplex” animation code to handle the “dividing a strip into sections and running different animation code on each section” part. Does this even sound feasible within the current animation architecture?

Sure, that’s totally doable. Actually, I could knock an OK version this out fairly fast for you… let me see what I can do in a short time. :smiley:

/t

https://tom.ritchford.com

https://tom.swirly.com


/t

https://tom.ritchford.com

https://tom.swirly.com

You received this message because you are subscribed to the Google Groups “Maniacal Labs Users” group.

To unsubscribe from this group and stop receiving emails from it, send an email to maniacal-labs-users+unsubscribe@googlegroups.com.

To post to this group, send email to maniacal-...@googlegroups.com.

To view this discussion on the web visit https://groups.google.com/d/msgid/maniacal-labs-users/a5750381-8f82-455c-9309-4dfa5a9f4d77%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.


/t

https://tom.ritchford.com

https://tom.swirly.com

You received this message because you are subscribed to the Google Groups “Maniacal Labs Users” group.

To unsubscribe from this group and stop receiving emails from it, send an email to maniacal-labs-users+unsubscribe@googlegroups.com.

To post to this group, send email to maniacal-...@googlegroups.com.

To view this discussion on the web visit https://groups.google.com/d/msgid/maniacal-labs-users/7670b15b-deed-4100-8302-f0741eb1d00f%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.


/t

https://tom.ritchford.com

https://tom.swirly.com

Aha I apologise! I’ll have to start signing off my emails as “Adam2” or “Little Adam”!

I’m meeting with the group tomorrow for a catch up meeting; definitely interested in a Gitlab project/other way of documenting our progress and getting everyone involved, however that may have to wait for a day or two - my dissertation keeps looking at my from across the room and I really ought to do some more on it

Adam2

···

On Saturday, March 3, 2018 at 10:53:01 PM UTC, Tom Swirly wrote:

Ah, sorry, reading a wrong thread. Poor email search technique on my part, helped by your poor :wink: choice of first name (since the other Adam is on a lot of threads).

Well, even better to try to do something “fresh and fun” then, involving lots of variety.

You’re absolutely right - scaling would be done with layouts and/or drivers, depending on how it’s wired up…

Or even - none of the above and just a lot of Splits.

Keep us posted.

Hey, what about creating a Github or Gitlab project with your sketches as you go? It would really help us make rapid progress…

On Sat, Mar 3, 2018 at 11:37 PM, ‘Adam Davies’ via Maniacal Labs Users maniacal-...@googlegroups.com wrote:

I’ve spent this evening tinkering with the BiblioPixelAnimations files and seeing what could work for us and what we want to delve deeper into but will have a look at those links. Between the strip effects and matrix effects, I think we have about 12 we’re going to run with.

I wish we had that many pixels! The panels are 6x6 (just added a photo of the prototype in our living room, excuse the mess). For the showcase we’ll be making 4, but need to demonstrate proof of concept that the system is scalable for any number in any size configuration - but that’ll just be tinkering with the layout section of the json file methinks

Adam

On Saturday, March 3, 2018 at 10:29:48 PM UTC, Tom Swirly wrote:

There are a bunch of different ways to combine animations

You have Split.

But you can use Sequence to make subsequences within each of those splits.

Indeed, I’m pretty sure that Sequence alone with its various parameters will let you what you describe - you can do things like “loop these three, running each for 2 seconds, for a total of 19 seconds, then go to…”

Sequence has some internal documentation, and we’re writing more.

I don’t have good examples of sequences inside sequences, so I’ll write one up pronto.

There is a Mixer class that allows you to mix between multiple different animations that are running at the same time.

There’s a poorly-tested Feedback Mixer that also has a video feedback session for that “turn the camera onto the screen” moment - probably for that you’d need to have the general controls.to really play with this, which is in review. So forget I wrote that.

There’s a whole potential class of animations called “reprocessing animations” which I haven’t even started to document yet where an animation doesn’t generate its own content, but processes the animation it contains.

BiblioPixelAnimations has a lot more, specific animations.

If you were to spec stuff out, I could emit an example for you of a project that did it.

You have a system with - 400 pixels, Split into four, is that right?

On Sat, Mar 3, 2018 at 9:44 PM, ‘Adam Davies’ via Maniacal Labs Users maniacal-...@googlegroups.com wrote:

Now having far too much fun with this.

In addition to “split”, are there any other parameters I can throw in here? Such as “alternate”, with a length of say 100 and then effect A size 5, effect b size 5, or is Ctrl + C & Ctrl + V my friend here?

On Sunday, January 28, 2018 at 9:53:02 PM UTC, Tom Swirly wrote:

Flashing lights always make me happy. :smiley:

I was happy to be able to show off good code done quickly. Some days it doesn’t work as well.

This is a good time to hit me with questions - I have spare time and am looking for trouble.

On Sun, Jan 28, 2018 at 4:57 PM, Diddy Wolf didd...@gmail.com wrote:

Tom,

That is awesome! I really didn’t expect such a fast response or even to see code turned around that quick. I saw this got merged into the dev branch this morning so I cloned it and tested it out on my mockup hardware. Works like a charm.

https://photos.app.goo.gl/Qu7sEjB3MANRbuil2

(fill blue, rainbow, fill red)

I’m sure I’ll have other questions once I get closer to the actual install (still probably a month or two out from that), but I’m definitely happy with bibliopixel and the allpixel so far.

Thanks!

On Saturday, January 27, 2018 at 3:40:37 PM UTC-6, Tom Swirly wrote:

I just submitted a pull request for this functionality. :smiley:

I’m very happy with how it came out. It worked almost perfectly the first time though there was more time between “almost perfectly” and “perfectly” than I had hoped (for interesting and non-trivial reasons, however…)

Here’s what the test project file I was using looks like:

https://github.com/rec/BiblioPixel/blob/split/projects/11-split.json

Here’s the code of the “Split” collection

https://github.com/rec/BiblioPixel/blob/split/bibliopixel/animation/split.py

You can see the whole pull request here:

https://github.com/ManiacalLabs/BiblioPixel/pull/595

On Sat, Jan 27, 2018 at 7:32 PM, Tom Swirly t...@swirly.com wrote:

I’ve got a rather ambitious project I’m embarking on to add LED lighting to a room in my house. The end goal is to have this lighting computer controlled in order to set various scenes. The room is going to have up and down RGB led lighting around the top of the room to light all 4 walls and the ceiling.

Currently, the plan is to use two allpixels to drive two ~13m APA102 led strips (30/m, or ~400 leds per strip), one for the walls and one for the ceiling. This allows me to have all of the control (and most of the power) hardware in one corner of the room.

While setting the whole room to a solid color or even running an animation around the whole room (or one on the walls and one on the ceiling) is simple with bibliopixel in this setup, one option I’d like to have is to set different walls to different colors or even different animations. With my physical topology as described above, this would require running different animation code for different sections of the same led strip (animation one on pixels 1-100, animation two on pixels 101-200, etc).

On Sat, Jan 27, 2018 at 7:24 PM, Diddy Wolf didd...@gmail.com wrote:
Exciting!

Is there any way currently to achieve this with bibliopixel? Any option for doing this on the future roadmap?

The future roadmap does very much talk about a general way to do this and there are a bunch of ways to do this, but somewhat homerolled…

Based on what I’ve played with in the current version, it looks like I might be able achieve this with my own “multiplex” animation code to handle the “dividing a strip into sections and running different animation code on each section” part. Does this even sound feasible within the current animation architecture?

Sure, that’s totally doable. Actually, I could knock an OK version this out fairly fast for you… let me see what I can do in a short time. :smiley:

/t

https://tom.ritchford.com

https://tom.swirly.com


/t

https://tom.ritchford.com

https://tom.swirly.com

You received this message because you are subscribed to the Google Groups “Maniacal Labs Users” group.

To unsubscribe from this group and stop receiving emails from it, send an email to maniacal-labs-users+unsubscribe@googlegroups.com.

To post to this group, send email to maniacal-...@googlegroups.com.

To view this discussion on the web visit https://groups.google.com/d/msgid/maniacal-labs-users/a5750381-8f82-455c-9309-4dfa5a9f4d77%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.


/t

https://tom.ritchford.com

https://tom.swirly.com

You received this message because you are subscribed to the Google Groups “Maniacal Labs Users” group.

To unsubscribe from this group and stop receiving emails from it, send an email to maniacal-labs-users+unsubscribe@googlegroups.com.

To post to this group, send email to maniacal-...@googlegroups.com.

To view this discussion on the web visit https://groups.google.com/d/msgid/maniacal-labs-users/7670b15b-deed-4100-8302-f0741eb1d00f%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.


/t

https://tom.ritchford.com

https://tom.swirly.com

You received this message because you are subscribed to the Google Groups “Maniacal Labs Users” group.

To unsubscribe from this group and stop receiving emails from it, send an email to maniacal-labs-users+unsubscribe@googlegroups.com.

To post to this group, send email to maniacal-...@googlegroups.com.

To view this discussion on the web visit https://groups.google.com/d/msgid/maniacal-labs-users/ee7e9cfa-813e-4f78-8ff2-429a4ca082f2%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.


/t

https://tom.ritchford.com

https://tom.swirly.com