From 1395044432dbf9235adce0fd5d46c019ea5db2db Mon Sep 17 00:00:00 2001 From: e20588 Date: Tue, 29 Nov 2022 10:33:16 +0100 Subject: [PATCH 1/2] fix: online fixes --- ophyd_devices/eiger1p5m_csaxs/eiger1p5m.py | 10 ++++++++++ ophyd_devices/rt_lamni/rt_lamni_ophyd.py | 13 +++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/ophyd_devices/eiger1p5m_csaxs/eiger1p5m.py b/ophyd_devices/eiger1p5m_csaxs/eiger1p5m.py index ba0ebfd..f677d8b 100644 --- a/ophyd_devices/eiger1p5m_csaxs/eiger1p5m.py +++ b/ophyd_devices/eiger1p5m_csaxs/eiger1p5m.py @@ -119,6 +119,13 @@ class Eiger1p5MDetector(Device): # set the exposure time self.exp_time.set(exp_time) + # wait for detector control to become "ready" + while True: + det_ctrl = self.detector_control.get() + if det_ctrl == "ready": + break + time.sleep(0.005) + # send the "begin" flag to start processing the above commands self.detector_control.set("begin") @@ -146,6 +153,8 @@ class Eiger1p5MDetector(Device): ) time_waited += sleep_time time.sleep(sleep_time) + if self._stopped: + break continue break self.detector_control.put("stop") @@ -154,6 +163,7 @@ class Eiger1p5MDetector(Device): self.device_manager.producer.set_and_publish( MessageEndpoints.device_read(self.name), msg.dumps() ) + self._stopped = False return super().unstage() def stop(self, *, success=False): diff --git a/ophyd_devices/rt_lamni/rt_lamni_ophyd.py b/ophyd_devices/rt_lamni/rt_lamni_ophyd.py index b4303d2..8084577 100644 --- a/ophyd_devices/rt_lamni/rt_lamni_ophyd.py +++ b/ophyd_devices/rt_lamni/rt_lamni_ophyd.py @@ -88,8 +88,17 @@ class RtLamniController(Controller): try: self.sock.open() # discuss - after disconnect takes a while for the server to be ready again - welcome_message = self.sock.receive() - self.connected = True + max_retries = 10 + tries = 0 + while not self.connected: + try: + welcome_message = self.sock.receive() + self.connected = True + except ConnectionResetError as conn_reset: + if tries > max_retries: + raise conn_reset + tries += 1 + time.sleep(2) except ConnectionRefusedError as conn_error: logger.error("Failed to open a connection to RTLamNI.") raise RtLamniCommunicationError from conn_error From 9e938f3745106fb62e176d344aee6ee5c1fffa90 Mon Sep 17 00:00:00 2001 From: e20588 Date: Tue, 29 Nov 2022 10:38:01 +0100 Subject: [PATCH 2/2] fix: formatter --- ophyd_devices/sls_devices/sls_devices.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ophyd_devices/sls_devices/sls_devices.py b/ophyd_devices/sls_devices/sls_devices.py index 221d70c..d11f261 100644 --- a/ophyd_devices/sls_devices/sls_devices.py +++ b/ophyd_devices/sls_devices/sls_devices.py @@ -25,6 +25,7 @@ class SLSOperatorMessages(Device): self.wait_for_connection() self._run_subs(sub_type=self.SUB_VALUE, timestamp=timestamp, obj=self) + class SLSInfo(Device): SUB_VALUE = "value" _default_sub = SUB_VALUE