Open jannoke opened 1 month ago
You'll have to make sure you're using a Raspberry Pi with Gigabit Ethernet, as the receiving cards don't support other speeds. This means you'll need to use at least a Pi 3 B+. All the receiving cards appear to use the same MAC address, so it shouldn't need to be changed.
You'll want to make sure you're using the correct port when launching PanelPlayer. Brightness is specified between 0 and 255, so 10 could be a bit dark depending on the content and display you're using. Give this a try:
./panelplayer -p eth0 -w 32 -h 16 -s ezgif-2-4f97098d37.webp
Hi,
Thanks. It was it. I added USB gigabit network adapter and it works fine now atleast on this small panel. For testing brightness even 1 is enough to use it for testing :)
For reference I also installed it on debian 12.5 virtualbox, but on compilation I got error:
user@debian12-dev:~/panel/PanelPlayer# make mkdir ./build gcc -Wall -Werror -pthread -O3 -c source/colorlight.c -o build/colorlight.o gcc -Wall -Werror -pthread -O3 -c source/loader.c -o build/loader.o gcc -Wall -Werror -pthread -O3 -c source/main.c -o build/main.o source/main.c: In function ‘main’: source/main.c:309:33: error: ‘update’ may be used uninitialized [-Werror=maybe-uninitialized] 309 | update(width, height, buffer); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ source/main.c:195:16: note: ‘update’ was declared here 195 | void (*update)(); | ^~~~~~ cc1: all warnings being treated as errors make: *** [makefile:22: build/main.o] Error 1
I gave a code to chatGPT and it fixed it. ` --- original_main.c +++ updated_main.c @@ -192,7 +192,7 @@ goto destroy_loader; }
void (*update)() = NULL;
if (extensionFile != NULL) { ` But it is inconsistent , probably because of unstable timings on virtual machine. I would blink randomly and sometimes only half of screen ( I have 1 second , 2 frame blinking video). Just for anyone who is developing on virtual machine.
So now the question is how would I go to drive multiple controllers?
I could add multiple netcards for each panel or use vlans yes, but I'm thinking can it be done in same network. Do I understand correctly that currently all controllers in the network would show same picture currently?
Your compiler doesn't seem to realise update()
is never used unless initialised. You should be able to remove -Wall -Werror
from source/makefile
as a fix.
Often Colorlight requires a packet that isn't a valid Ethernet frame. Some NICs/drivers appear to drop these frames. I wouldn't be surprised if some VM implementations also have trouble with them.
The entire image is broadcast over the network. When you configure a receiver in LEDVision you set its position and size. The receiver will then display that region of the image. Multiple receiving cards can be daisy chained or connected to a layer 2 switch. You might have issues using a switch that drops malformed packets or tries to do anything particularly fancy. Enabling port mirroring could be a workaround if you're using a switch that supports it.
Let me know how it goes - I only have a single receiving card so haven't been able to test with multiple yet.
I get no reaction on the panel. I can see from tcpdump that packets are going out. How is it even meant to work on on multiple cards? Should I targer broadcast on specific mac address instead of default on code?
Running on rpi3 with : ./panelplayer -p wlan0 -w 32 -h 16 -b 10 -s ezgif-2-4f97098d37.webp