pub struct QuarterScan<const PANEL_ROWS: usize, const PANEL_COLS: usize> {}Expand description
Pixel remapper for panels with 1/4-scan (also called 1/16-scan on 64-row panels)
Some LED panels — particularly 64×64 modules — use fewer address lines than the row count would suggest. A “1/16-scan” 64×64 panel, for example, has only 16 row-address lines instead of the expected 32. The panel internally maps 4 groups of 16 rows into separate horizontal sections of the shift register, so the physical framebuffer is 4× wider and 4× shorter than the logical display.
Important: the exact interleaving pattern varies by driver chip and
manufacturer (FM6126, ICN2037, MBI5153, etc.). The remap_xy method
must be filled in to match your specific panel. The default implementation
panics at runtime as a reminder.
§Type Parameters
PANEL_ROWS— Logical row count of the panel (e.g. 64)PANEL_COLS— Logical column count of the panel (e.g. 64)
§Framebuffer geometry
The underlying framebuffer must be allocated with:
- rows =
PANEL_ROWS / 4(e.g. 16 for a 64-row panel) - cols =
PANEL_COLS * 4(e.g. 256 for a 64-column panel)