From 4122ebe6168936dd16717ce31c698aaaa06e55e1 Mon Sep 17 00:00:00 2001 From: "opencode.energia.arti.ee" Date: Fri, 30 Oct 2026 22:18:37 +0000 Subject: [PATCH] plan: task 2 must pass the strip payload into the CRC --- .../2026-10-30-vt1200-stream-transport-and-row-strips.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/superpowers/plans/2026-10-30-vt1200-stream-transport-and-row-strips.md b/docs/superpowers/plans/2026-10-30-vt1200-stream-transport-and-row-strips.md index 8953396..0a7dd16 100644 --- a/docs/superpowers/plans/2026-10-30-vt1200-stream-transport-and-row-strips.md +++ b/docs/superpowers/plans/2026-10-30-vt1200-stream-transport-and-row-strips.md @@ -138,6 +138,8 @@ def test_strip_frame_round_trips_through_the_header(): assert head["kind"] == 1 and head["rows"] == 8 and head["stretch"] == 128 assert head["payload_len"] == 8 * 160 assert b"".join(pkts)[16:] == rows + from harness.udpstream.frame import unpack_header as _u + assert _u(pkts[0][:16], b"".join(pkts)[16:])["crc_ok"] is True ``` - [ ] **Step 2: Run test to verify it fails** @@ -147,7 +149,7 @@ Expected: FAIL — no module `vidsrc` - [ ] **Step 3: Implement `Rows.pack_row` and `StripSource`** -`pack_row` sets bit `i` of the byte stream for pixel `i` (MSB first within each byte). `StripSource.encode` prepends `pack_header(KIND_STRIP, frame_no, len(rows), rows, stretch)` and chunks the result at 1450 bytes. +`pack_row` sets bit `i` of the byte stream for pixel `i` (MSB first within each byte). `StripSource.encode` prepends `pack_header(KIND_STRIP, frame_no, len(rows), rows, stretch, payload=rows)` — **the payload must be passed so the CRC covers it**, or the terminal rejects every frame — and chunks the result at 1450 bytes. - [ ] **Step 4: Run test to verify it passes**