mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-11 04:17:15 +02:00
temperature reading for eiger
This commit is contained in:
@ -1,23 +1,33 @@
|
||||
from functools import partial
|
||||
class Adc:
|
||||
def __init__(self, name, detector):
|
||||
def __init__(self, name, enum, detector):
|
||||
self.name = name
|
||||
self.enum = enum
|
||||
self._detector = detector
|
||||
self.get_nmod = self._detector._api.getNumberOfDetectors
|
||||
self.get_nmod = self._detector.size
|
||||
# Bind functions to get and set the dac
|
||||
self.get = partial(self._detector._api.getAdc, self.name)
|
||||
|
||||
self.get = partial(self._detector.getAdc, self.enum)
|
||||
|
||||
|
||||
def __getitem__(self, key):
|
||||
"""
|
||||
Get dacs either by slice, key or list
|
||||
"""
|
||||
if key == slice(None, None, None):
|
||||
return [self.get(i) / 1000 for i in range(self.get_nmod())]
|
||||
return self.get()
|
||||
elif isinstance(key, Iterable):
|
||||
return [self.get(k) / 1000 for k in key]
|
||||
return self.get(list(key))
|
||||
else:
|
||||
return self.get(key) / 1000
|
||||
return self.get([key])[0] #No list for single value
|
||||
|
||||
|
||||
# def __getitem__(self, key):
|
||||
# """
|
||||
# Get dacs either by slice, key or list
|
||||
# """
|
||||
# if key == slice(None, None, None):
|
||||
# return [self.get(i) / 1000 for i in range(self.get_nmod())]
|
||||
# elif isinstance(key, Iterable):
|
||||
# return [self.get(k) / 1000 for k in key]
|
||||
# else:
|
||||
# return self.get(key) / 1000
|
||||
|
||||
def __repr__(self):
|
||||
"""String representation for a single adc in all modules"""
|
||||
|
Reference in New Issue
Block a user