From 4d4ffc6bfb399e0ac06b99acd619b3b20d5d23dc Mon Sep 17 00:00:00 2001 From: appleb_m Date: Tue, 2 Dec 2025 15:48:36 +0100 Subject: [PATCH] GUI: added detector status check when user clicks run --- gui/src/aaregui/panels/scan_settings_panel.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gui/src/aaregui/panels/scan_settings_panel.py b/gui/src/aaregui/panels/scan_settings_panel.py index 11f9abd9..43a12542 100644 --- a/gui/src/aaregui/panels/scan_settings_panel.py +++ b/gui/src/aaregui/panels/scan_settings_panel.py @@ -4,7 +4,7 @@ from PySide6.QtWidgets import QWidget, QGridLayout, QLabel, QFrame, QPushButton, from aaredaqlib.diffraction_geometry import DiffractionGeometry from aaredaqlib.logger_config import setup_logger from aaredaqlib.models import DAQStatusModel -from aaregui.widgets.message_box import ring_current_low_check, experiment_hutch_shutter_check +from aaregui.widgets.message_box import ring_current_low_check, experiment_hutch_shutter_check, detector_status_check from aaregui.widgets.number_line_edit import NumberLineEdit logger = setup_logger("aareGUI") @@ -36,6 +36,7 @@ class ScanSettingsPanel(QWidget): self._target_dose = None self._ring_current = None self._experiment_shutter_state = None + self._jfjoch_status = None self._layout = QGridLayout(self) @@ -80,6 +81,7 @@ class ScanSettingsPanel(QWidget): self.high_res_enter.setReadOnly(not can_edit) self.dtz_enter.setReadOnly(not can_edit) self.transmission_enter.setReadOnly(not can_edit) + self._jfjoch_status = s.jfjoch_status # If you want a visual cue: style_ro = "background-color: rgb(240, 240, 240);" # light gray style_rw = "background-color: rgb(255, 255, 255);" @@ -216,6 +218,9 @@ class ScanSettingsPanel(QWidget): return [] def check_before_run (self, scan_kind: str): + if not detector_status_check(self, self._jfjoch_status): + logger.warning("Detector is not ready, check control panel for errors.") + return False if not ring_current_low_check(self, self._ring_current): logger.warning("Low ring current, User chose to not to continue scan") return False