mirror of
https://github.com/bec-project/ophyd_devices.git
synced 2025-07-01 06:50:49 +02:00
feat: add precision to ComputedSignal
This commit is contained in:
@ -11,6 +11,9 @@ from ophyd.ophydobj import Kind
|
|||||||
|
|
||||||
logger = bec_logger.logger
|
logger = bec_logger.logger
|
||||||
|
|
||||||
|
# Readout precision for ComputedSignal
|
||||||
|
PRECISION = 3
|
||||||
|
|
||||||
|
|
||||||
def rgetattr(obj, attr, *args):
|
def rgetattr(obj, attr, *args):
|
||||||
"""See https://stackoverflow.com/questions/31174295/getattr-and-setattr-on-nested-objects"""
|
"""See https://stackoverflow.com/questions/31174295/getattr-and-setattr-on-nested-objects"""
|
||||||
@ -35,6 +38,7 @@ class ComputedSignal(SignalRO):
|
|||||||
name,
|
name,
|
||||||
value=0,
|
value=0,
|
||||||
timestamp=None,
|
timestamp=None,
|
||||||
|
precision=PRECISION,
|
||||||
device_manager=None,
|
device_manager=None,
|
||||||
parent=None,
|
parent=None,
|
||||||
labels=None,
|
labels=None,
|
||||||
@ -58,6 +62,7 @@ class ComputedSignal(SignalRO):
|
|||||||
cl=cl,
|
cl=cl,
|
||||||
attr_name=attr_name,
|
attr_name=attr_name,
|
||||||
)
|
)
|
||||||
|
self._precision = precision
|
||||||
self._device_manager = device_manager
|
self._device_manager = device_manager
|
||||||
self._input_signals = []
|
self._input_signals = []
|
||||||
self._signal_subs = []
|
self._signal_subs = []
|
||||||
@ -138,6 +143,11 @@ class ComputedSignal(SignalRO):
|
|||||||
signals.append(signal)
|
signals.append(signal)
|
||||||
self._input_signals = signals
|
self._input_signals = signals
|
||||||
|
|
||||||
|
@property
|
||||||
|
def precision(self):
|
||||||
|
"""The precision of the computed value"""
|
||||||
|
return self._precision
|
||||||
|
|
||||||
def get(self):
|
def get(self):
|
||||||
if self._compute_method:
|
if self._compute_method:
|
||||||
# pylint: disable=not-callable
|
# pylint: disable=not-callable
|
||||||
|
Reference in New Issue
Block a user