fix: update gui to remove dangerous robot commands
CI / lint (pull_request) Successful in 46s
CI / test (3.11) (pull_request) Successful in 1m1s
CI / test (3.12) (pull_request) Successful in 1m8s
CI / test (3.13) (pull_request) Successful in 1m8s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m13s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 1m13s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Successful in 1m23s
CI / test-with-coverage (pull_request) Successful in 1m36s
CI / coverage-analysis (pull_request) Failing after 6s
Docs build and publish / docker (push) Successful in 11s
CI / lint (push) Successful in 32s
CI / test (3.11) (push) Canceled after 37s
CI / test (3.12) (push) Canceled after 34s
CI / test (3.13) (push) Canceled after 32s
CI / test-with-beamline-plugins (pxi_bec) (push) Canceled after 29s
CI / test-with-beamline-plugins (pxii_bec) (push) Canceled after 27s
CI / test-with-beamline-plugins (pxiii_bec) (push) Canceled after 24s
CI / test-with-coverage (push) Canceled after 22s
CI / coverage-analysis (push) Canceled after 0s
Build and Publish / release (push) Successful in 27s

This commit was merged in pull request #165.
This commit is contained in:
2026-08-24 16:30:08 +02:00
parent 4379b8a1a5
commit 772ba2c026
3 changed files with 10 additions and 19 deletions
+3 -7
View File
@@ -1827,15 +1827,11 @@ class AareDAQ:
def _execute_dry(self, park: bool = True, unmount: bool = False):
self._create_mounting_service().dry(park=park, unmount=unmount)
def park_and_dry(self, park=True, unmount: bool = False):
def park_and_dry(self, park=True):
"""External API for dry and park only"""
self._cfg.try_set_busy(timeout=360)
try:
self._set_state(BeamlineStateEnum.RobotSampleExchange)
except TransformationInvalidException as e:
logger.error(f"Failed to go to robot sample exchange: {e}")
logger.warning("trying to day and park without unmounting first")
try:
self._execute_dry(park=park, unmount=unmount)
self._execute_dry(park=park, unmount=False)
self._cfg.state_busy = False
except Exception as e:
self._cfg.state_busy = False
+2 -2
View File
@@ -1082,8 +1082,8 @@ async def park_and_dry(token: str = Depends(oauth2_scheme)):
Dictionary with status and message.
"""
auth.check_jwt_rw(cfg, auth.parse_token(token))
logger.debug("Executing unmount, dry and park")
daq.park_and_dry(park=True, unmount=False)
logger.debug("Executing dry and park")
daq.park_and_dry(park=True)
return {"ok": True, "message": "TELL has been dried and parked"}
+5 -10
View File
@@ -298,29 +298,24 @@ class LocalContactPanel(QFrame):
grid = QGridLayout()
grid.setHorizontalSpacing(8)
grid.setVerticalSpacing(8)
row = 0
row += 1
grid.addWidget(
self._make_button("Unmount", self._daq.unmount, "Requesting sample unmount."), row, 0
self._make_button("Unmount", self._daq.unmount, "Requesting sample unmount."), 0, 0
)
grid.addWidget(self._make_button("Dry", self._daq.tell_dry, "Requesting TELL dry."), row, 1)
row += 1
grid.addWidget(
self._make_button("Park and dry", self._daq.park_and_dry, "Requesting park and dry."),
row,
0,
1,
)
grid.addWidget(
self._make_button("Toggle blower", self._daq.tell_toggle_blower, "Toggling blower."),
row,
1,
0,
)
row += 1
grid.addWidget(self._make_button("Anneal", self._anneal_from_dialog), row, 0)
grid.addWidget(self._make_button("TELL access info", self._show_tell_access_info), row, 1)
grid.addWidget(self._make_button("Anneal", self._anneal_from_dialog), 1, 1)
grid.addWidget(self._make_button("TELL access info", self._show_tell_access_info), 2, 0)
wrapper = QGroupBox("TELL actions", tab)
wrapper_layout = QVBoxLayout(wrapper)