blob: b3831e583aad0c0dca04a11db78d93b339a2101c (
plain)
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
#!/usr/bin/python
import subprocess
import hal
def cmd(arg):
subprocess.call(arg, shell=True)
h = hal.component("linktest")
h.newpin("in", hal.HAL_FLOAT, hal.HAL_IN)
h.newpin("inout", hal.HAL_FLOAT, hal.HAL_IO)
h.ready()
# set pin values before linking
h['in'] = 42
h['inout'] = 43
assert h['in'] == 42
assert h['inout'] == 43
# make sure halcmd setp works as expected
cmd("halcmd setp linktest.in 4712")
cmd("halcmd setp linktest.inout 4713")
assert h['in'] == 4712
assert h['inout'] == 4713
# create virgin signals
cmd("halcmd newsig insig float")
cmd("halcmd newsig inoutsig float")
# link to them
cmd("halcmd net insig linktest.in")
cmd("halcmd net inoutsig linktest.inout")
# verify the link did not destroy the pin values
assert h['in'] == 4712
assert h['inout'] == 4713
# now change the pin values
h['in'] = 815
h['inout'] = 816
# unlink the pins
cmd("halcmd unlinkp linktest.in")
cmd("halcmd unlinkp linktest.inout")
# verify the unlink did not destroy the pin values
# but are as inherited from the signal:
assert h['in'] == 815
assert h['inout'] == 816
# the signals should be unlinked
#cmd("halcmd show")
|