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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
#!/usr/bin/env python
from labview_automation.client import LabVIEWClient
class vst_siggen:
def __init__(self,host,vi_base_path,rio_device):
self._host = host
self._path = vi_base_path
self._rio = rio_device
self._caller = lv_caller(host,2552,vi_base_path)
def __del__(self):
self.disconnect()
def set_freq(self, freq):
self._caller.vst_set_freq(self._rio,freq)
def disconnect(self):
try:
self._caller.vst_disconnect(self._rio)
except:
pass
class executive_switch:
def __init__(self,host,vi_base_path,device_name):
self._host = host
self._path = vi_base_path
self._device = device_name
self._caller = lv_caller(host,2552,vi_base_path)
def __del__(self):
self.disconnect_all()
def connect_ports(self, port0, port1):
self._caller.switch_connect_ports(self._device,port0,port1)
def disconnect_all(self):
try:
self._caller.switch_disconnect_all(self._device)
except:
pass
class lv_caller:
def __init__(self, host, port, vi_base_path):
self._host = host
self._port = port
self._client = LabVIEWClient(host, port)
self._path = vi_base_path
def vst_disconnect(self, rio_device):
with self._client as c:
control_values = {
"rio_device": rio_device,
}
result = c.run_vi_synchronous("".join([self._path,"vst_disconnect.vi"]),control_values)
return result
def vst_set_freq(self, rio_device, freq):
with self._client as c:
control_values = {
"rio_device": rio_device,
"cw_freq": freq,
"power": 0,
}
result = c.run_vi_synchronous("".join([self._path,"vst_set_freq.vi"]),control_values)
return result
def switch_connect_ports(self, switch_device, port0, port1):
with self._client as c:
control_values = {
"virtual_switch": switch_device,
"chan0": port0,
"chan1": port1,
}
result = c.run_vi_synchronous("".join([self._path,"switch_connect_ports.vi"]),control_values)
return result
def switch_disconnect_all(self, switch_device):
with self._client as c:
control_values = {
"virtual_switch": switch_device,
}
result = c.run_vi_synchronous("".join([self._path,"switch_disconnect.vi"]),control_values)
return result
|