-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
--led-panel-type=FM6126A doesn't work seem to work past 128 pixels with either --led-chain=3 or shifting pixels to the right (128x64 x 3 = 384x64) #947
Comments
Other finding, after a fresh powerup: |
Semi relatedly, I'm not sure if 196x128 (64x128 x3) is reasonable to run with a single chain (which was my hope to have a single daisy chained cable for my wiring). root@rPi3:~# ~/rpi-rgb-led-matrix/examples-api-use/demo --led-gpio-mapping=regular --led-rows=64 --led-cols=128 --led-row-addr-type=0 --led-chain=3 --led-show-refresh --led-slowdown-gpio=1 --led-parallel=1 --led-pwm-dither-bits=1 --led-pwm-lsb-nanoseconds=9 --led-pwm-bits=4 -D0 --led-slowdown-gpio=0 gives me a nicer 700Hz but the display is garbled enough that it's not usable. |
Can you check if the latest commit fixes it ? (i.e. that you can use In general, try to rather use parallel connection than chained connection. The shift-register of the panels is only of limited speed, so there is a limit in clock-speed. A panel with ABCDE adressing (1:32 panels with 64 rows) are in general pretty slow in refresh because the whole refresh cycle needs to go through 32 double-rows. If you find "outdoor panels", they typically have less address lines and thus are faster (then choose with |
Thanks @hzeller so, this half fixes it. But, I need to run the command 17 times, each time it inits 16 colums, and then the next 16, and then the next 16 until the first 2 panels are done. The 17th time inits the last panel all at once. Is it ok to re-open this until the init sequence gets sent in such a way that all the panels get initialized all at once, not by sending the init 17 times? |
Can you dig at the code to see how to make this work in your set-up ? The relevant code is at https://github.com/hzeller/rpi-rgb-led-matrix/blob/master/lib/framebuffer.cc#L399 |
yes, I'll have a stab when I can (I did bring the hardware to france to hack on it during Xmas) |
You find a lot of details in this thread: #746 |
Sorry, didn't have time to work on the FM6126A issue, all my Xmas hacking time ended up being spent on my project of a glue driver to compile and run arduino graphics code on rPi and render it on rPi with your RGBPanel driver. It's a bit of a hack, but it works :) https://community.pixelmatix.com/t/preannounce-smartmatrix-gfx-and-fastled-neomatrix-on-top-of-rpi/579 As discussed in the other bug, I'm not sure if AB or AC panels will be a lot faster than ABCDE, and if they're not, I'm going to be stuck using parallel connections to get a proper refresh rate, in which case, FM6126A init past 128 columns may not matter as much. |
Another update (sorry, not a fix), I just did a test with 3 // 4 in series, and the FM6126A sequence only went 3 panels deep. The 4th panel didn't get a full init sequence. Interestingly with 3 panels deep and 3 parallel, the init sequence was sent reliably to all 3 panels each time. |
root@rPi3:~# ~/rpi-rgb-led-matrix/examples-api-use/demo --led-gpio-mapping=regular --led-rows=64 --led-cols=128 --led-row-addr-type=0 --led-chain=1 --led-show-refresh --led-slowdown-gpio=1 --led-parallel=3 --led-pwm-dither-bits=1 --led-pwm-lsb-nanoseconds=9 --led-pwm-bits=7 --led-panel-type=FM6126A -D10
(--led-parallel=3 with active board)
works. It seems that --led-panel-type=FM6126A works well enough to init all 3 boards
When I tried to use a single chain (for wiring simplicity), this also works fine:
root@rPi3:~# ~/rpi-rgb-led-matrix/examples-api-use/demo --led-gpio-mapping=regular --led-rows=64 --led-cols=384 --led-row-addr-type=0 --led-chain=1 --led-show-refresh --led-slowdown-gpio=1 --led-parallel=1 --led-pwm-dither-bits=1 --led-pwm-lsb-nanoseconds=9 --led-pwm-bits=7 -D10 --led-panel-type=FM6126A
(--led-cols=384 --led-parallel=1)
well, it works, but only because the panels were already initialized by the first command (it doesn't work after a fresh powerup)
Now if I do this
root@rPi3:~# ~/rpi-rgb-led-matrix/examples-api-use/demo --led-gpio-mapping=regular --led-rows=64 --led-cols=128 --led-row-addr-type=0 --led-chain=3 --led-show-refresh --led-slowdown-gpio=1 --led-parallel=1 --led-pwm-dither-bits=1 --led-pwm-lsb-nanoseconds=9 --led-pwm-bits=7 -D10
( --led-cols=128 --led-chain=3)
this still work, but I dropped --led-panel-type=FM6126A . If I leave it (next command) it actually breaks the 2nd and 3rd panels.
If I re-add --led-panel-type=FM6126A, then it send a new init that breaks panels 2 and 3.
From there
root@rPi3:~# ~/rpi-rgb-led-matrix/examples-api-use/demo --led-gpio-mapping=regular --led-rows=64 --led-cols=384 --led-row-addr-type=0 --led-chain=1 --led-show-refresh --led-slowdown-gpio=1 --led-parallel=3 --led-pwm-dither-bits=1 --led-pwm-lsb-nanoseconds=9 --led-pwm-bits=7 -D10 --led-panel-type=FM6126A
does not fix the problem either.
I need to plug the panels back into 3 chains, re-init them, and then they're ok again
The text was updated successfully, but these errors were encountered: