3cea598057fdcc20e48475cbf05bef021335ef24
CI / lint (push) Skipped
CI / test (3.12) (push) Skipped
CI / test (3.13) (push) Skipped
CI / test-with-beamline-plugins (pxi_bec) (push) Skipped
CI / test-with-beamline-plugins (pxii_bec) (push) Skipped
CI / test-with-beamline-plugins (pxiii_bec) (push) Skipped
The visible-resolution field is fed from DAQStatusModel.last_best_res, but the update was guarded by a bare `is not None`. main now clears last_best_res on mount (daq.py), so on a fresh sample the DAQ reports "no resolution" and the panel silently kept the previous crystal's number -- and then sized detector distance, exposure and the dose budget from it. Track the DAQ value explicitly instead: - Push on a change of the DAQ value rather than on every 2 Hz tick, so a new raster result always lands while a repeat leaves a manual override alone. - Handle None: reset the field to its default instead of leaving a stale value, and mark the row "(no raster)" in the alert colour. There was previously nothing to distinguish a measured resolution from a default or a typed one, which is what made this hard to spot at the beamline; it also shows when the status endpoint's pgroup gate has stripped the value. - Use set_committed_value, which compares against what the field actually shows, rather than update_value, which compares against saved_value. on_editing_finished self-assigns saved_value (number_line_edit.py:102), so it only ever reflects programmatic writes. - Name the entry limits so the clamp on the DAQ value cannot drift from the widget's own validator range. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018JVrLMLGNUXhfJjWxUcTBj
AareDAQ
AareDAQ is the Data Acquisition system for MX beamlines at PSI.