60 lines
1.5 KiB
Python
60 lines
1.5 KiB
Python
import ch.psi.pshell.epics.CAS as CAS
|
|
import ch.psi.pshell.device.Register.RegisterArray as RegisterArray
|
|
|
|
camera = "SLG-LCAM-C102"
|
|
|
|
class Scalar(RegisterBase):
|
|
def __init__(self, name):
|
|
RegisterBase.__init__(self, name)
|
|
self.val = 0
|
|
|
|
def doRead(self):
|
|
return self.val
|
|
|
|
def doWrite(self, val):
|
|
self.val = val
|
|
|
|
class Waveform(RegisterBase, RegisterArray):
|
|
def __init__(self, name):
|
|
RegisterBase.__init__(self, name)
|
|
self.val = [0.0, 1.0, 2.0]
|
|
|
|
def doRead(self):
|
|
return self.val
|
|
|
|
def doWrite(self, val):
|
|
self.val = val
|
|
|
|
def getSize(self):
|
|
return len(self.take(-1)) #only reads if cache is None
|
|
|
|
|
|
add_device(Scalar("sc"), True)
|
|
add_device(Waveform("sx"), True)
|
|
add_device(Waveform("sy"), True)
|
|
add_device(Scalar("sf"), True)
|
|
add_device(Scalar("smin"), True)
|
|
add_device(Scalar("smax"), True)
|
|
|
|
|
|
a,b=[],[]
|
|
for i in range(659):
|
|
a.append(i)
|
|
b.append(0)
|
|
sx.write(a)
|
|
sx.write(b)
|
|
cas1 = CAS(camera + ":SPECTRUM_Y", sy, 'double')
|
|
cas6 = CAS(camera + ":SPECTRUM_X", sx, 'double')
|
|
cas2 = CAS(camera + ":SPECTRUM_CENTER", sc, 'double')
|
|
cas3 = CAS(camera + ":SPECTRUM_FWHM", sf, 'double')
|
|
cas4 = CAS(camera + ":SPC_ROI_YMIN", smin, 'double')
|
|
cas5 = CAS(camera + ":SPC_ROI_YMAX", smax, 'double')
|
|
|
|
|
|
print caget(camera + ":SPECTRUM_Y").tolist()
|
|
print caget(camera + ":SPECTRUM_X").tolist()
|
|
print caget( camera + ":SPECTRUM_CENTER")
|
|
print caget(camera + ":SPECTRUM_FWHM")
|
|
print caget(camera + ":SPC_ROI_YMIN")
|
|
print caget(camera + ":SPC_ROI_YMAX")
|