Need map help with 4 chained 32x16 panels

Hi all
I am trying to map a system and am having a lot of trouble getting it right. It is 4 boards chained together, they are 32 wide by 16 high, and they are chained such that the 16 high edges are touching (so the overall screen is 128 wide and 16 high).
Using a teensy 4.0 and the 5.0 shield.
It’s a no-name panel from china and appears to work the least bad in the mapping code when I use SM_PANELTYPE_HUB75_4ROW_MOD2SCAN_ALT_ADDX. That gets it to run a single dot across every pixel one at a time in reverse engineering mode. I’ll attach my map below.
Worth noting that when reverse engineering, the dot travels thru every even row first, and then goes back and fills in the odd number rows after all even ones are complete.
When I follow the instructions to add my map and update all CPP and H files, the MODE_MAP_TESTING mode will still run the dot across in a non linear way.

I’m not sure if I made a mistake in putting my map in, or what else to look at.

Thoughts on what to try next?
Thanks

Map:
{0, 31, -8},
{0, 63, -8},
{0, 95, -8},
{0, 127, -8},
{0, 159, -8},
{0, 191, -8},
{0, 223, -8},
{0, 255, -8},
{0, 287, -8},
{0, 319, -8},
{0, 351, -8},
{0, 383, -8},
{0, 415, -8},
{0, 447, -8},
{0, 479, -8},
{0, 511, -8},
{2, 16, 8},
{2, 48, 8},
{2, 80, 8},
{2, 112, 8},
{2, 144, 8},
{2, 176, 8},
{2, 208, 8},
{2, 240, 8},
{2, 272, 8},
{2, 304, 8},
{2, 336, 8},
{2, 368, 8},
{2, 400, 8},
{2, 432, 8},
{2, 464, 8},
{2, 496, 8},
{4, 15, -8},
{4, 47, -8},
{4, 79, -8},
{4, 111, -8},
{4, 143, -8},
{4, 175, -8},
{4, 207, -8},
{4, 239, -8},
{4, 271, -8},
{4, 303, -8},
{4, 335, -8},
{4, 367, -8},
{4, 399, -8},
{4, 431, -8},
{4, 463, -8},
{4, 495, -8},
{6, 0, 8},
{6, 32, 8},
{6, 64, 8},
{6, 96, 8},
{6, 128, 8},
{6, 160, 8},
{6, 192, 8},
{6, 224, 8},
{6, 256, 8},
{6, 288, 8},
{6, 320, 8},
{6, 352, 8},
{6, 384, 8},
{6, 416, 8},
{6, 448, 8},
{6, 480, 8},
{8, 543, -8},
{8, 575, -8},
{8, 607, -8},
{8, 639, -8},
{8, 671, -8},
{8, 703, -8},
{8, 735, -8},
{8, 767, -8},
{8, 799, -8},
{8, 831, -8},
{8, 863, -8},
{8, 895, -8},
{8, 927, -8},
{8, 959, -8},
{8, 991, -8},
{8, 1023, -8},
{10, 528, 8},
{10, 560, 8},
{10, 592, 8},
{10, 624, 8},
{10, 656, 8},
{10, 688, 8},
{10, 720, 8},
{10, 752, 8},
{10, 784, 8},
{10, 816, 8},
{10, 848, 8},
{10, 880, 8},
{10, 912, 8},
{10, 944, 8},
{10, 976, 8},
{10, 1008, 8},
{12, 527, -8},
{12, 559, -8},
{12, 591, -8},
{12, 623, -8},
{12, 655, -8},
{12, 687, -8},
{12, 719, -8},
{12, 751, -8},
{12, 783, -8},
{12, 815, -8},
{12, 847, -8},
{12, 879, -8},
{12, 911, -8},
{12, 943, -8},
{12, 975, -8},
{12, 1007, -8},
{14, 512, 8},
{14, 544, 8},
{14, 576, 8},
{14, 608, 8},
{14, 640, 8},
{14, 672, 8},
{14, 704, 8},
{14, 736, 8},
{14, 768, 8},
{14, 800, 8},
{14, 832, 8},
{14, 864, 8},
{14, 896, 8},
{14, 928, 8},
{14, 960, 8},
{14, 992, 8},
{0, 0, 0},

That’s not a correct map, the dot should go through every row sequentially, from top to bottom

Is that the case in reverse engineering mode? The image (filename “32x16-MOD4-panel-map.jpg” and map that come with the code show a pattern similarly skippy to mine.

I understand that in testing mode it should iterate in a linear way, but for reverse engineering, I was under the impression that it would skip around, and you generate a map based on that skipping, and the software then uses the map to linearize.

Thanks
Eric

Oops, you’re right. Sorry I don’t have time to look at your map in detail right now

No worries, it’s not a huge rush.
I think at least part of what I’m getting tripped up on is what values should be in for kMatrixHeight and width when reverse engineering. If i put in values that are accurate to the number of pixels, I get repeating patterns at the same time. If i multiply up to 2 or 4 times the pixels I actually have, it is then correct. but then what do I put in place for the height and width later on?
and how about MATRIXROWPAIROFFSET, i’m just trying numbers there and seeing what happens.
Same with MATRIXSCANMOD

Thanks

@ericulc
Did you try to test the panel mapping with all four panels connected or with single one?
As far I know, the pattern map technology is applicable for single panel connection only, daisy chaining is not supported.
@Louis , correct me if I wrong

I did it both ways, what happens is for a single panel, the numbers are 1/4 of what they are for when all 4 panels are in place… either way at the end of the day my map patterns are similar, just offset x4 if all panels are installed.

What I think I’m messing up is adding the mapping i created. If i do MODE_MAP_TESTING with my map installed, nothing changes (the dot progresses as if it’s REVERSE_ENGINEERING), and if i take my map data in the C file and mangle it, it doesn’t actually change the dot movement at all. very weird, but I’ve tried my best to follow the instructions. Moreover, if I run one of the other examples, same issue, the map seems to effect no change.
I even modified the map file and other files to eliminate all chances of a different map being used - it returns my map under all conditions.

Sorry, what numbers are you talking about?
The 1/4 scan pattern has nothing to do with the number of connected panels. This means that only one fourth of the pixels in EACH panel are illuminated at any one time. This figure does not change whether you connect one panel, 4 or even 104 :slight_smile:
But to simplify reverse engineering, it is better to do it by connecting one panel and setting up the library for only one panel

By that, I mean the overall width and height numbers.
If i set it up and get reverse engineer to work with only 1 panel connected, what do I do with the map that I make from that - how do I expand it to work with 4 panels? Probably important for me to note here that when I get reverse engineering to work with all 4, the dot runs across all 4 panels progressively until it’s done - it doesn’t go thru 1 whole panel and then the next and then the next. It makes a zig zag thru all 4.

It’s wrong, it shouldn’t be like this. The dot should runs panels one by one.

It’s question to @Louis - is the library supports daisy chain connection for complex scan panels like 1/4 scan.

To make things more complicated, it appears to be an alternate addressing style panel.