45 lines
1.0 KiB
Python
45 lines
1.0 KiB
Python
from jep import jproxy
|
|
import random
|
|
|
|
class WritableScalar():
|
|
def write(self, value):
|
|
print ("Write: ", value)
|
|
|
|
class ReadableScalar():
|
|
def read(self):
|
|
print ("Read")
|
|
return random.random()
|
|
|
|
|
|
class ReadableWaveform():
|
|
def getSize(self):
|
|
return 20
|
|
|
|
def read(self):
|
|
ret = []
|
|
for i in range (self.getSize()):
|
|
ret.append(random.random())
|
|
return ret
|
|
|
|
class ReadableImage():
|
|
def read(self):
|
|
ret = []
|
|
for i in range (self.getHeight()):
|
|
ret.append([random.random()] * self.getWidth())
|
|
return to_array(ret, 'd')
|
|
|
|
def getWidth(self):
|
|
return 80
|
|
|
|
def getHeight(self):
|
|
return 40
|
|
|
|
|
|
|
|
ws1 = jproxy(WritableScalar(), ['ch.psi.pshell.device.Writable'])
|
|
rs1 = jproxy(ReadableScalar(), ['ch.psi.pshell.device.Readable'])
|
|
rw1 = jproxy(ReadableWaveform(), ['ch.psi.pshell.device.Readable$ReadableArray'])
|
|
ri1 = jproxy(ReadableImage(),['ch.psi.pshell.device.Readable$ReadableMatrix'])
|
|
|
|
tscan(rs1, 10, 0.1)
|
|
lscan(ws1, rs1, 0.0, 10.0, 10) |