Skip to content

feat(operate): a Raise head button beside HALT on the SPIM head - #207

Merged
pskeshu merged 1 commit into
developmentfrom
feat/spim-head-raise
Sep 26, 2026
Merged

pskeshu merged 1 commit into
developmentfrom
feat/spim-head-raise

Conversation

@pskeshu

@pskeshu pskeshu commented Sep 26, 2026

Copy link
Copy Markdown
Collaborator

in spim head surface in operate panel, along with the HALT button, we also need a button to raise the spim head to 25000 - a reset button or something.

A Raise head button on the SPIM head gauge, beside HALT. It moves the F-drive to its own top limit — 25000 µm, the "Load Sample" height. No number comes from the request: the top is the device's (fdrive.limits), so nothing a client sends can pick a height.

  • Device layer: POST /api/spim/fdrive/raise. The move runs off the loop with the state poller backed off, exactly as a nudge does, so HALT stays live for the whole traverse.
  • Client: raise_fdrive(). Agent: POST /api/devices/spim/fdrive/raise (control role).
  • Pane: the button says "Raising…" while it travels, a toast says where the head came to rest, the gauge refreshes, and the head is no longer counted as lowered for the interlock.

Ten tests in tests/test_spim_head_raise.py: the handler moves to the device's limit and reports from/to, backs the poller off and restores it, 503 without the axis, a refused move reported; the route asks the client; the button sits beside HALT and is wired in wire().

Not exercised on hardware — verify on the rig that the full traverse completes within the client's timeout (the F-drive's own move timeout is 120 s).

🤖 Generated with Claude Code

"in spim head surface in operate panel, along with the HALT button, we
also need a button to raise the spim head to 25000 - a reset button or
something."

A Raise head button on the SPIM head gauge, beside HALT, because that
is where the hand goes when the head must get out of the way. It moves
the F-drive to its own top limit — 25000 µm, the "Load Sample" height.
No number comes from the request: the top is the device's. The device
layer runs the move off its loop with the state poller backed off, as
a nudge does, and HALT stays live beside it for the whole traverse. The
button says "Raising…" while it travels, and a toast says where the
head came to rest.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@pskeshu
pskeshu merged commit 7c38ad6 into development Sep 26, 2026
2 checks passed
@pskeshu
pskeshu deleted the feat/spim-head-raise branch September 26, 2026 14:31
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