Files
dev/script/test/psss.py
2020-05-20 15:04:55 +02:00

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")