Skip to content

ISP batch retries + total-first summary; poll-based ISP handoff refresh#163

Open
floesche wants to merge 2 commits into
reiserlab:mainfrom
floesche:isp-poll-and-timing
Open

ISP batch retries + total-first summary; poll-based ISP handoff refresh#163
floesche wants to merge 2 commits into
reiserlab:mainfrom
floesche:isp-poll-and-timing

Conversation

@floesche

Copy link
Copy Markdown
Member

Summary

  • ISP batch flashing now gives a failed panel up to two retries (was one) before marking it failed/skipped, with the attempt number shown in the log and per-panel report ("retry 1", "retry 2"). Paired with a controller-firmware change that jitters its receipt-poll cadence between attempts, so a retry re-rolls timing-related failures instead of replaying them exactly.
  • The batch summary now leads with the total a human wants: "Done: 20/20 flashed (20 verified, 0 unverified, 0 failed/skipped)". The old form ("20 verified, 0 flashed, 0 failed/skipped of 20") read as if nothing had been flashed, because "flashed" meant flashed-without-verify.
  • Refreshes docs/development/arena-studio-isp-firmware-push-handoff.md for the poll-based controller ISP: 0xC8 now polls the panel's commit receipt (15 s ceiling) and post-reboot liveness (12 s ceiling) instead of fixed 30-45 s waits, returning in ~3.2 s/panel typical (fleet-validated); the success message carries a per-phase timing summary, and the "what the human sees" section describes the weighted upload/verify/commit progress bar and the sad-smiley failure face.
  • Arena Studio v0.69. The branch's release-notes entries were renumbered to v0.68/v0.69 during the merge with main, whose PR fix(console+studio): re-enable live 0x84 pattern preview #151 had already taken v0.67.

Test plan

  • pixi run test (all suites pass; tests/test-arena-studio-alt.js footer stamp updated to v0.69)
  • Bench: batch flash against the paired controller firmware; a panel failing its first attempt shows "retry 1"/"retry 2" in the log and report before being marked failed/skipped
  • Bench: a clean full-fleet run ends with the new "Done: N/N flashed (N verified, 0 unverified, 0 failed/skipped)" summary

Dependency

Requires the controller to run the paired Arena-Firmware branch isp-poll-and-timing (reiserlab/LED-Display_G6_Firmware_Arena): poll-based commit receipts and post-reboot liveness with split SPI clocks and pacing, plus ENTER retry and receipt-poll jitter between attempts. On older firmware the extra retry still runs but replays the same timing, and the handoff-doc timings do not apply.

floesche added 2 commits July 21, 2026 16:18
Arena Studio

- The batch summary now leads with the total: "Done: 20/20 flashed
  (20 verified, 0 unverified, 0 failed/skipped)". Previously a fully
  successful run ended with "20 verified, 0 flashed, ..." because the
  verified/flashed counters are mutually exclusive, which read as if
  nothing had been flashed.
- A failed panel flash now gets up to two retries (was one) before
  being marked failed/skipped, logged as "(retry 1)" / "(retry 2)".
  Pairs with the controller-firmware change that jitters its
  receipt-poll timing between attempts, so a retry re-rolls
  timing-related failures instead of replaying them exactly (a
  deterministic race made one panel fail its single retry identically
  during a fleet flash).

ISP push handoff doc: the controller now polls the commit receipt and
post-reboot liveness instead of fixed waits, so 0xC8 returns when the
panel is back up: ~3.2 s per panel, fleet-validated (was documented as
30-45 s), and verify can run immediately after a success response. The
what-the-human-sees section now describes the whole-process bar
(upload 0..16, verify 17, commit animates to full) plus the sad-smiley
failure face.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant