Skip to content

fix(console): name the safety-limits START refusal (0x20) - #326

Merged
georgevigelette merged 1 commit into
nextfrom
fix/limits-fault-reason
Oct 15, 2026
Merged

georgevigelette merged 1 commit into
nextfrom
fix/limits-fault-reason

Conversation

@georgevigelette

Copy link
Copy Markdown
Contributor

Console firmware with CFW-10 (console-fw fix/safety-limits-validate) refuses OW_CTRL_START_TRIG with status bit 0x20 when a safety limit named in the stored config was not loaded and verified (out of range, not a settable register, failed write or read-back mismatch). It clears on the next config apply that succeeds.

Add TRIG_INTERLOCK_LIMITS (0x20) and its reason, so start_trigger() and ScanWorkflow report "a safety limit in the console config was not applied (out of range or failed read-back)".

Tests: tests/test_trigger_limits.py; software suite no new failures. Bench: config with EE_PULSE_WIDTH_UL 700 -> start_trigger() False, refusal 0x20 with the reason above; stored config restored -> True.

Summary

Licensing layer

  • Apache-2.0 extension (3D Slicer, wellness/veterinary module, partner SDK, language binding)
  • AGPL-3.0 core (firmware, sensing/beamforming/reconstruction/signal-processing/calibration algorithms, hardware reference design)
  • Docs / data / tooling only
  • This PR moves a file between the AGPL core and the Apache layer — if checked, this is NOT an ordinary PR: it requires the license-manifest change process (and board approval for anything leaving the core). Link the approval.

Checklist

  • Commits are signed off (DCO): git commit -s
  • New files carry the correct SPDX-License-Identifier for their layer
  • Tests and docs updated
  • No incompatible third-party code introduced
  • CI is green and CODEOWNERS review requested

Notes for reviewers

Console firmware with CFW-10 (console-fw fix/safety-limits-validate) refuses
OW_CTRL_START_TRIG with status bit 0x20 when a safety limit named in the
stored config was not loaded and verified (out of range, not a settable
register, failed write or read-back mismatch). It clears on the next config
apply that succeeds.

Add TRIG_INTERLOCK_LIMITS (0x20) and its reason, so start_trigger() and
ScanWorkflow report "a safety limit in the console config was not applied
(out of range or failed read-back)".

Tests: tests/test_trigger_limits.py; software suite no new failures. Bench:
config with EE_PULSE_WIDTH_UL 700 -> start_trigger() False, refusal 0x20 with
the reason above; stored config restored -> True.

Signed-off-by: George Vigelette <george@openwater.cc>
@georgevigelette
georgevigelette merged commit ce56553 into next Oct 15, 2026
2 checks passed
@georgevigelette
georgevigelette deleted the fix/limits-fault-reason branch October 15, 2026 05:43
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