32x32 Matrix Issue

Hi all
I was trying my 32x32 SmartMatrix lib on a ESP32.
Matrix is running well with PxMatrix lib.

however I have some display issue with this lib.

Here is my Matrix


I thought the adafruit logo on it was a goos sign :wink:

no info on the HUB75 connector.

With the bitmap demo and parameter SMARTMATRIX_HUB75_32ROW_MOD16SCAN, bipmap / lines are seeing twice

With SMARTMATRIX_HUB75_16ROW_MOD8SCAN, it’s better but the 4 displayed blocks are not in the good order . All part of image are displayed but not at the right place.

Has someone an idea what can I do to ?

My working PxMatric config is:

PxMATRIX display(32,32,P_LAT, P_OE,P_A,P_B,P_C,P_D);
// Define your display layout here, e.g. 1/8 step
display.begin(8);
// Define your scan pattern here {LINE, ZIGZAG, ZAGGIZ} (default is LINE)
display.setScanPattern( LINE);
// Define multiplex implemention here {BINARY, STRAIGHT} (default is BINARY)
//display.setMuxPattern(BINARY); // STRAIGHT is not working

So default configuration here …

PS: sorry I can only upload 1 image as I’m a new user

PS my Matix has only 2 Hub 75 connector (1 in, 1 Out) not like the one shown on AliExpress web site.
I’m using the left one.

Your panel is 32x32/8, and needs to use the MultiRowMapping feature in SmartMatrix Library:

There’s some info here, and more in the MultiRowMapping sketch in the library

thx. I’ll check this

Thx louis. It’s working with:

Blockquote
const PanelMappingEntry panelMap32x32Mod8 =
{
{0, 32, 8},
{0, 40, 8},
{0, 48, 8},
{0, 56, 8},
{8, 0, 8},
{8, 8, 8},
{8, 16, 8},
{8, 24, 8},
{0, 0, 0} // last entry is all zeros
};

2 Likes

Finally, I have found a man who has the same problem as me.:sob:
I have a 3232 P5 1/8 scan panel, two days to make it work and failed.
I just copy your ‘panelMap32x32Mod8’, but it not work for my panel, so sre you willing to share the code of ‘MultiRowRefreshMapping.ino’ of your 32
32 panel.
Thanks:relaxed:

@merlinux - Are you able to share the full sample sketch and details of any manual changes you may have made to the library itself?

Can you confirm what values should be in SmartMatrixCommonHUB75.h for this type of panel?

Also, the MultiRowRefreshMapping file mentions CONVERT_PANELTYPE_TO_MATRIXPHYSICALROWSPERREFRESHROW, but this is not present in SmartMatrixCommonHUB75.h

Thanks, I just fixed the sketch comments and wiki

Did you ever get the panel working? I can add this type to the library if you have a complete set of map and values.

Not yet, I’ve had a couple of attempts, but struggled to use the test sketch as can’t get output when in the reverse engineer more only the test mode, so it’s been a bit of random guessing of values playing numberwang

OK - Having another bash at this, hopefully @Louis can see what i’m doing wrong

Panel is 32x32 and I believe I have tried all the predefined panels and none work 100%

The panel is labeled as P6-3535-8S-HL2.0 from which I am presuming that means modscan8 given the modscan 16 doesn’t work

Steps to test

  1. Checkout master of library 792f99e28dbeb8216c18697564867cf1771773ec
  2. Open MultiRowRefreshMapping
  3. Do not follow 100% what value I should be using for kMatrixHeight - presuming the /2 etc refers to modcan, then should I be using 32 and kMatrixWidth also be 32?
  4. What kPanelType should I be using? SM_PANELTYPE_HUB75_16ROW_MOD8SCAN ?
  5. Include the right file for my shield setup
  6. Run

Doing so does then appear to light only a single pixel at a time, basically doing the right hand side of the panel first and then flipping to to the left hand side

So far so good. The first issue is that the notes say it will start as red the go to yellow, but I actually get blue, cyan, magenta then white

If I continue on …

SmartMatrixCommonHub75.h does not exist but if I edit MatrixCommonHub75.h and add

#define SM_PANELTYPE_HUB75_32ROW_32COL_MOD8SCAN     13
#define SMARTMATRIX_HUB75_32ROW_32COL_MOD8SCAN      SM_PANELTYPE_HUB75_32ROW_32COL_MOD8SCAN

CONVERT_PANELTYPE_TO_MATRIXPANELHEIGHT

(x == SMARTMATRIX_HUB75_32ROW_32COL_MOD8SCAN ? 32 : 0))

CONVERT_PANELTYPE_TO_MATRIXROWPAIROFFSET

(x == SMARTMATRIX_HUB75_32ROW_32COL_MOD8SCAN ? 16 : 0))

CONVERT_PANELTYPE_TO_MATRIXSCANMOD

(x == SMARTMATRIX_HUB75_32ROW_32COL_MOD8SCAN ? 8 : 0))

CONVERT_PANELTYPE_TO_MATRIXPANELWIDTH

(x == SMARTMATRIX_HUB75_32ROW_32COL_MOD8SCAN ? 32 : 0))

At this point the MODE_MAP_REVERSE_ENGINEERING and MODE_MAP_TESTING and SMARTMATRIX_HUB75_32ROW_32COL_MOD8SCAN gives output that starts on the top right quater then disspears before then showing bottom right

There is no PanelMaps.cpp, but if I edit MatrixPanelMaps.cpp and try and use the map suggested by merlinux after adding

case SMARTMATRIX_HUB75_32ROW_32COL_MOD8SCAN:
        return panelMap32x32Mod8;

Then I get scanning on the top right quadrant, then top left quad, then bottom right then finally bottom left. Note, as per the reverse enginer, it does not scan each quadrant in linear fashion,but alternating top/middle, top+1, middle+1 etc

The video of the reverse engineer is https://photos.app.goo.gl/ufEDB4inr8Qxi5Ba6

Any suggestions @Louis?

Sorry, I only have a few minutes here and there right now, not enough time to actually read your message and figure out a response

1 Like

Can you do reverse engineering mode, use SM_PANELTYPE_HUB75_16ROW_MOD8SCAN, 64 width, 16 height, and share the video?

Yeah I can a take another video with the different width and height values. Should I be concerned that the guide talks about it being red and I’m seeing blue?

Could be the color channels are swapped, there’s a fix for that in the wiki.