From dae10fff3aba2c4757dbcbaf9d793c91292aefa2 Mon Sep 17 00:00:00 2001 From: Xiaoqiang Wang Date: Tue, 2 Jul 2024 13:58:21 +0200 Subject: [PATCH] feat: add precision to ComputedSignal --- ophyd_devices/utils/dynamic_pseudo.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ophyd_devices/utils/dynamic_pseudo.py b/ophyd_devices/utils/dynamic_pseudo.py index 42eb576..7ef4165 100644 --- a/ophyd_devices/utils/dynamic_pseudo.py +++ b/ophyd_devices/utils/dynamic_pseudo.py @@ -11,6 +11,9 @@ from ophyd.ophydobj import Kind logger = bec_logger.logger +# Readout precision for ComputedSignal +PRECISION = 3 + def rgetattr(obj, attr, *args): """See https://stackoverflow.com/questions/31174295/getattr-and-setattr-on-nested-objects""" @@ -35,6 +38,7 @@ class ComputedSignal(SignalRO): name, value=0, timestamp=None, + precision=PRECISION, device_manager=None, parent=None, labels=None, @@ -58,6 +62,7 @@ class ComputedSignal(SignalRO): cl=cl, attr_name=attr_name, ) + self._precision = precision self._device_manager = device_manager self._input_signals = [] self._signal_subs = [] @@ -138,6 +143,11 @@ class ComputedSignal(SignalRO): signals.append(signal) self._input_signals = signals + @property + def precision(self): + """The precision of the computed value""" + return self._precision + def get(self): if self._compute_method: # pylint: disable=not-callable