Skip to main content

Module board

Expand description

Frame kinds a board sends.

Constants§

ACTIVITY
super::ACTIVITY_FIELDS — the fabric engine in the last whole video frame, as the activity panel drew it: the frame’s number, whether a program ran, its block, cell, frame depth, heap frontier and run cycles at the frame’s snapshot, and how many engine clocks it spent in each block and in each cell during the frame. The frame’s number comes again last: a reply whose two numbers differ spans a frame’s turnover and is not one frame’s counts.
ALL
CELLS
row, col, (cell_hi, cell_lo) × count — cells read back for a super::host::READ.
ENGINE
byte, … — bytes the fabric engine sent (its Show records and result frame, chip_protocol’s format).
ENGINE_TAKEN
count — the count bytes of the last super::host::ENGINE frame are inside the engine; the host sends the next. The engine takes bytes slower than the link brings them, so a host waits for this between frames.
PONG
super::PONG_FIELDS — the board is up, the screen it draws, what the image holds (a bit per feature, super::FEATURE_ENGINE, super::FEATURE_SMALL, super::FEATURE_TOTALS), and the PS/2 line since the image started: the clock edges the device drove, the shortest clock-low phase among them in microseconds (255 until one is shorter), and the bytes read whole and damaged.
PS2
byte, status — one byte from the PS/2 device; status is 0, or super::PS2_PARITY_ERROR / super::PS2_FRAMING_ERROR for a byte received damaged.
PS2_SENT
status — the outcome of a super::host::PS2_SEND: 0 acknowledged by the device, else super::PS2_NO_ACK.
TOTALS
super::TOTALS_FIELDS — the run’s cycles as the activity panel’s last snapshot holds them, then the engine clocks the run spent in each block and in each cell since the engine was last reset, every one counted, each total holding at its largest rather than wrapping. Once the run has ended and a frame has passed, they are its whole profile: its block totals, and its cell totals, each add up to its cycles and one (the clock that sees it done). Read during a run, each total is as it stood when its bytes were sent.