SOLVED!
For my matrix P4(1921)-80x40-10S-V20 in MatrixCommonHub75.h file added new SM_PANELTYPE - SM_PANELTYPE_HUB75_40ROW_80COL_MOD10SCAN with parameters:
MATRIX_PANEL_HEIGHT 40
ROW_PAIR_OFFSET 20
MATRIX_SCAN_MOD 10
COLS_PER_PANEL 80
And in file MatrixPanelMaps.cpp for SM_PANELTYPE_HUB75_40ROW_80COL_MOD10SCAN case added map:
const PanelMappingEntry panelMap80x40Mod10 =
{
{0, 7, -8},
{0, 23, -8},
{0, 39, -8},
{0, 55, -8},
{0, 71, -8},
{0, 87, -8},
{0, 103, -8},
{0, 119, -8},
{0, 135, -8},
{0, 151, -8},
{10, 8, 8},
{10, 24, 8},
{10, 40, 8},
{10, 56, 8},
{10, 72, 8},
{10, 88, 8},
{10, 104, 8},
{10, 120, 8},
{10, 136, 8},
{10, 152, 8},
{0, 0, 0}
};
All works well
Regards
P.S.
For the matrix P4-2121-80x40-20S-HT1.0, a new SM_PANELTYPE - SM_PANELTYPE_HUB75_40ROW_80COL_MOD20SCAN has been added to the MatrixCommonHub75.h file with the following parameters:
MATRIX_PANEL_HEIGHT 40
ROW_PAIR_OFFSET 20
MATRIX_SCAN_MOD 20
COLS_PER_PANEL 80 //here is my mistake in the main post - sorry please
And in the MatrixPanelMaps.cpp file for SM_PANELTYPE_HUB75_40ROW_80COL_MOD20SCAN case has been added:
const PanelMappingInput PanelMap80x40Mod20 =
{
{0, 0, 80},
{0, 0, 0}
};
P4(1921)-80x40-10S-V20 is an outdoor module, when P4-2121-80x40-20S-HT1.0 is indoor, the first one is built on 60 pcsSM16208SC chips, and the second one is built on 30 pcs FM6124 chips, these chips seem similar, but the first matrix makes 2 times more scans, and as a result, it is brighter. Therefore, the architecture of the modules is different, which requires different pixel mapping.
Good luck to all!