File: pv_connection_callback.py

package info (click to toggle)
python-pyepics 3.5.9%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,308 kB
  • sloc: python: 10,303; makefile: 109; javascript: 104; sh: 54
file content (20 lines) | stat: -rw-r--r-- 553 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import epics
import time

def onConnectionChange(pvname=None, conn= None, **kws):
    print(f'PV connection status changed: {pvname} {conn}')

def onValueChange(pvname=None, value=None, host=None, **kws):
    print(f'PV value changed: {pvname} ({host})  {value}')

mypv = epics.get_pv('PyTest:ao1.VAL',
                    connection_callback= onConnectionChange,
                    callback= onValueChange)

mypv.get()

print('Now wait for changes')
expire_time = time.time() + 60.
while time.time() < expire_time:
    time.sleep(0.01)
print('Done.')