hzeller/rpi-matrix-pixelpusher

I can not compile

Closed this issue · 36 comments

Hey guys,
I'm new in this programming environment.
I can not compile, how do you?
Thanks to the availability, Alberto

Ok .... I have compiled !! :)
Now I'm trying with the media server.
Situation:
IP Media Server 2.0.0.11
ArtNet port 6454
PixelPush IP 2.0.0.23
ArtNet port changed in code to 6454 (because it was 5078?)

The media server sends data artnet but pixel-push terminal slide I only see this message:
Expecting multiple of {1} + {rgb * 32 = 97, but got 526 bytes (leftovers: 41}

What's wrong ?

Thanks, Alberto

The PixelPusher does not speak Artnet directly, you need to use the Artnet bridge (see readme).

Good, now I see something that comes from the media server !!
I have other problems but not caused by the bridge.
Thank you very much, Alberto

Good morning,
I'm doing tests on specimens with bridge and push-pixel but by the various software, jinx, madrix (demo), glediator, I can not make out a single pixel.
Using artnetominator I see data artnet out but nothing comes out of panels.
On raspberry I installed a second network of usb address 2.0.0.20, I see the flashing LED of the network card .... sign that the data arrive on artnet RPI but nothing happens.
I do not know where to look for any problems !! :(
All test in rgb-matrix and processing work perfect !!
Ideas?
thanks Alberto

If you want to receive the data on a separate interface, did you pass it in the -i- option to the pixel pusher ?

Remember to use the original java pixelpusher artnet bridge from Heroic Robotics and start Henner's emulation with the -a flag, e.g.-a1,1
Bridge: http://heroicrobotics.boards.net/thread/39/artnet-support-sacn
Search latest version.
Don't start the bridge on Raspberry PI, start it in a windows shell: java -jar ArtNetBridge.jar
(perhaps use additional java memory setting described in the forum).
They built the Art-Net Bridge with a Java 1.7 target, but it works with 1.8 as well.
In my environmelnt the bridge is used with Jinx! and displays great effects on a 64x64 RBG LED Matrix. At the beginning you have to use "output patch menu" inside Jinx! to setup the matrix.
And one more hint for larger matrices:
Artnet universe/channels are tricky, Artnet has only 16 universes per subnet/net, so you have to use subnet and net parameters, look at the artnet specs. Artnet only uses 4 bit for the universe, that has nothing to do with software like Jinx! or the java bridge - that is how Artnet works.
So after 0/0/15 the next universe in Artnet has the address 0/1/0.

Yes yes ...... what I had already done some time :)
I managed to make it work with jinx but I have a problem.
Practically from the sixth pixels to the right I scale all of a pixel and, to make me an example a square is shown as a little rotated. In the lower left of the panel I like a triangle that shows the contents of the left.
I think it's a problem of controlling patch but seems to have in place at this point but maybe I did not understand how to make patches.
In Jinx I added 6 universes (0 to 5) on broadcast 2,255,255,255. each universe has 512 channels.
In Jinx is quite laborious construction patch !!
I entered the panel size (32x32)
From the first pixel in the upper left I added the patch to individual rows 32x1 basis (starting Linewise Top-Left) 0 1 Red Green Blue 2 of the early universe (0) until exhausting the channels on 11x6 pixels from them giving birth to the second universe with 0 1 Red Green Blue 2 until exhausting the channels.
From the end of this line copmincio to have the phase shift of a pixel.
that's how you do the patch?

I know that what I write will be difficult to understand but try to understand me: D

Thanks, Alberto

ok, to configure output patch in Jinx! is tricky with a large matrix. You use 32x32 which is a little bit of work, but not too complicated. Use only 510 channels per universe and start with rgb=0,0,0.
Use the "fast patch mode" for complete lines.
I attached two pictures to explain how it works and I uploaded a ready to use patch file for 32x32.matrix - use link at the end of this post.
jinx-patch1
jinx-patch2

Link for patched 32x32 matrix definition file: http://thomtlj.servegame.com/matrix32x32.jnx
(I remove the file after two days)

Thank you !!!!!!!
You've been very kind, with your file's all like a dream !!
I was using Art-Net with 512 channels for universe, how come you used sACN with 510 channels?
What is the difference between sACN and artnet?

Thanks again, Alberto

sACN is much more than a newer "face lifted" artnet with multicast (and auto discovery).
Here is some information about sACN (Streaming ACN):
http://opendmx.net/index.php/E1.31.

Why to use only 510 channels?
This is because a single LED uses 3 channels for R,G and B.
So you can't use all 512 channels. Just multiply 3 channels x 170 LEDs = 510.
The last two channels from each universe are unused.
The Heroric Robotic artnet bridge shows the correct mapping as a console output.
To see the quickly passing output, use redirection into a file or "java -jar ArtNetBridge.jar | more"
(only to see the output, not for production use)

Good evening,
I'm rehearsing with Madrix also because it is more immediate to the patch panels.
I have some problems that I mean not only in but also in Madrix Jinx.
Trying with 3x32 panels in cascade the lower part is not synchronized to the high part.

img_1513

As if I connect the fourth panel I get a disorder.

img_1515

From what can be had?

Thanks, Alberto

Madrix setup

deviceman
patch1

Make sure to read the tips in this paragraph of the library README
https://github.com/hzeller/rpi-rgb-led-matrix#help-some-pixels-are-not-displayed-properly

  • I would suspect that a DEFINES+=-DRGB_SLOWDOWN_GPIO could help here.
  • Also, the top/bottom difference could indicate that part of the input chips of the boards might have trouble with the 3.3V logic levels; verify that they are HCT245 or ACHT245 (as opposed to HC245). If they are, you need to build an active adapter

Ok HZeller
But the card is send with fully soldered component or only the empty card?

Aren't the LED panels always fully populated ? You look at the fully populated LED panel, near the entry connector: if there is a HC245 or one of the other chips. If it is a HC245, then you need logic level shifting; if it is HCT245 or ACHT245 then you're probably fine.

(for logic level shifting, you need to build one of these https://github.com/hzeller/rpi-rgb-led-matrix/tree/master/adapter/active-3 )

On panel 32x32 I have:

02 SM24515
01 SM74HC1380
12 HD5020GP
07 MW4953F

mmh, not sure what logic level that 245 chip understands. Doing level shifting is probably a safe guess.

The adapter board I mention has relatively large components, so relatively easy to hand-solder.

In the previous message I was not referring to the panel led board but to Logic level shifting I should buy.
I refer back the question :)
The card should I order is complete with components or is it just the circuit?

Thank you, Alberto.

P.S. Recompiling with SLOWDOWN_GPIO = 1 the situation has improved but not enough !!

the board on OshPark is just the PCB, you need to get the components yourself and solder them on.

Most important are the 4xHCT245 and 4x100nF and the connectors of course.
10kOhm is optional.

I do not have a soldering SMD :(
How can I solder the components?

It is relatively simple actually - there are lots of videos and instructions online as well.
Maybe ask a friend who has a little experience.

If there is enough demand, I might put the project up on http://tindie.com/ completely assembled. But so far there is probably not enough demand to make the needed time worthwhile.

ok .... I'm making a shopping list and ordered the pcb :)
We try ...... we feel later.
For the moment, thanks to the assistance

Finally I received the active adapter PCB.
I assembled quite quickly but it seems that the problem is resolved.
Using only one output of the PCB with 4x32 ie -r32 -c4 P1 have the same problem as the image I had already posted.
I also tried to rotate the brushes but the problem is related to the panels.

Why ?

I still did other tests with 2x64 ie R32 -c2 P2 via artnet.
The program I use to manage content is coolux pandora's box.
Everything appears jerky on display and I can not figure out what might be caused.
Some idea?

VideoLink: http://1drv.ms/1IKIARy

Thanks, Alberto

It looks like it updates only small increments of the image with tiny blocks of four rows or so with quite some network latency. You should make sure that in your pipeline the image is mostly transmitted in one go. For instance, for the led pixelpusher impelementation, you should set the UDP size as high as possible (see README (-u option)).
Also make sure that you go over ethernet (couldn't quite see in the image what your network connection was).

I don't know what the artnet bridge does and the pandora thing, so you have to figure out that there how to make sure that they transmit the image as complete as possible at once.

Regarding your other panels: that is hard to debug remotely; the do seem to 'almost' work, so it is not the software, but something in the hardware of these panels.

As Henner said, wifi is not an option, use ethernet. We are running 64x64 led matrices with raspberry pi 2 or pi+ without problems. In our environment the original pixelpusher artnet bridge is installed on a windows pc, not on the rpi. We start the bridge with some additional memory:
java -Xmx256M -jar ArtNetBridge.jar

Antonio

Good morning,
I tried to run artnet bridge on the PC but the result does not change.
I also tried to give the maximum with -u but the result does not change.
I also tried to put .... DRGB_SLOWDOWN_GPIO = 2 but the result does not change.

I then noticed that the two top panels have a flickering light.
I then tried to exchange outputs on active adapter PCB but the fault moves about the other two panel

Some other ideas? :D

The two rows of panels are connected on 'active pcb on middle and top.
If I plug in bottom and middle of the two lower panels remain on for the top half in fixed white
If I leave the bottom and middle of panels connected and execute pixel-push -r32 -c3 P3 -ieth0 -a1,1 all 4 panels have stable colors without flicker, but of course I miss some of the content

Thanks, Alberto

if I understand correctly , the matrix consists of four parts . To check if there is a hardware failure, you might enable a panel after the other, then I would switch the panels gradually back into range. Switch cables, etc.

I have four panels arranged 2x2 (64 * 64)
which outputs should I use normally on active pcb?

The active board is designed by Henner, I think he can say something about the way how it is connected .
In the meantime, did you try to connect all displays in a single daisy chain? (use option -L for large display, without -r -c ). Than start first with Henners samples to see if all boards are connected right.
Option -L : 'Large' display, composed out of 4 times 32x32
(you need this option for the sample app too)

And check whether the panels are connected correctly . A panel has an input and an output that are marked with directional arrows .

If you have four panels, connecting two chains on top and middle is the right way (-P2 -c2). This is the way I'd recommend connecting four panels: shortest chains and no additional pixel-mapping needed like in the 'around the curve' display.

If you connect something to the bottom panel, you won't get anything useful unless you say -P3, which you already tried successfully. If you have trouble with the top panel with flickering, you might want to re-check signals and possibly the soldering (also, don't leave out the 100nF capacitors and make sure that the Pi and the panels share a good ground connection).

Hi Hzeller,
for the flickering you have right ...... it was a cold solder on the top chip !!
for the rest ..... I'm working :D

Thanks, Alberto

Hello to all,
finally everything works perfectly.
is all for now ..... hope! : D

You can close !!

Thanks, Alberto

What were the changes you had to do to make it working ? Given that the community spent quite some time trying to remote-debug your case, it would be good if you could describe steps you had to do to fix it, so that the next person running into similar problems can read about it here.

Ok hzeller:
But honestly I have made special modifications.

I only noticed that the shots (as in the video posted) takes place only if the PC that runs the media server (Pandora) is overloaded.
In these tests, I did not use the dedicated media server machines with their own dedicated players machine, but a normal dual processor as a manager and a laptop quad processor as a player.
Closing all unnecessary processes on the manager (dual processor), the player is able to manage the array fluidly.
For flikering leds I solved by re-running the welds on the last chip on active pcb.

Thanks for all, Alberto

I'm back sp46887 :D
If you're still out there, could you send me the jinx 32x32 file again?
even better if 64x32 :D
I lost it
And artnet shows nothing.
I humbly apologize but I need to know how to build it because I just didn't get it.

Help again