From 7bf8e3d4ed4577007a5c50f3dbae9412316cd7ee Mon Sep 17 00:00:00 2001 From: ScottW514 Date: Sun, 16 Aug 2026 20:59:54 -0400 Subject: [PATCH] forgefirm-app: bump to 37854f0 (0.1.8+git) - the park clears the ring first; cloud.lid-abort checks the kernel counters cloud.lid-abort now proves the park with the machine's own counters (cloud clears them at every job start, so a completed park reads back at (0,0)); stale ring bytes replayed ahead of the park would not. --- forgetest/forgetest/suite/cloud.py | 10 ++++++++++ .../forgefirm-app/forgefirm-app-pin.inc | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/forgetest/forgetest/suite/cloud.py b/forgetest/forgetest/suite/cloud.py index bdb7831..e07f9c4 100644 --- a/forgetest/forgetest/suite/cloud.py +++ b/forgetest/forgetest/suite/cloud.py @@ -7,6 +7,7 @@ import time from ..catalog import test from .. import hw +from ..baseline import read_position _CLOUD_COVERS = [("forgefirm-app", "**"), ("python3-gfhardware", "**"), ("python3-gfutilities", "**"), ("forgectrl", "src/super.c"), ("forgectrl", "src/main.c")] @@ -387,6 +388,15 @@ def lid_abort(ctx): ev["edge_to_stop_ms"]) ctx.check(got["start return home"] and got["return home complete"], "the park did not run to completion with the lid open") + # the machine, not the client: the job started at counters (0,0,0) + # (cloud clears them at every job start), so a completed park reads + # back there - stale ring bytes replayed ahead of the park would not + ctx.check(ctx.forgectrl.wait_idle(15, abort=ctx.aborted), "machine not idle after the park") + kpos = read_position() + ev["kernel_counters_after_park"] = kpos + ctx.log("kernel counters after the park: %s", kpos) + ctx.check(kpos is not None and abs(kpos[0]) <= 3 and abs(kpos[1]) <= 3, + "the head did not come back to the job start (kernel counters %s)", kpos) ctx.check(got[CANCELLED], "the print did not end ':cancelled'") st, cs = ctx.forgectrl.get("/cool/status") ev["armed_after"] = cs.get("armed") if isinstance(cs, dict) else None diff --git a/meta-forgefirm/recipes-forgefirm/forgefirm-app/forgefirm-app-pin.inc b/meta-forgefirm/recipes-forgefirm/forgefirm-app/forgefirm-app-pin.inc index c898c17..bec9983 100644 --- a/meta-forgefirm/recipes-forgefirm/forgefirm-app/forgefirm-app-pin.inc +++ b/meta-forgefirm/recipes-forgefirm/forgefirm-app/forgefirm-app-pin.inc @@ -4,9 +4,9 @@ # because the component entry already identifies the pinned source # (forgefirm-image-manifest.bbclass). The python3-gfhardware recipe in # meta-glowforge-bsp pins the same repository; move both together. -SRCREV = "f7e591baa6097adaa839103a255c39e92adf8254" +SRCREV = "37854f020dfe7d2ff5541de63cc546a2eb5751d1" # Bump PV with every SRCREV move: the hash-derived package version is not # monotonic on its own and buildhistory QA fails the build when it sorts # backwards. -PV = "0.1.7+git" +PV = "0.1.8+git"