Skip to content
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

How to handle led matrices? #6

Closed
hputzek opened this issue Apr 6, 2020 · 3 comments
Closed

How to handle led matrices? #6

hputzek opened this issue Apr 6, 2020 · 3 comments

Comments

@hputzek
Copy link

hputzek commented Apr 6, 2020

Ok, this is a bit complicated, so I hope I don't loose you on the way with my explanation :-)

a matrix can be a single dimensional array longer than one to represent a LED strip, a two dimensional array to represent a true LED matrix, and a 1x1 "matrix" to represent a single off LED light. Each of these can be one of RGB, RGBW, or jjust white. A single white 1x1 matrix is assumed to be a strobe light.

I like this idea. Although I guess in the frontend I'll abstract that away a bit by offering the user options to add "software defined devices" of the following types:

  • general Light (can be w/rgb/rgbw etc...) means one pixel; can be used for strobe, too
  • Stripe (white/rgb/rgbw...) means 1*x pixel
  • Matrix (white/rgb/rgbw...) means x*x pixel

Actually I should additionally make it possible to define matrices in the software.
So when I send a frame it looks like this:

const singleFrame = [
// each object is a software defined device (stripe)
{id: 1, data:[r,g,b,r,g,b,r,g,b....]},
{id: 9, data:[r,g,b,r,g,b,r,g,b....]},
{id: 3, data:[r,g,b,r,g,b,r,g,b....]},
...
]

Does that make sense? Because if I define the matrix in the software the workflow could be:

  • Select multiple stripes in the 3d representation
  • and combine them into a matrix

I see the advantage that one single matrix could contain stripes from different controllers/channels/device types.

So I see advantages in both attempts:

Your proposal:

  • makes it easy to define a matrix very quickly
  • very helpful if you want to add a matrix hardware like Martin has because you just have to set the dimensions and you're done.

My proposal:

  • you got to create/combine the matrix out of several stripes youself BUT the matrix can emit to multiple controllers/device types this way
  • helpful if you want to do the following: A wall of your room in the 3d representation has 20 stripes attached to it. Their layout on the wall would be like this:
 -----    ---------    
           -----------------      --------------
    ----------     -------------      ----------------
   ------------      --------   ----------------
 -----    ---------                                 ------------
           -----------------      --------------
    ----------     -------------
   ------------      --------   ----------------

Now I can create a matrix out of them and map video on them which takes into regard the position of those stripes on the wall. (Videomapping)

@IoTPanic
Copy link
Owner

IoTPanic commented Apr 6, 2020

A concept of frames where many channels can be updated in a single operation makes sense from a real time perspective, but the way you're mapping should happen in your front end, it makes little sense for me to do this in the backend.

@hputzek
Copy link
Author

hputzek commented Apr 7, 2020

Yep, let's talk about this by video; guess that works out faster 🙂

@IoTPanic
Copy link
Owner

IoTPanic commented Apr 7, 2020

My misinterpretation, will be introducing frames.

@IoTPanic IoTPanic closed this as completed Apr 7, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants