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)