Merge pull request from j-g00da/40px_four_scan_panels_support

40px four-scan panels support
This commit is contained in:
mrcodetastic 2025-02-08 15:10:44 +00:00 committed by GitHub
commit e369f0ddb8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -56,7 +56,8 @@ enum PANEL_SCAN_RATE
NORMAL_ONE_SIXTEEN, // treated as the same
FOUR_SCAN_32PX_HIGH,
FOUR_SCAN_16PX_HIGH,
FOUR_SCAN_64PX_HIGH
FOUR_SCAN_64PX_HIGH,
FOUR_SCAN_40PX_HIGH
};
// Chaining approach... From the perspective of the DISPLAY / LED side of the chain of panels.
@ -413,6 +414,13 @@ inline VirtualCoords VirtualMatrixPanel::getCoords(int16_t virt_x, int16_t virt_
coords.x += (coords.x / panelResX) * panelResX;
coords.y = (coords.y >> 3) * 4 + (coords.y & 0b00000011);
break;
case FOUR_SCAN_40PX_HIGH:
if ((coords.y / 10) % 2 == 0)
coords.x += ((coords.x / panelResX) + 1) * panelResX;
else
coords.x += (coords.x / panelResX) * panelResX;
coords.y = (coords.y / 20) * 10 + (coords.y % 10);
break;
default:
break;
}