Pin forgectrl 25cf969 and register the offset probe on the bench page

forgectrl 25cf969 lets status.c link without the cooling engine (the
image build compiles the status host tests), so the pin moves to it;
verified with bitbake -c fetch. offset_probe.py joins the bench-page
registry (survey, ladder and jog; the armed dwell stays a hand-run mode)
and takes "survey" as a mode word.
This commit is contained in:
ScottW514
2026-08-29 17:47:05 -04:00
parent 8831d9b20e
commit 5920d9bc77
3 changed files with 12 additions and 2 deletions
+10
View File
@@ -128,6 +128,16 @@ TOOLS = [
_arg("warm_min", "float", 20.0, "warm-up budget per check, minutes")], _arg("warm_min", "float", 20.0, "warm-up budget per check, minutes")],
"desc": "Runs the real check (40 percent / 50 s, cut-profile fans) from a heater-warmed baseline, alternating " "desc": "Runs the real check (40 percent / 50 s, cut-profile fans) from a heater-warmed baseline, alternating "
"flow and no-flow; results to the bench data directory. Slow: about 15 minutes per cycle."}, "flow and no-flow; results to the bench data directory. Slow: about 15 minutes per cycle."},
{"id": "offset-probe", "title": "Coolant-sensor offset probe", "script": "offset_probe.py",
"safety": "dry", "where": "board", "ported": True,
"args": [_arg("mode", "choice", "survey", "survey: one actuator at a time; ladder: the air-assist "
"duty ladder; jog: the air assist at run duty while the gantry jogs",
["survey", "ladder", "jog"])],
"desc": "Which actuator moves both coolant thermistors together? Switches the exhaust (100/50/25 "
"percent), intakes, air assist, purge, heater, pump, TEC and lid lamp one at a time, dark, "
"with both sensors at 25 Hz, and scores the common-mode step at every edge and the level "
"toggling inside every dwell; every value is restored on exit. The pump stops once for "
"8 s with the tube dark and the heater off. About five minutes."},
{"id": "critical-tier", "title": "Coolant critical-tier warm-loop drill", "script": "critical_tier_drill.py", {"id": "critical-tier", "title": "Coolant critical-tier warm-loop drill", "script": "critical_tier_drill.py",
"safety": "dry", "where": "board", "ported": True, "safety": "dry", "where": "board", "ported": True,
"args": [_arg("max_seconds", "int", 1200, "give up after this long without CRITICAL", flag="--max-seconds")], "args": [_arg("max_seconds", "int", 1200, "give up after this long without CRITICAL", flag="--max-seconds")],
@@ -2,5 +2,5 @@
# only SRCREV and PV here - the image manifest leaves *-pin.inc out of the # only SRCREV and PV here - the image manifest leaves *-pin.inc out of the
# layer content hash because the component entry already identifies the # layer content hash because the component entry already identifies the
# pinned source (forgefirm-image-manifest.bbclass). # pinned source (forgefirm-image-manifest.bbclass).
SRCREV = "f9b48934b32278140510401bd066dac1e1437b7e" SRCREV = "25cf969cf149bc539ff90f875fcc7edaa6c52ae2"
PV = "0.1.0" PV = "0.1.0"
+1 -1
View File
@@ -357,7 +357,7 @@ def main():
if len(sys.argv) > 1 and sys.argv[1] == 'armed': if len(sys.argv) > 1 and sys.argv[1] == 'armed':
return run_armed() return run_armed()
ladder = len(sys.argv) > 1 and sys.argv[1] == 'ladder' ladder = len(sys.argv) > 1 and sys.argv[1] == 'ladder'
repeat = int(sys.argv[1]) if len(sys.argv) > 1 and not ladder else 2 repeat = int(sys.argv[1]) if len(sys.argv) > 1 and sys.argv[1].isdigit() else 2
attrs = { attrs = {
'exhaust': SYSFS + 'thermal/exhaust_pwm', 'exhaust': SYSFS + 'thermal/exhaust_pwm',
'intake': SYSFS + 'thermal/intake_pwm', 'intake': SYSFS + 'thermal/intake_pwm',