fix(device_server): fixed readout of objects that are neither devices nor signals

This commit is contained in:
wakonig_k 2024-07-01 21:37:49 +02:00
parent 30c4e0b919
commit b4ee7865ca

View File

@ -103,18 +103,14 @@ class RPCMixin:
self.device_manager.devices[device_root].obj, self.device_manager.devices[device_root].obj,
instr_params.get("func").split(".read")[0], instr_params.get("func").split(".read")[0],
) )
if isinstance(obj, ophyd.Device): if hasattr(obj, "kind"):
return self._rpc_read_and_return(instr)
if isinstance(obj, ophyd.Signal):
if obj.kind not in [ophyd.Kind.omitted, ophyd.Kind.config]: if obj.kind not in [ophyd.Kind.omitted, ophyd.Kind.config]:
return self._rpc_read_and_return(instr) return self._rpc_read_and_return(instr)
if obj.kind == ophyd.Kind.config: if obj.kind == ophyd.Kind.config:
return self._rpc_read_configuration_and_return(instr) return self._rpc_read_configuration_and_return(instr)
if obj.kind == ophyd.Kind.omitted: if obj.kind == ophyd.Kind.omitted:
return obj.read() return obj.read()
raise ValueError( return self._rpc_read_and_return(instr)
f"Cannot read from object {obj}. The object is not a valid ophyd object (Device or Signal)."
)
def _handle_rpc_property_set(self, instr: messages.DeviceInstructionMessage) -> None: def _handle_rpc_property_set(self, instr: messages.DeviceInstructionMessage) -> None:
instr_params = instr.content.get("parameter") instr_params = instr.content.get("parameter")