From ba96fc365856c7302086fa2cdec7f4bfd00d1727 Mon Sep 17 00:00:00 2001 From: Sven Augustin Date: Tue, 12 Oct 2021 00:42:11 +0200 Subject: [PATCH] changed units PV readout to not read in constructors --- slic/core/adjustable/pvenumadjustable.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/slic/core/adjustable/pvenumadjustable.py b/slic/core/adjustable/pvenumadjustable.py index a9657ec7d..fbdd5965f 100644 --- a/slic/core/adjustable/pvenumadjustable.py +++ b/slic/core/adjustable/pvenumadjustable.py @@ -5,17 +5,28 @@ from .adjustable import Adjustable class PVEnumAdjustable(Adjustable): - def __init__(self, pvname, ID=None, name=None, internal=False): + def __init__(self, pvname, ID=None, name=None, units=None, internal=False): self.pvname = pvname self.pv = pv = PV(pvname) ID = ID or pvname - units = pv.units super().__init__(ID, name=name, units=units, internal=internal) self.states = Enum(pv.enum_strs) + @property + def units(self): + units = self._units + if units is not None: + return units + return self.pvs.readback.units + + @units.setter + def units(self, value): + self._units = value + + def get_current_value(self, as_number=False): as_string = not as_number return self.pv.get(as_string=as_string)