|
41 | 41 | #define SM_PANELTYPE_HUB75_64ROW_64COL_MOD16SCAN 11
|
42 | 42 | #define SM_PANELTYPE_HUB75_16ROW_32COL_MOD4SCAN_V3 12
|
43 | 43 | #define SM_PANELTYPE_HUB75_16ROW_32COL_MOD4SCAN_V4 13 // Applied patch from https://community.pixelmatix.com/t/mapping-assistance-32x16-p10/889/23 not fully integrated (ESP32 only)
|
| 44 | +#define SM_PANELTYPE_HUB75_16ROW_32COL_MOD2SCAN_V2 14 |
44 | 45 |
|
45 | 46 | #define SMARTMATRIX_HUB75_32ROW_MOD16SCAN SM_PANELTYPE_HUB75_32ROW_MOD16SCAN
|
46 | 47 | #define SMARTMATRIX_HUB75_16ROW_MOD8SCAN SM_PANELTYPE_HUB75_16ROW_MOD8SCAN
|
|
56 | 57 | #define SMARTMATRIX_HUB75_64ROW_64COL_MOD16SCAN SM_PANELTYPE_HUB75_64ROW_64COL_MOD16SCAN
|
57 | 58 | #define SMARTMATRIX_HUB75_16ROW_32COL_MOD4SCAN_V3 SM_PANELTYPE_HUB75_16ROW_32COL_MOD4SCAN_V3
|
58 | 59 | #define SMARTMATRIX_HUB75_16ROW_32COL_MOD4SCAN_V4 SM_PANELTYPE_HUB75_16ROW_32COL_MOD4SCAN_V4
|
| 60 | +#define SMARTMATRIX_HUB75_16ROW_32COL_MOD2SCAN_V2 SM_PANELTYPE_HUB75_16ROW_32COL_MOD2SCAN_V2 |
59 | 61 |
|
60 | 62 | #define CONVERT_PANELTYPE_TO_MATRIXPANELHEIGHT(x) ((x == SMARTMATRIX_HUB75_32ROW_MOD16SCAN ? 32 : 0) | \
|
61 | 63 | (x == SMARTMATRIX_HUB75_64ROW_64COL_MOD16SCAN ? 64 : 0) | \
|
|
69 | 71 | (x == SMARTMATRIX_HUB75_16ROW_32COL_MOD4SCAN_V2 ? 16 : 0) | \
|
70 | 72 | (x == SMARTMATRIX_HUB75_16ROW_32COL_MOD4SCAN_V3 ? 16 : 0) | \
|
71 | 73 | (x == SMARTMATRIX_HUB75_16ROW_32COL_MOD4SCAN_V4 ? 16 : 0) | \
|
| 74 | + (x == SMARTMATRIX_HUB75_16ROW_32COL_MOD2SCAN_V2 ? 16 : 0) | \ |
72 | 75 | (x == SMARTMATRIX_HUB75_2ROW_MOD1SCAN ? 2 : 0) | \
|
73 | 76 | (x == SMARTMATRIX_HUB75_64ROW_MOD32SCAN ? 64 : 0))
|
74 | 77 |
|
|
84 | 87 | (x == SMARTMATRIX_HUB75_16ROW_32COL_MOD4SCAN_V2 ? 8 : 0) | \
|
85 | 88 | (x == SMARTMATRIX_HUB75_16ROW_32COL_MOD4SCAN_V3 ? 8 : 0) | \
|
86 | 89 | (x == SMARTMATRIX_HUB75_16ROW_32COL_MOD4SCAN_V4 ? 8 : 0) | \
|
| 90 | + (x == SMARTMATRIX_HUB75_16ROW_32COL_MOD2SCAN_V2 ? 8 : 0) | \ |
87 | 91 | (x == SMARTMATRIX_HUB75_2ROW_MOD1SCAN ? 1 : 0) | \
|
88 | 92 | (x == SMARTMATRIX_HUB75_64ROW_MOD32SCAN ? 32 : 0))
|
89 | 93 |
|
|
98 | 102 | (x == SMARTMATRIX_HUB75_16ROW_32COL_MOD4SCAN_V2 ? 4 : 0) | \
|
99 | 103 | (x == SMARTMATRIX_HUB75_16ROW_32COL_MOD4SCAN_V3 ? 4 : 0) | \
|
100 | 104 | (x == SMARTMATRIX_HUB75_16ROW_32COL_MOD4SCAN_V4 ? 4 : 0) | \
|
| 105 | + (x == SMARTMATRIX_HUB75_16ROW_32COL_MOD2SCAN_V2 ? 2 : 0) | \ |
101 | 106 | (x == SMARTMATRIX_HUB75_32ROW_64COL_MOD8SCAN ? 8 : 0) | \
|
102 | 107 | (x == SMARTMATRIX_HUB75_2ROW_MOD1SCAN ? 1 : 0) | \
|
103 | 108 | (x == SMARTMATRIX_HUB75_64ROW_MOD32SCAN ? 32 : 0))
|
|
114 | 119 | (x == SMARTMATRIX_HUB75_16ROW_32COL_MOD4SCAN_V2 ? 32 : 0) | \
|
115 | 120 | (x == SMARTMATRIX_HUB75_16ROW_32COL_MOD4SCAN_V3 ? 32 : 0) | \
|
116 | 121 | (x == SMARTMATRIX_HUB75_16ROW_32COL_MOD4SCAN_V4 ? 32 : 0) | \
|
| 122 | + (x == SMARTMATRIX_HUB75_16ROW_32COL_MOD2SCAN_V2 ? 32 : 0) | \ |
117 | 123 | (x == SMARTMATRIX_HUB75_2ROW_MOD1SCAN ? DEFAULT_PANEL_WIDTH_FOR_LINEAR_PANELS : 0) | \
|
118 | 124 | (x == SMARTMATRIX_HUB75_64ROW_MOD32SCAN ? DEFAULT_PANEL_WIDTH_FOR_LINEAR_PANELS : 0))
|
119 | 125 |
|
| 126 | +// Some panels (usually MOD2/MOD4 panels) use an alt address mode and ground one address line per row, instead of using all the bits. Identify those panels here. Thanks to Eric: https://community.pixelmatix.com/t/mapping-assistance-32x16-p10/889/23 |
| 127 | +#define PANEL_USES_ALT_ADDRESSING_MODE(x) ((x == SMARTMATRIX_HUB75_16ROW_32COL_MOD4SCAN_V4 ? 1 : 0) | \ |
| 128 | + (x == SMARTMATRIX_HUB75_16ROW_32COL_MOD2SCAN_V2 ? 1 : 0)) |
| 129 | + |
120 | 130 | #define MATRIX_PANEL_HEIGHT (CONVERT_PANELTYPE_TO_MATRIXPANELHEIGHT(panelType))
|
121 | 131 | #define MATRIX_STACK_HEIGHT (matrixHeight / MATRIX_PANEL_HEIGHT)
|
122 | 132 |
|
|
0 commit comments