Files
dev/script/test/test28.py
2018-04-17 12:05:48 +02:00

49 lines
1013 B
Python
Executable File

import ch.psi.pshell.epics.CAS as CAS
class ScanDevice(ReadonlyAsyncRegisterBase, ReadonlyRegisterArray):
def getSize(self):
global scan_result
return len(self.take())
def append(self, value):
c = self.take()
c.append(value)
self.set(c)
def set(self, value):
self.onReadout(to_array(value, 'd'))
if get_device("scan_pos") is None:
add_device(ScanDevice("scan_pos"), True)
add_device(ScanDevice("scan_val"), True)
scan_pos.set([])
scan_val.set([])
cas1 = CAS("PSHELL:scanpos",scan_pos, "double")
cas2 = CAS("PSHELL:scanval",scan_val, "double")
cas3 = CAS("PSHELL:var",ai1)
scan_pos.set([])
scan_val.set([])
scan_pos.set([])
scan_val.set([])
def after(rec):
scan_pos.append(rec.positions[0])
scan_val.append(rec.values[0])
res = lscan(ao1, ai1, 0, 40, 40, 0.1, after_read = after)
#scan_pos.set(res.getPositions(0))
#scan_val.set(res.getReadable(0))
set_return(res.print())