6 Commits
Author SHA1 Message Date
John Henry BealeandClaude Opus 5.5 e05ebeb76b run blocking motor sequences in the worker thread, wait for the backlight
Detector, collimator, post-tube in/out, move home/yag, the backlight button
and the sample exchange/alignment/data collection transitions blocked the
GUI thread for up to ~20s per move.

- MoveWorker (same thread as the collection worker, so sequences and
  collections can not overlap) runs (label, callable) steps with a progress
  dialog; all controls are locked meanwhile (no nudges, zoom stays usable)
- move functions raise MoveError instead of showing dialogs; the GUI shows
  the message when the sequence ends
- abort stops all motors (motor record STOP, backlight) and ends the
  sequence; position checks (assert_tweaker_positions abort=) stop waiting
- safety: backlight moves wait and check the position before the next step
  (post-tube in used to start while the backlight was still moving out)
- tandem nudges stay non blocking in the GUI thread; collimator still moves
  X then Y
- sample alignment: backlight in now also checks the detector is clear of
  the post-tube path (as the backlight button does)

Tested in simulation and at the beamline.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 09:20:51 +02:00
zamofing_t 3fc4f50c15 optimize imports and cleanup code 2024-09-25 12:36:48 +02:00
zamofing_t 6712251b9d change defaults and limits 2023-05-24 12:02:27 +02:00
zamofing_t 1393269ceb add app_utils for motion_assert, contextMenu og GraphItem, further fixes 2022-09-21 11:06:10 +02:00
zamofing_t 52d0dd0b79 wip simulated mode 2022-07-14 14:16:25 +02:00
zamofing_t 3815a07cdf add files and simulated modes 2022-07-14 09:16:29 +02:00