Files
x04sa-es3/script/device/Mythen.py
2018-10-16 11:28:54 +02:00

58 lines
1.6 KiB
Python

class Mythen(DeviceBase, Readable):
def __init__(self, name, prefix):
DeviceBase.__init__(self, name)
self.prefix = prefix
def set_acquire_time(self, value):
caput(self.prefix + ":cam1:AcquireTime", float(value))
def get_acquire_time(self):
return caget(self.prefix + ":cam1:AcquireTime_RBV", 'd')
def set_threshold(self, value):
caput(self.prefix + ":cam1:ThresholdEnergy", int(value))
def get_threshold(self):
return caget(self.prefix + ":cam1:ThresholdEnergy_RBV", 'i')
def get_raw_data(self):
return caget(self.prefix + ":Stats5:ProfileCursorX_RBV")
#Single, Multiple, Continuous
def set_acquire_mode(self, value):
caput(self.prefix + ":cam1:ImageMode", value)
def get_acquire_mode(self):
return caget(self.prefix + ":cam1:ImageMode_RBV", 's')
def is_acquiring(self):
ret = caget( self.prefix + ":cam1:Acquire", 'i') == 1
self.setState(State.Busy if ret else State.Ready)
return ret
def start(self):
caput( self.prefix + ":cam1:Acquire",1)
setState(State.Busy)
def stop(self):
caput( self.prefix + ":cam1:Acquire",0)
setState(State.Ready)
def get_total_counts(self):
ret = caget( self.prefix + ":Stats5:Total_RBV", 'i')
self.setCache(ret, None)
return ret
def doUpdate(self):
self.get_total_counts()
self.is_acquiring()
def read(self):
return self.get_total_counts()
add_device( Mythen("mythen", "X04SA-ES2-SD1"), True)