22 lines
662 B
Python
22 lines
662 B
Python
from caproto.sync.client import read, write
|
|
from time import sleep
|
|
|
|
class CaprotoWrapper:
|
|
def raw_read(pvname):
|
|
return read(pvname, timeout=5).data[0].decode('utf-8')
|
|
|
|
def get_pv_value(pvname, expected_value):
|
|
timeout = 10
|
|
while(expected_value != CaprotoWrapper.raw_read(pvname) and timeout > 0):
|
|
timeout -=1
|
|
sleep(0.5)
|
|
|
|
return CaprotoWrapper.raw_read(pvname)
|
|
|
|
def set_pv_value(pvname, value):
|
|
write(pvname, value, notify=True)
|
|
timeout = 10
|
|
while(value != CaprotoWrapper.raw_read(pvname) and timeout > 0):
|
|
timeout -= 1
|
|
sleep(0.5)
|
|
|