import ch.psi.pshell.device.Register.RegisterArray as RegisterArray 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] 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) cas1 = CAS(camera + ":SPECTRUM_Y", ai1, 'double') cas6 = CAS(camera + ":SPECTRUM_X", wf1, 'double') cas2 = CAS( camera + ":SPECTRUM_CENTER", ai1, 'double') cas3 = CAS(camera + ":SPECTRUM_FWHM", ao1, 'double') cas4 = CAS(camera + ":SPC_ROI_YMIN", dp1, 'double') cas5 = CAS(camera + ":SPC_ROI_YMAX", wf1, 'double') camera = "SLG-LCAM-C102" """ import ch.psi.pshell.epics.CAS as CAS cas = [] #CAS.setServerPort(5062) CAS.setServerPort(12345) cas1 = CAS(camera + ":SPECTRUM_Y", ai1, 'double') cas6 = CAS(camera + ":SPECTRUM_X", wf1, 'double') cas2 = CAS( camera + ":SPECTRUM_CENTER", ai1, 'double') cas3 = CAS(camera + ":SPECTRUM_FWHM", ao1, 'double') cas4 = CAS(camera + ":SPC_ROI_YMIN", dp1, 'double') cas5 = CAS(camera + ":SPC_ROI_YMAX", wf1, 'double') print caget("TESTCAS:c1") print caget("TESTCAS:c2") print caget("TESTCAS:c3") print caget("TESTCAS:c4") print caget("TESTCAS:c5") print caget("TESTCAS:c6").tolist() print caget("TESTCAS:c7").tolist() print caget("TESTCAS:c8","[s").tolist() """