51 lines
903 B
Python
Executable File
51 lines
903 B
Python
Executable File
#!/usr/bin/env python
|
|
|
|
from pcaspy import Driver
|
|
from mor import Mor
|
|
|
|
prefix = 'MTEST:'
|
|
|
|
pvdb = {
|
|
'RAND' : {
|
|
'prec' : 3,
|
|
},
|
|
"NAME" : {
|
|
"type": "string"
|
|
}
|
|
}
|
|
|
|
class myDriver(Driver):
|
|
def __init__(self, server):
|
|
self.server = server
|
|
super(myDriver, self).__init__()
|
|
|
|
def write(self, reason, value):
|
|
print("write", reason, value)
|
|
if reason == "NAME":
|
|
new_pvdb = {
|
|
value: {
|
|
"type": "int"
|
|
}
|
|
}
|
|
self.server.createPV(new_pvdb)
|
|
# self.server.restart()
|
|
return super().write(reason, value)
|
|
|
|
def read(self, reason):
|
|
value = self.getParam(reason)
|
|
print("read", reason, value)
|
|
return super().read(reason)
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
server = Mor(prefix, pvdb, myDriver)
|
|
# server.createPV(pvdb)
|
|
|
|
|
|
|
|
|
|
|