When trying to display a scrolling image on a 3x3 display of 32x16 panels, if I set led_options.rows to 16 then only the top halves of each panel turn on, giving 3 strips of the image (although these strips are correctly positioned). If, on the other hand, I set the height to 32, then the full height of each panel will turn on, but the image will have the middle strip removed, ie the top panels will display the top strip, then the middle row of panels will display the bottom strip, with the middle 16 pixels of height missing (image is a 396x48 .ppm file). It’s as though the program thinks the panels are 32 pixels high regardless of what rows is set to, but I can’t for the life of me figure out where that might be.
Interestingly, if I set pixel_mapper_config to “xyflipped”, the issue seems to go away when rows is set to 32 - the top 3 panels will each display what appears to be the correct section of the image, with no missing/blank panels as when “xyflipped” is not enabled.
The display itself is not the problem and is wired correctly, as with a newer OS image the same .ppm displays fine, but that OS image is still being developed and not suitable for use currently.
Yep, --led-chain and --led-parallel are both 3, and --led-rows is the variable in question. --led-multiplexing is set to 7, this matches the other OS image’s setting.
Ended up working around the problem by reconnecting the panels in columns instead of rows and turning on xyflipped. --led-rows is still set to 32 but now it works perfectly
I would like to try and figure this out… In pixel-mapper.cc, specifically under the “xyflipped” block, there’s a line saying “If you have an AB led panel then it will think that each panel has 32 rows of pixels. This results in the LED panel thinking it has a ‘phantom’ panel…” - could this be related? This would explain why when I rewire and turn on xyflipped, the issue appears to go away.