Closed danielmahon closed 7 years ago
With two instead of three parallel chains you of course miss out on potential (three chains does not cost more CPU than two chains, so you are doing 1.5x work right now). So if you had three chains with --led-chain=8
, you would get more out of it. In that case however, you need to write your own transformer that maps the physical 256x96 pixel into logical 192x128. So essentially replacing the U-transformer. For testing, before you start that, you can have a look how your system behaves w.r.t. refresh rate if you give it --led-parallel=3 --led-chain=8
and see how that changes the refresh rate. If that looks promising, then you can write the transformer (should be fairly simple to do, it usually is just a little brain-twisty sometimes to formulate these non-uniform layouts).
Read the README in the matrix library, in particular the section about command line flags to see what the command line flags do and how you can influence speed. e.g. you can use less --led-pwm-bits
or smaller --led-pwm-lsb-nanoseconds
The largest display I had on a Pi3 was a 160x96, but only because I ran out of LED matrix panels :) It works very smoothly (I am using it regularly to watch YouTube streams).
You can't get all the pixels into one big UDP packet (you would need at least 192 128 3 = 73728 bytes, plus overhead per row). But the PixelPusher protocol allows you to update individual rows or sets of them by sending multiple packets (the protocol allows to address each row individually), so if the node-pixelpusher does not do that yet, you should add it..
Hey there! First of all, awesome stuff here. Secondly, I'm having inconsistent results when trying to run a 128x192 display. My latest attempt is a 2 chain U layout, with 12 (6 32x64) panels in each chain. Using a raspberry pi 3 and your awesome active adapter. The refresh in this config is around 150hz. Can it be better? I notice around 220hz the trembling is almost gone.
Hardware: Raspberry Pi 3, Active Adapter, 60A@5V power supply, Adafruit 32x64 panels
[<-<][<-<][<-<] }--- Pi connector 1 [>->][>->][>->] [<-<][<-<][<-<] }--- Pi connector 2 [>->][>->][>->]
./pixel-push --led-parallel=2 --led-chain=12 -U -i eth0 -u 65507 --led-show-refresh
I have a couple questions:
Right now I am sending pixels to it created with p5.js via my fork of
pixel-pusher
: https://github.com/danielmahon/node-pixelpusher. The trembling happens despite the send rate. Though I am having another issue where the pixels don't seem to update fully on each send. Would that have to do with the UDP packet size? Any ideas on solutions?Thanks again.