File: pv_multiple_callbacks.py

package info (click to toggle)
python-pyepics 3.4.1%2Bds-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 2,080 kB
  • sloc: python: 11,184; makefile: 106; javascript: 104; sh: 1
file content (37 lines) | stat: -rw-r--r-- 643 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import time
import epics
import pvnames
pvname = pvnames.double_pv

mypv = epics.PV(pvname)


def wait(timeout=6):
    t0 = time.time()
    while time.time() - t0 < timeout:
        time.sleep(1.e-3)
        epics.poll()


print( 'Created PV = ', mypv)
def CB1(pvname=None, value=None, char_value=None, **kw):
    print( 'CB1 PV Changed! ', pvname, value, char_value )


def CB2(pvname=None, value=None, char_value=None, **kw):
    print( 'CB2 ! ', pvname, value, char_value)

mypv.add_callback(CB1)

print( 'Added a callback.  Now wait for changes')

print( 'ready')

wait(10)
print( 'now, add another: ')
mypv.add_callback(CB2)

wait(10)