When i run this demo: sudo ./demo -D0 --led-brightness 20 --led-gpio-mapping=adafruit-hat-pwm --led-cols 40 --led-rows 20 --led-multiplexing 16 --led-chain 2
i get this result.
Only --led-multiplexing that shows any resemblance of a cube is 16 - P8Outdoor1R1G1
Can someone please help me. What is wrong here.
There are suggestions on making a new multiplexing mapper, but I’m not sure i know how.
Thanks for all the details in your question, it does help.
So, this might not be the most accurate answer, but if it is an ABC panel, that means you can only select 8 lines with R1 B1 G2 and another 16 with R2 B2 G2
So, I’m not sure how the library can address lines 17 to 40, although from your example, it does.
That means the ABC lines are likely used to send a 5 bit address (you really need ABCDE to address more than 32) over just 3 pins.
Have a look at https://github.com/hzeller/rpi-rgb-led-matrix/issues/823 which recommends led-row-addr-type=3
Try playing with other values for that.
If that doesn’t work, a dirty fix could be do apply a mapper on top of your array in memory so that it’s swapped the right way before being sent.
See https://github.com/hzeller/rpi-rgb-led-matrix/pull/1014
You may not be able to use Vmapper:Z as is because it was meant to flip every other panel and you need a flip within the panel, but you should be able to adjust the code and make it work for you if none of the mapping flags work for you
I think the correct answer is that you may have to write/edit an existing multipler
I did a fork of the hzeller library and started writing a new multiplexer. But to be honest, i have no idea what I’m doing.
I tried using the pixel-mover example, but nothing makes sense. I also am unable to debug the code, just to see what values i’m getting.
Sorry to hear the troubles you went through.
unfortunately, I’m just a user like you, I so barely know the code, just enough that I copied a pixel mapper and made my own
My experience with weird mapping panels has been that people are on their own for making them work.
From the last picture you posted, a pixel mapper on top could fix the display, it’s an ugly solution, but it should work.
Writing a correct low level mapper is better, but I have no experience doing that, so good luck in finding which one works best for you.