Jump to content
Light-O-Rama Forums

Pixel out of alignment


Cheski

Recommended Posts

I am new to pixels and did get the Pixcon 16 to work.  I built a pixel tree consisting of 8 strings of 50 pixels per string (400 total pixels).  These are folded in half to creat 16 strips.  Some of the pixels are not aligned as programed.  Such as when a green/red  wave runs up the tree , some of the green pixels are in with the red and visa versa.  It's close to being correct, but is slightly mis-aligned.  The pixel port set up is as follows:  Pixel Type: WS2811/12, High speed, Max pixels/port: 340,           

                    Port       start universe  Start Channel    # pixels     end Universe    end channel   zig zag 

                   Port 1           1                      1                  300                2                     390                6

                   Port 2           3                      1                  100                3                     300                2

 

I sequenced the pixels in Xlights using a zig zag pattern.  Do I need to zig zag in the sequence and the controller?

Is this set up correct?

 

In addition, once the Pixcon is configured can it be connected directly to a PC and can the settings (channels, # pixels, zig zags, etc.) be changed without having to connect to the router? 

 

Thanks

Rick

Link to comment
Share on other sites

The one thing I question just looking at it is the zig zag. You have it set at 6 means the controller is thinks the strand goes up 6 lights then starts over at the bottom.  (Assuming your strands are hung vertically) So if your strand goes up 25 lights it should be set for 25 if that's how you have the prop set up in xLights.

 

Yes the controller can be connected directly to the computer.  I have mine hooked up to the LAN port. My show computer is not connected to the rest of my home network so I didn't have to worry about a router and overlapping IP assignments.

Link to comment
Share on other sites

You are correct, there are 25 up and 25 down.  The manual wasn't clear on how to set the zig zag option.  I thought it was asking how many total zig zags you wanted.  Therefore, I was assuming it would think it would divide the 300 pixels evenly.  That's what happens when you assume.  So, it is asking at what pixel to zig zag?  However, the 2nd string of 50 doesn't fold until it gets to the top.   Therefore, it would not fold until 50 pixels after the 1st fold (go down 25 and up 25 to next fold).  I have 6 strands of 50 wired togetther. The pixel #'s at the bottom of the tree would be 1, 50, 51, 100, 101, 150, 151, 200, 250, 300 for the 300 pixels. 

 

Thanks

Rick

Link to comment
Share on other sites

However, the 2nd string of 50 doesn't fold until it gets to the top.   Therefore, it would not fold until 50 pixels after the 1st fold (go down 25 and up 25 to next fold).  I have 6 strands of 50 wired togetther. The pixel #'s at the bottom of the tree would be 1, 50, 51, 100, 101, 150, 151, 200, 250, 300 for the 300 pixels.

 

Electrically, you have one 300-pixel strip that folds 11 times (every 25 pixels). The folds at the bottom count as well.

The 100-pixel strips also folds every 25 pixels.

Link to comment
Share on other sites

I don't understand how the Pixcon knows where to fold the strings.  It never ask how long a string is, only the total number of pixels.  If what you're saying is correct, then I would have 11 zig zags on the 300 pixel string and 3 zig zags on the 100 pixel string.  Correct?  Does it make a calculation and determine that its every 25 pixels.  However, as I stated the pixel number 50 to 51 does not zig zag.  It is continuous just as 100 to 101,150-151, 200-201 and 250-251.  They are all on the bottom of tree.  Xlights does ask how long a string is, but the Pixcon does not.  The manual does not indicate how to determine the zig zags.  It asks for the number of zig zags, but how is that determined?  Do you tell it to zig zag after a certain number of pixels (25) or is it asking for the number of zig zags?  

Link to comment
Share on other sites

The entire purpose of zig-zags (from the controller's perspective) is to let the software keep the lower-numbered pixels on the same end, which (a) makes configuring a layout easier, and (B) allows you to make changes such as having each port drive 3 ribbons (up-down-up, up-down-up, etc.), while still using the some sequence that you used when it went (up-down-up-down-up-down).

When the controller is doing zig-zags, the software (sequencer) addresses the first column of pixels with 1 on the bottom and 25 on top, the next column will have 26 on the bottom and 50 on top, the third column will have 51 on the bottom and 100 on top.

 

The controller does this translation by taking the pixel number (from the sequence), and dividing it by the zig-zag count (integer division; ignoring the remainder). If the result is even, then it doesn't translate, so pixel X is driven as pixel X. If the result is odd, then it takes the remainder from the division, and subtracts it from the zig-zag number, adds 1, and adds the product of the division tiimes the pixel count. It then drives this pixel.

 

Here's the math. All operation are integer operations, % means remainder.

X is the pixel number from the sequence.

Y is the actual pixel number of the string.

Z is the zig-zag number (25 in your case)

Let N = X / Z.

If N is even, then Y = X. Done.

Otherwise,

Y = (N * Z) + Z + 1 - ( X % Z).

 

So if your software says to light pixel number 27, then

N = 27 / 25 = 1. So,

Y = (1 * 25) + 25 + 1 - (27 % 25)

   =    25      +      26  -     2

   =  49

This is the 2nd pixel from the bottom on the 2nd column, right where the sequencing software expects it.

Edited by Steven
Link to comment
Share on other sites

  • The topic was locked
Guest
This topic is now closed to further replies.
×
×
  • Create New...