From fc17741d2ac46632e3adb96814d2c41e8000dcc6 Mon Sep 17 00:00:00 2001 From: Klaus Wakonig Date: Sat, 18 Mar 2023 09:35:40 +0100 Subject: [PATCH 1/3] fix: moved to hint structure for flyers --- ophyd_devices/sim/sim.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ophyd_devices/sim/sim.py b/ophyd_devices/sim/sim.py index 440e99f..d6f547f 100644 --- a/ophyd_devices/sim/sim.py +++ b/ophyd_devices/sim/sim.py @@ -383,6 +383,10 @@ class SynFlyer(Device, PositionerBase): super().__init__(name=name, parent=parent, labels=labels, kind=kind, **kwargs) + @property + def hints(self): + return {"fields": ["flyer_samx", "flyer_samy"]} + def kickoff(self, metadata, num_pos, positions, exp_time: float = 0): positions = np.asarray(positions) @@ -394,8 +398,10 @@ class SynFlyer(Device, PositionerBase): bundle.append( BECMessage.DeviceMessage( signals={ - "flyer_samx": {"value": positions[ii, 0], "timestamp": 0}, - "flyer_samy": {"value": positions[ii, 1], "timestamp": 0}, + self.name: { + "flyer_samx": {"value": positions[ii, 0], "timestamp": 0}, + "flyer_samy": {"value": positions[ii, 1], "timestamp": 0}, + } }, metadata={"pointID": ii, **metadata}, ).dumps() From 419ce9dfdaf3ebdb30a2ece25f37a8ebe1a53572 Mon Sep 17 00:00:00 2001 From: Klaus Wakonig Date: Sat, 18 Mar 2023 09:50:02 +0100 Subject: [PATCH 2/3] fix: fixed rt_lamni for new hinted flyers --- ophyd_devices/rt_lamni/rt_lamni_ophyd.py | 25 ++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/ophyd_devices/rt_lamni/rt_lamni_ophyd.py b/ophyd_devices/rt_lamni/rt_lamni_ophyd.py index 8084577..c04cb24 100644 --- a/ophyd_devices/rt_lamni/rt_lamni_ophyd.py +++ b/ophyd_devices/rt_lamni/rt_lamni_ophyd.py @@ -107,6 +107,8 @@ class RtLamniController(Controller): logger.info("The connection has already been established.") # warnings.warn(f"The connection has already been established.", stacklevel=2) + self._update_flyer_device_info() + def off(self) -> None: """Close the socket connection to the controller""" if self.connected: @@ -305,6 +307,29 @@ class RtLamniController(Controller): readout = threading.Thread(target=self.read_positions_from_sampler) readout.start() + def _update_flyer_device_info(self): + flyer_info = self._get_flyer_device_info() + self.get_device_manager().producer.set( + MessageEndpoints.device_info("rt_scan"), + BECMessage.DeviceInfoMessage(device="rt_scan", info=flyer_info).dumps(), + ) + + def _get_flyer_device_info(self) -> dict: + return { + "device_name": self.name, + "device_attr_name": getattr(self, "attr_name", ""), + "device_dotted_name": getattr(self, "dotted_name", ""), + "device_info": { + "device_base_class": "ophydobject", + "signals": [], + "hints": ["average_x_st_fzp", "average_y_st_fzp"], + "describe": {}, + "describe_configuration": {}, + "sub_devices": [], + "custom_user_access": [], + }, + } + def kickoff(self, metadata): self.readout_metadata = metadata while not self._min_scan_buffer_reached: From 26105421247cf5ea2b145e51525db8326b02852e Mon Sep 17 00:00:00 2001 From: Klaus Wakonig Date: Sat, 18 Mar 2023 09:53:52 +0100 Subject: [PATCH 3/3] fix: fixed rt_lamni hints --- ophyd_devices/rt_lamni/rt_lamni_ophyd.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ophyd_devices/rt_lamni/rt_lamni_ophyd.py b/ophyd_devices/rt_lamni/rt_lamni_ophyd.py index c04cb24..074a67a 100644 --- a/ophyd_devices/rt_lamni/rt_lamni_ophyd.py +++ b/ophyd_devices/rt_lamni/rt_lamni_ophyd.py @@ -322,7 +322,7 @@ class RtLamniController(Controller): "device_info": { "device_base_class": "ophydobject", "signals": [], - "hints": ["average_x_st_fzp", "average_y_st_fzp"], + "hints": {"fields": ["average_x_st_fzp", "average_y_st_fzp"]}, "describe": {}, "describe_configuration": {}, "sub_devices": [],