mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-20 02:40:03 +02:00
missing file
This commit is contained in:
parent
d70090967d
commit
3fd32b2c9c
53
python/slsdet/proxy.py
Normal file
53
python/slsdet/proxy.py
Normal file
@ -0,0 +1,53 @@
|
||||
from .utils import element_if_equal
|
||||
from .enums import dacIndex
|
||||
|
||||
class JsonProxy:
|
||||
"""
|
||||
Proxy class to allow for intuitive setting and getting of rx_jsonpara
|
||||
This class is returned by Detectr.rx_jsonpara
|
||||
"""
|
||||
def __init__(self, det):
|
||||
self.det = det
|
||||
|
||||
def __getitem__(self, key):
|
||||
return element_if_equal(self.det.getAdditionalJsonParameter(key))
|
||||
|
||||
def __setitem__(self, key, value):
|
||||
self.det.setAdditionalJsonParameter(key, str(value))
|
||||
|
||||
def __repr__(self):
|
||||
r = element_if_equal(self.det.getAdditionalJsonHeader())
|
||||
if isinstance(r, list):
|
||||
rstr = ''
|
||||
for i, list_item in enumerate(r):
|
||||
list_item = dict(list_item)
|
||||
rstr += ''.join([f'{i}:{key}: {value}\n' for key, value in list_item.items()])
|
||||
|
||||
return rstr.strip('\n')
|
||||
else:
|
||||
r = dict(r)
|
||||
return '\n'.join([f'{key}: {value}' for key, value in r.items()])
|
||||
|
||||
|
||||
|
||||
class SlowAdcProxy:
|
||||
"""
|
||||
Proxy class to allow for more intuitive reading the slow ADCs
|
||||
"""
|
||||
def __init__(self, det):
|
||||
self.det = det
|
||||
|
||||
def __getitem__(self, key):
|
||||
dac_index = dacIndex(int(dacIndex.SLOW_ADC0)+key)
|
||||
return element_if_equal(self.det.getSlowADC(dac_index))
|
||||
|
||||
def __repr__(self):
|
||||
rstr = ''
|
||||
for i in range(7):
|
||||
r = element_if_equal(self.__getitem__(i))
|
||||
if isinstance(r, list):
|
||||
rstr += ' '.join(f'{item} mV' for item in r)
|
||||
else:
|
||||
rstr += f'{i}: {r} mV\n'
|
||||
|
||||
return rstr.strip('\n')
|
Loading…
x
Reference in New Issue
Block a user