File: test_pvsubarray.py

package info (click to toggle)
python-pyepics 3.5.7%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,336 kB
  • sloc: python: 10,539; makefile: 112; javascript: 104; sh: 53
file content (36 lines) | stat: -rw-r--r-- 1,252 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
import time
import epics
import pvnames
import random
import numpy
import sys

def test_subarray():
    driver = epics.PV(pvnames.subarr_driver)
    sub1   = epics.PV(pvnames.subarr1)
    sub2   = epics.PV(pvnames.subarr2)
    sub3   = epics.PV(pvnames.subarr3)
    sub4   = epics.PV(pvnames.subarr4)
    s1_0 =  int(epics.caget("%s.INDX" % pvnames.subarr1))
    s2_0 =  int(epics.caget("%s.INDX" % pvnames.subarr2))
    s3_0 =  int(epics.caget("%s.INDX" % pvnames.subarr3))
    s4_0 =  int(epics.caget("%s.INDX" % pvnames.subarr4))

    s1_n =  int(epics.caget("%s.NELM" % pvnames.subarr1))
    s2_n =  int(epics.caget("%s.NELM" % pvnames.subarr2))
    s3_n =  int(epics.caget("%s.NELM" % pvnames.subarr3))
    s4_n =  int(epics.caget("%s.NELM" % pvnames.subarr4))

    npts = len(driver.get())

    for i in range(10):
        driver.put([100*random.random() for x in range(npts)])
        time.sleep(0.1)

        full = driver.get()
        sys.stdout.write("%s\n" % full)
        assert all( [all( sub1.get() == full[s1_0:s1_n+s1_0]),
                     all( sub2.get() == full[s2_0:s2_n+s2_0]),
                     all( sub3.get() == full[s3_0:s3_n+s3_0]),
                     all( sub4.get() == full[s4_0:s4_n+s4_0])
                     ])