hzeller / rpi-matrix-pixelpusher

PixelPusher protocol for LED matrix.
GNU General Public License v3.0
173 stars 30 forks source link

Expecting multiple of {1 + (rgb)*64} = 193, but got 526 bytes (leftover: 140) #20

Open alverman opened 6 years ago

alverman commented 6 years ago

Expecting multiple of {1 + (rgb)*64} = 193, but got 526 bytes (leftover: 140)

When I throw pixel-push, I get this error. The flow artnet I see it coming out of artnetominator but the matrix does strange things What is it due to?

hzeller commented 6 years ago

It sounds like your program sends a different number of pixels than is necessary for the panel.

So your RGB panel is 64 pixels wide, but your program thinks somehow it should send 175 pixels.

alverman commented 6 years ago

hummm

thanks

alverman commented 6 years ago

I'm still here About a year ago I had tried pixel pusher and it all went to the first shot with any of the three programs I use, namely Madrix, Jinx and Pandora's box. With this version there is no way to make any of the three programs work. These step I've done lately: Installed raspbian latest version Configured raspian performed: sudo git clone --recursive https://github.com/hzeller/rpi-matrix-pixelpusher.git I changed the port to 6454 (which is the standard artnet port) in the pp-server/lib/pp-server.cc code run sudo make in the rpi-matrix-pixelpusher folder and finally run sudo ./pixel-push.

As soon as I send artnet data on raspberry I always see the message: Expecting multiple of {1 + (rgb) * 64} = 193, but got 526 bytes (leftover: 140) values naturally change but I always see this message flowing.

Why ?

Thanks, Alberto

hzeller commented 6 years ago

What is the full commandline you use? Parameters for the rgb matrix and to enable artnet? Do you run the Artnet proxy?

Why did you change the port? The port is the pixelpusher port, not Artnet. You need to run the Artnet proxy to translate.

I suspect you are sending Artnet protocol to the pixelpusher which then complains about wrongly formatted data.

alverman commented 6 years ago

I probably miss something I've lost over time. What should I use for an artnet proxy? The command line I perform is only that

Thanks, Alberto

hzeller commented 6 years ago

Have a look at the Readme, there is a link to the Artnet bridge.

alverman commented 6 years ago

I miss the bridge, I was really just this. Now I've downloaded it but I can not fill it out. Unfortunately I forgot this too. Can you give me directions for compile on how to do it? I downloaded from here https://github.com/robot-head/PixelPusher-artnet but I do not know how to proceed. I joined the forum but I have not yet accepted.

Thanks for your help, Alberto

hzeller commented 6 years ago

I have never used the bridge myself, so l can't really help. Looking around the robot head forum is probably the easiest.

alverman commented 6 years ago

Pending staff approval on forum :(

alverman commented 6 years ago

I need only compile java file for the moment but only errors come out of the javac

sp46887 commented 6 years ago

I'm using the artnet java bridge with Jinx, Glediator and the great pixel pusher emulation from Henner. I downloaded the java jar file about a year ago from here: http://forum.heroicrobotics.com/thread/39/artnet-support-sacn I've seen that in the meantime heroricrobotics had hardened their forum, now it is mandatory to free register for login. And of cause look at my older posts from 2015 with many tips about artnet and pixelpusher emulation: https://github.com/hzeller/rpi-matrix-pixelpusher/issues/4#issuecomment-157154397

hzeller commented 6 years ago

If you are only doing Artnet, then having this pixel-pusher implementation and then a translation layer from artnet to pixelpusher is probably a little overhead.

I just found this, where someone directly uses the rpi-rgb-led-matrix and provides an artnet receiver https://github.com/darknessii/rpi-matrix-artnet

alverman commented 6 years ago

Thank you sp46887 I remember I had a good time with pixelpusher at artnetbridge and I would like to use it again !! The fact is that I registered on heroicrobotics but I still have to approve the access and as a guest I do not see anything in the forum. Could not you turn me the jar please? Another thing ....., it's not that you could re-send me the 32x32 matrix definition of jinx, I lost it :(

Thanks for helping

alverman commented 6 years ago

Sorry but not an alternative way exists to have this artnetbridge.jar? That forum is dormant and I've always been in the approval status for 10 days.

Thanks, Alberto

sp46887 commented 6 years ago

ArtNetBridge.jar: https://ufile.io/elrws

Jinx config: https://ufile.io/bwtnv

Link will be deleted after one day

alverman commented 6 years ago

Many many many thanks !!

alverman commented 6 years ago

One more information sp46887. Do you have a list of switches, if any, for artnetbridge.jar command line?

Thanks, Alberto

sp46887 commented 6 years ago

I used the artnet bridge with jinx running on Windows a few years ago. The bridge is writen using java language and it is using extensive network support and computation power / RAM. So it is clever to start it on the windows computer (not on Raspberry PI).

Start command in batch file startbridge.bat: java -Xmx256M -jar ArtNetBridge.jar pause

-----

Note: Artnet has only 16 universes per subnet/net, so you have to use subnet and net parameters, look at the artnet specs. Artnet only has 4 bit for the universe, but with subnet and net you can carry 32000 universes via artnet, that has nothing to do with Jinx! or any limitations inside it, that is how Artnet works. So after 0/0/15 the next universe in Artnet has the address 0/1/0.

Look at the start parameters for Henner's emulation for artnet universe, ...

Today we are using the LED matrix with the iPad App LEDLab form Christopher Schardt, see here: https://itunes.apple.com/de/app/l-e-d-lab/id832042156 Henner and Christopher made some bugfixes in the past, so this two programs are working together.

Antonio (sp46887)

sp46887 commented 6 years ago

Here is my startscript for the LED matrix which is calling Henners pixel pusher emulation on Raspberry Pi. Please note, that this a script for an older Raspian version:

It is using two ppm files to display them at the matrix, one for eth (LAN) connection, other for WLAN. Download both files (zipped) here: https://ufile.io/7fi8r

#!/bin/bash
############################################################################
# Starting pixelpusher service over WLAN/Ethernet                          #
# Checking available interfaces and push out a welcome message on the LEDs # 
#                                                                          #
# Version 1.0, 15.06.2015, (c) Antonio                                     #
#                                                                          #
# Usage:                                                                   #
# use sudo raspi-config to boot system into desktop with user pi           #
#                                                                          #
# Add the following line to /etc/xdg/lxsession/LXDE-pi/autostart           #
# to start the pixel pusher service when XWindows is started               #
# @lxterminal --command="/home/pi/rpi-matrix-pixelpusher/pixel-push-start" #
# --working-directory=/home/pi/rpi-matrix-pixelpusher"                     #
############################################################################
# check that your install directory is /home/pi/rpi-matrix-pixelpusher
# or change the directory 
cd /home/pi/rpi-matrix-pixelpusher

# check if ethernet is available (ip address set)
/sbin/ifconfig eth0 | /bin/grep inet
if [ "$?" = "0" ]; then
    echo "Starting Pixelpusher over ethernet"
    sudo ./matrix/led-matrix -t 20 -D 1 /home/pi/hello-eth.ppm
    sudo ./pixel-push -i eth0
else

    echo "Starting Pixelpusher over wlan0"
#Broadcast over WLAN
    sudo route add -host 192.168.42.255 wlan0
    sudo route add 255.255.255.255 wlan0

    sudo ./matrix/led-matrix -t 20 -D 1 /home/pi/hello-wlan.ppm
    sudo ./pixel-push -i wlan0
fi
alverman commented 6 years ago

good morning guys, this time I just can not make it work. I do not seem to have put so much time a while ago, anyway: I attach a screenshot of how much is running At the top left the mediaserver screen that sends the stream artnet. On the bottom right the artnetominator monitor to display the art-net output. Bottom left pixelpusher on stalks. At the top right artnetbridge.jar.

Needless to say that on the LED I can not see anything, tried with jinx is the same thing.

What do you think is driving me crazy?

Many thanks, Alberto

matrix

alverman commented 6 years ago

Nothing to help me ?

hzeller commented 6 years ago

It is a bit hard to test for me Artnet. Is there a Linux program generating Artnet animation ?

alverman commented 6 years ago

No, artnet generated from windows program .... coolux pandora but is the same from jinx or other program.

alverman commented 6 years ago

Sorry I did not understand the question. I think there is some java program for animations led via artnet for linnux in java or other but at the moment I do not remember the name

som3oneMw commented 4 years ago

Hi @sp46887, would it be possible for me to get this .jar file from you? I'm running into the same issues, where I'm not able to compile the java files from robot-head, nor am able to gain access to the Heroic Robots forum.