From 637177f3cebd56cad41ee074ee0673944aaf1302 Mon Sep 17 00:00:00 2001 From: Christian Koernig <ckoernig@physnet.uni-hamburg.de> Date: Thu, 20 Feb 2020 13:15:23 +0100 Subject: [PATCH] Added Calibration Parameters as attributes --- python/AmptekPX5.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/python/AmptekPX5.py b/python/AmptekPX5.py index e538408..94e4dda 100644 --- a/python/AmptekPX5.py +++ b/python/AmptekPX5.py @@ -16,6 +16,7 @@ class AmptekPX5(Device): timeout_seconds = device_property(dtype=float, default_value=1) detector_model = device_property(dtype=str, default_value="CdTe") connection_mode = device_property(dtype=str, default_value="UDP") + MaxInfoAge = attribute(label = "MaxInfoAge", dtype=float, fget = "get_maxinfoage", fset = "set_maxinfoage") @@ -103,7 +104,10 @@ class AmptekPX5(Device): fget=lambda self: self.GetTecVoltage(self._max_info_age)) - + CalibrationSlope = attribute(label="CalibrationSlope", dtype=float, + fget=lambda self: self._calibrationslope, fset = "set_calibrationslope") + CalibrationOffset = attribute(label="CalibrationOffset", dtype=float, + fget=lambda self: self._calibrationoffset, fset = "set_calibrationoffset") def init_device(self): Device.init_device(self) @@ -117,6 +121,9 @@ class AmptekPX5(Device): self.interface.connectSimulator() else: raise RuntimeError("connection_mode must be 'USB' or 'UDP' or 'Simulator'") + + self._calibrationoffset = 0 + self._calibrationslope = 1. self.parameter_dicts = OrderedDict() self.basic_params = OrderedDict() self.basic_params["CLCK"] = { "value": "N/A", "name": "Clock" , "options" : ["20", "80", "AUTO"] } @@ -499,6 +506,14 @@ class AmptekPX5(Device): def GetTecVoltage(self, max_age_ms): return self.interface.TecVoltage( max_age_ms ) + + + def set_calibrationslope(self, val): + self._calibrationslope = val + + def set_calibrationoffset(self, val): + self._calibrationoffset = val + def get_firmwaremajor(self): return self.interface.FirmwareMajor() @@ -564,7 +579,6 @@ class AmptekPX5(Device): return tango.DevState.ALARM enabled = self.IsEnabled(self._max_info_age) - print('enabled? ', enabled) if enabled: self.set_state(tango.DevState.MOVING) else: -- GitLab