secop_psi.entangle.AnalogInput: fix main value
when the unit of parameter 'value' is taken from tango, the '$' units of other parameters are already replaced by the configured value and are not updated. this change fixes this. not yet tested on entangle, but a test with similar code works Change-Id: I87ad112b0965b39bb204d6c3d1fc1de6d4e14f60 Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/29357 Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de> Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de> Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
This commit is contained in:
@@ -376,6 +376,12 @@ class AnalogInput(PyTangoDevice, Readable):
|
||||
"""
|
||||
The AnalogInput handles all devices only delivering an analogue value.
|
||||
"""
|
||||
__main_unit = None
|
||||
|
||||
def applyMainUnit(self, mainunit):
|
||||
# called from __init__ method
|
||||
# replacement of '$' by main unit must be done later
|
||||
self.__main_unit = mainunit
|
||||
|
||||
def startModule(self, start_events):
|
||||
super().startModule(start_events)
|
||||
@@ -386,8 +392,11 @@ class AnalogInput(PyTangoDevice, Readable):
|
||||
# update
|
||||
if attrInfo.unit != 'No unit':
|
||||
self.accessibles['value'].datatype.setProperty('unit', attrInfo.unit)
|
||||
self.__main_unit = attrInfo.unit
|
||||
except Exception as e:
|
||||
self.log.error(e)
|
||||
if self.__main_unit:
|
||||
super().applyMainUnit(self.__main_unit)
|
||||
|
||||
def read_value(self):
|
||||
return self._dev.value
|
||||
|
||||
Reference in New Issue
Block a user