Beispiel #1
0
pv = c.get()
print("original value", pv)
isVariant = pv.isUnionVariant()
if isVariant == True:
    print(channelName, "is not a regular union")
    exit
print("union introspection: ")
print(pv.getStructureDict())

names = pv.getUnionFieldNames()
print("union fieldNames", names)
value = pv.selectUnionField(names[0])
value.setString("new value")
value = pv.getUnion()
print("putting", pv)
c.put(pv)
pv = c.get()
print("received", pv)
print("value:", pv.get())
value = pv.selectUnionField(names[1])
print('selected field: ', pv.getSelectedUnionFieldName())
value.setScalarArray(["aaaa", "bbbbb", "ccccc"])
print("putting", pv)
c.put(pv)
pv = c.get()
print("received", pv)
print("value:", pv.get())
print("class:", pv.__class__.__name__)
print('selected field: ', pv.getSelectedUnionFieldName())

# This should fail
Beispiel #2
0
pv = c.get()
print("original value",pv)
isVariant = pv.isUnionVariant()
if isVariant==True :
    print(channelName,"is not a regular union")
    exit
print("union introspection: ")
print(pv.getStructureDict())

names = pv.getUnionFieldNames()
print("union fieldNames",names)
value = pv.selectUnionField(names[0])
value.setString("new value")
value = pv.getUnion()
print("putting",pv)
c.put(pv)
pv = c.get()
print("received",pv)
print("value:",pv.get())
value = pv.selectUnionField(names[1])
print('selected field: ', pv.getSelectedUnionFieldName())
value.setScalarArray(["aaaa","bbbbb","ccccc"])
print("putting",pv)
c.put(pv)
pv = c.get()
print("received",pv)
print("value:",pv.get())
print("class:",pv.__class__.__name__)
print('selected field: ', pv.getSelectedUnionFieldName())

# This should fail
Beispiel #3
0
print('****************************')
print('Testing string')
c = Channel('string01')
oldValue = c.get().getString()
print('Got old value: ', oldValue)
value = oldValue + '; a'
print('Putting value: ', value)
c.putString(value) 
newValue = c.get().getString()
print('Got new value: ', newValue)
assert newValue == value

value = oldValue + '; b'
print('Putting value: ', value)
c.put(value) 
newValue = c.get().getString()
print('Got new value: ', newValue)
assert newValue == value

print()
print('****************************')
print('Testing byte')
c = Channel('byte01')
oldValue = ord(c.get().getByte())
print('Got old value: ', oldValue)
value = oldValue + 10
print('Putting value via putByte(): ', value)
c.putByte(chr(value)) 
newValue = ord(c.get().getByte())
print('Got new value: ', newValue)
Beispiel #4
0
from pvaccess import PvObject, PvaServer, INT, Channel


def echo(x):
    print('Got value: %s' % x)


data = PvObject({'value': INT}, {'value': 1})
data2 = PvObject({'value': INT}, {'value': 2})
print("Starting Server")
server = PvaServer('foo', data, echo)
channel = Channel('foo')
print("Attempting get")
print(channel.get())
print("Attempting put")
channel.put(data2)

print("Put done")
print(channel.get())

print("Stopping server")
server.stop()
time.sleep(3)

print("Starting server")
server.start()
time.sleep(3)

print("Attempting get")
print(channel.get())
Beispiel #5
0
from pvaccess import Channel, PvAlarm
channel = Channel('PVRdouble')
alarm = PvAlarm(1, 2, "message")
print('alarm=', alarm)
channel.put(alarm, 'alarm')
print('after put alarm value\n', channel.get('alarm'))
alarm = PvAlarm(0, 0, "")
print('alarm=', alarm)
channel.put(alarm, 'alarm')
print('after put alarm value/n', channel.get('alarm'))
Beispiel #6
0
from pvaccess import Channel, CA, PvTimeStamp, PvAlarm
channel = Channel('PVRdouble')
print('start value=', channel.get('value,alarm,timeStamp'))
for i in range(5):
    channel.put(i)
    print('after put  value=', channel.get())