14 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
John Henry BealeandClaude Opus 5.5 976776d267 allow collimator/post-tube nudges during data collection, lock everything else
- progress dialog is non modal; during a collection set_collecting() greys
  out the left tabs, toolbar, menu, fast stage and x-ray eye groups,
  backlight/lights/exposure and the collimator/post-tube in/out buttons
- collimator and post-tube motors stay usable, limited to a total move of
  NUDGE_MAX_STEP (0.5 mm) from their position at the start of the
  collection (MotorTweak/SimMotorTweak.set_max_step)
- zoom stays usable during a collection
- mouse clicks on the camera view are ignored during a collection
- daq_worker added to the -l log level list
- debug coordinate log is skipped when points/pts_trf are not in the
  scan parameters (grid modes) instead of raising KeyError

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 14:22:43 +02:00
John Henry Beale 9ee99a12ea trying to prevent EPICS callback threads updating QT widgets directly. 2026-06-15 09:02:49 +02:00
zamofing_t 457ea0e675 abs-path instead relative, cleanup code 2024-09-25 07:20:57 +02:00
zamofing_t 21811abd92 fixing coordTrf stuff and screen updating
- fix sign error in transformation for z
- MotorTweak.py rel_move relative to RBV not VAL
- SimMotorTweak.py move emits also RBV to update objects in SwissMX
- update Readme.md
2024-01-18 16:23:26 +01:00
zamofing_t 523a154cd7 major fixes 2023-05-24 17:37:51 +02:00
zamofing_t c1a674c91b add gonio default positions 2023-05-24 11:53:41 +02:00
zamofing_t 21afed9739 fix tracking object bugs after collection 2022-09-19 09:22:28 +02:00
zamofing_t 45e8ab680f refactoring and log of coorinate work 2022-09-02 12:46:51 +02:00
zamofing_t 3ef576f690 rework motor tweak 2022-08-19 09:51:21 +02:00
zamofing_t 22fcad62c1 moving ROI with stage and zoom 2022-08-17 12:04:51 +02:00
zamofing_t aa9a2c9948 lot a small steps... 2022-08-16 18:45:26 +02:00
zamofing_t a5b400208c wip 2022-08-16 07:00:30 +02:00
zamofing_t a4217ef1c8 wip 2022-07-18 09:11:46 +02:00