mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-23 06:50:02 +02:00
121 lines
3.2 KiB
Python
121 lines
3.2 KiB
Python
from .detector import Detector
|
|
from .utils import element_if_equal
|
|
from .dacs import DetectorDacs
|
|
import _sls_detector
|
|
dacIndex = _sls_detector.slsDetectorDefs.dacIndex
|
|
from .detector_property import DetectorProperty
|
|
|
|
class CtbDacs(DetectorDacs):
|
|
"""
|
|
Ctb dacs
|
|
"""
|
|
_dacs = [('dac0', dacIndex(0), 0, 4000, 1400),
|
|
('dac1', dacIndex(1), 0, 4000, 1200),
|
|
('dac2', dacIndex(2), 0, 4000, 900),
|
|
('dac3', dacIndex(3), 0, 4000, 1050),
|
|
('dac4', dacIndex(4), 0, 4000, 1400),
|
|
('dac5', dacIndex(5), 0, 4000, 655),
|
|
('dac6', dacIndex(6), 0, 4000, 2000),
|
|
('dac7', dacIndex(7), 0, 4000, 1400),
|
|
('dac8', dacIndex(8), 0, 4000, 850),
|
|
('dac9', dacIndex(9), 0, 4000, 2000),
|
|
('dac10', dacIndex(10), 0, 4000, 2294),
|
|
('dac11', dacIndex(11), 0, 4000, 983),
|
|
('dac12', dacIndex(12), 0, 4000, 1475),
|
|
('dac13', dacIndex(13), 0, 4000, 1200),
|
|
('dac14', dacIndex(14), 0, 4000, 1600),
|
|
('dac15', dacIndex(15), 0, 4000, 1455),
|
|
('dac16', dacIndex(16), 0, 4000, 0),
|
|
('dac17', dacIndex(17), 0, 4000, 1000),
|
|
]
|
|
_dacnames = [_d[0] for _d in _dacs]
|
|
|
|
from .utils import element
|
|
class Ctb(Detector):
|
|
def __init__(self, id = 0):
|
|
super().__init__(id)
|
|
self._frozen = False
|
|
self._dacs = CtbDacs(self)
|
|
|
|
@property
|
|
def dacs(self):
|
|
return self._dacs
|
|
|
|
@property
|
|
@element
|
|
def v_a(self):
|
|
return self.getDAC(dacIndex.V_POWER_A, True)
|
|
|
|
@v_a.setter
|
|
def v_a(self, value):
|
|
self.setDAC(dacIndex.V_POWER_A, value, True)
|
|
|
|
@property
|
|
@element
|
|
def v_b(self):
|
|
return self.getDAC(dacIndex.V_POWER_B, True)
|
|
|
|
@v_b.setter
|
|
def v_b(self, value):
|
|
self.setDAC(dacIndex.V_POWER_B, value, True)
|
|
|
|
@property
|
|
@element
|
|
def v_c(self):
|
|
return self.getDAC(dacIndex.V_POWER_C, True)
|
|
|
|
@v_c.setter
|
|
def v_c(self, value):
|
|
self.setDAC(dacIndex.V_POWER_C, value, True)
|
|
|
|
@property
|
|
@element
|
|
def v_d(self):
|
|
return self.getDAC(dacIndex.V_POWER_D, True)
|
|
|
|
@v_d.setter
|
|
def v_d(self, value):
|
|
self.setDAC(dacIndex.V_POWER_D, value, True)
|
|
|
|
@property
|
|
@element
|
|
def v_io(self):
|
|
return self.getDAC(dacIndex.V_POWER_IO, True)
|
|
|
|
@v_io.setter
|
|
def v_io(self, value):
|
|
self.setDAC(dacIndex.V_POWER_IO, value, True)
|
|
|
|
@property
|
|
@element
|
|
def v_limit(self):
|
|
return self.getDAC(dacIndex.V_LIMIT, True)
|
|
|
|
@v_limit.setter
|
|
def v_limit(self, value):
|
|
self.setDAC(dacIndex.V_LIMIT, value, True)
|
|
|
|
@property
|
|
@element
|
|
def im_a(self):
|
|
return self.getMeasuredCurrent(dacIndex.I_POWER_A)
|
|
|
|
@property
|
|
@element
|
|
def im_b(self):
|
|
return self.getMeasuredCurrent(dacIndex.I_POWER_B)
|
|
|
|
@property
|
|
@element
|
|
def im_c(self):
|
|
return self.getMeasuredCurrent(dacIndex.I_POWER_C)
|
|
|
|
@property
|
|
@element
|
|
def im_d(self):
|
|
return self.getMeasuredCurrent(dacIndex.I_POWER_D)
|
|
|
|
@property
|
|
@element
|
|
def im_io(self):
|
|
return self.getMeasuredCurrent(dacIndex.I_POWER_IO) |