GUI: added detector status check when user clicks run

This commit is contained in:
2025-12-02 15:48:36 +01:00
parent ed4d79e0fd
commit 4d4ffc6bfb
@@ -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