pub struct Block7Builder { /* private fields */ }Implementations§
Source§impl Block7Builder
impl Block7Builder
Sourcepub fn erased(map: &BootImage) -> Self
pub fn erased(map: &BootImage) -> Self
Erased flash (all 0xFF), so every other byte is one the builder placed;
map says where each region goes.
Sourcepub fn from_generated(
map: &BootImage,
spec: &PanelSpec,
g: &Generated,
) -> Result<Self>
pub fn from_generated( map: &BootImage, spec: &PanelSpec, g: &Generated, ) -> Result<Self>
The raster-state regions. void_line_columns must follow zero_regions,
which clears 0x1000..0x1800 (docs/rendering.md). The chip page and the
embedded .rcvbp are left to the caller: RAM pushes must not send them.
§Errors
Fails if the generated config lacks a record or a region builder refuses the spec.
Sourcepub fn zero_regions(&mut self)
pub fn zero_regions(&mut self)
The gated-off regions, as the vendor’s zeroed buffers leave them.
Sourcepub fn void_line_columns(&mut self, from: u16, to: u16)
pub fn void_line_columns(&mut self, from: u16, to: u16)
0x1400: the void-line column table, one byte per line position
(physical = a + table[a], GetVoidLineInfoPacks @ 0x1e58c0). 0xFF
pushes from..to past the end of the chain; for this wiring
width..2*width carried a fixed pattern instead (docs/rendering.md).
Sourcepub fn basic_pack(&mut self, body: &[u8]) -> Result<()>
pub fn basic_pack(&mut self, body: &[u8]) -> Result<()>
Sourcepub fn chip_registers_from(&mut self, cfg: &Rcvbp) -> Result<()>
pub fn chip_registers_from(&mut self, cfg: &Rcvbp) -> Result<()>
Page 0x09: record 0x84 verbatim; the card arms the drivers at boot only when this page is written. No record 0x84 leaves the page erased.
§Errors
Fails if record 0x84 is present but not one page.
Sourcepub fn data_swap_from(&mut self, rec01: &[u8]) -> Result<()>
pub fn data_swap_from(&mut self, rec01: &[u8]) -> Result<()>
Sourcepub fn module_positions_from(&mut self, rec01: &[u8]) -> Result<()>
pub fn module_positions_from(&mut self, rec01: &[u8]) -> Result<()>
Sourcepub fn anti_void_lines(&mut self)
pub fn anti_void_lines(&mut self)
0x1800: the anti-void-line counters.
Sourcepub fn mapping_from(&mut self, cfg: &Rcvbp) -> Result<()>
pub fn mapping_from(&mut self, cfg: &Rcvbp) -> Result<()>
0x3000: record 0x03 with each entry’s u16 flipped LE to BE; the vendor’s 16 pixel-sequence packs are this table, sliced.
§Errors
Fails if the record is missing, malformed, or too large.
Sourcepub fn scan_table_from(
&mut self,
rec01: &[u8],
card_scan_len: u16,
) -> Result<()>
pub fn scan_table_from( &mut self, rec01: &[u8], card_scan_len: u16, ) -> Result<()>
0x6000: the scan table from the vendor’s bit-time solver.
§Errors
Fails for solver inputs outside the transcribed cases.