author | uhoppe |
Tue, 18 Mar 2014 16:09:31 +0100 | |
changeset 6 | 3f4c961d93ed |
parent 2 | c68ad80babeb |
permissions | -rw-r--r-- |
1 | 1 |
# pg9520.proto Uwe Hoppe Fritz-Haber-Institut der MPG 1/2013 |
2 |
||
3 |
ReplyTimeout = 2000; |
|
4 |
Terminator = CR LF; |
|
5 |
iWT = 35; |
|
6 |
||
7 |
getVersion { |
|
8 |
out "*IDN?"; |
|
9 |
in "%s"; |
|
10 |
@init {out "*IDN?"; in "%s"; wait $iWT;} |
|
11 |
} |
|
12 |
||
13 |
recall { |
|
14 |
out "*RCL %i"; |
|
15 |
in "ok"; |
|
16 |
} |
|
17 |
||
18 |
save { |
|
19 |
out "*SAV %i"; |
|
20 |
in "ok"; |
|
21 |
} |
|
22 |
||
23 |
getState { |
|
24 |
out ":PULSE0:STATE?"; |
|
25 |
in "%d"; |
|
26 |
wait $iWT; |
|
27 |
} |
|
28 |
||
29 |
setState { |
|
30 |
out ":PULSE0:STATE %d"; |
|
31 |
in "ok"; |
|
32 |
@init {getState;} |
|
33 |
} |
|
34 |
||
35 |
getPeriod { |
|
36 |
out ":PULSE0:PERIOD?"; |
|
37 |
in "%f"; |
|
38 |
} |
|
39 |
||
40 |
setPeriod { |
|
41 |
out ":PULSE0:PERIOD %e"; |
|
42 |
in "ok"; |
|
43 |
@init {getPeriod; wait $iWT;} |
|
44 |
} |
|
45 |
||
46 |
getMode { |
|
47 |
out ":PULSE0:MODE?"; |
|
48 |
in "%{NORM|SING|BURS|DCYC}"; |
|
49 |
} |
|
50 |
||
51 |
setMode { |
|
52 |
out ":PULSE0:MODE %{NORM|SING|BURS|DCYC}"; |
|
53 |
in "ok"; |
|
54 |
@init {getMode; wait $iWT;} |
|
55 |
} |
|
56 |
||
57 |
getGateMode { |
|
58 |
out ":PULSE0:GATE:MODE?"; |
|
59 |
in "%{DIS|PULS|OUTP|CHAN}"; |
|
60 |
} |
|
61 |
||
62 |
setGateMode { |
|
63 |
out ":PULSE0:GATE:MODE %{DIS|PULS|OUTP|CHAN}"; |
|
64 |
in "ok"; |
|
65 |
@init {getGateMode; wait $iWT;} |
|
66 |
} |
|
67 |
||
68 |
getGateLogic { |
|
69 |
out ":PULSE0:GATE:LOGIC?"; |
|
70 |
in "%{LOW|HIGH}"; |
|
71 |
} |
|
72 |
||
73 |
setGateLogic { |
|
74 |
out ":PULSE0:GATE:LOGIC %{LOW|HIGH}"; |
|
75 |
in "ok"; |
|
76 |
@init {getGateLogic; wait $iWT;} |
|
77 |
} |
|
78 |
||
2
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
79 |
getGateEdge { |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
80 |
out ":PULSE0:GATE:EDGE?"; |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
81 |
in "%{RIS|FALL}"; |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
82 |
} |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
83 |
|
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
84 |
setGateEdge { |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
85 |
out ":PULSE0:GATE:EDGE %{RIS|FALL}"; |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
86 |
in "ok"; |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
87 |
@init {getGateEdge; wait $iWT;} |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
88 |
} |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
89 |
|
1 | 90 |
getGateLevel { |
91 |
out ":PULSE0:GATE:LEVEL?"; |
|
92 |
in "%f"; |
|
93 |
} |
|
94 |
||
95 |
setGateLevel { |
|
96 |
out ":PULSE0:GATE:LEVEL %f"; |
|
97 |
in "ok"; |
|
98 |
@init {getGateLevel; wait $iWT;} |
|
99 |
} |
|
100 |
||
2
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
101 |
getTriggerMode { |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
102 |
out ":PULSE0:TRIGGER:MODE?"; |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
103 |
in "%{DIS|TRIG}"; |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
104 |
} |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
105 |
|
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
106 |
setTriggerMode { |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
107 |
out ":PULSE0:TRIGGER:MODE %{DIS|TRIG}"; |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
108 |
in "ok"; |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
109 |
@init {getTriggerMode; wait $iWT;} |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
110 |
} |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
111 |
|
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
112 |
getTriggerEdge { |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
113 |
out ":PULSE0:TRIGGER:EDGE?"; |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
114 |
in "%{RIS|FALL}"; |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
115 |
} |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
116 |
|
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
117 |
setTriggerEdge { |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
118 |
out ":PULSE0:TRIGGER:EDGE %{RIS|FALL}"; |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
119 |
in "ok"; |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
120 |
@init {getTriggerEdge; wait $iWT;} |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
121 |
} |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
122 |
|
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
123 |
getTriggerLevel { |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
124 |
out ":PULSE0:TRIGGER:LEVEL?"; |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
125 |
in "%f"; |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
126 |
} |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
127 |
|
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
128 |
setTriggerLevel { |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
129 |
out ":PULSE0:TRIGGER:LEVEL %f"; |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
130 |
in "ok"; |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
131 |
@init {getTriggerLevel; wait $iWT;} |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
132 |
} |
c68ad80babeb
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
uhoppe
parents:
1
diff
changeset
|
133 |
|
1 | 134 |
#================================================= |
135 |
||
136 |
getPState { |
|
137 |
out ":PULSE\$1:STATE?"; |
|
138 |
in "%d"; |
|
139 |
} |
|
140 |
||
141 |
setPState { |
|
142 |
out ":PULSE\$1:STATE %d"; |
|
143 |
in "ok"; |
|
144 |
@init {getPState; wait $iWT;} |
|
145 |
} |
|
146 |
||
147 |
getPWidth { |
|
148 |
out ":PULSE\$1:WIDTH?"; |
|
149 |
in "%f"; |
|
150 |
} |
|
151 |
||
152 |
setPWidth { |
|
153 |
out ":PULSE\$1:WIDTH %e"; |
|
154 |
in "ok"; |
|
155 |
@init {getPWidth; wait $iWT;} |
|
156 |
} |
|
157 |
||
158 |
getPDelay { |
|
159 |
out ":PULSE\$1:DELAY?"; |
|
160 |
in "%f"; |
|
161 |
} |
|
162 |
||
163 |
setPDelay { |
|
164 |
out ":PULSE\$1:DELAY %e"; |
|
165 |
in "ok"; |
|
166 |
@init {getPDelay; wait $iWT;} |
|
167 |
} |
|
168 |
||
169 |
getPSync { |
|
170 |
out ":PULSE\$1:SYNC?"; |
|
171 |
in "%{T0|CHA|CHB|CHC|CHD|CHE|CHF|CHG|CHH}"; |
|
172 |
} |
|
173 |
||
174 |
setPSync { |
|
175 |
out ":PULSE\$1:SYNC %{T0|CHA|CHB|CHC|CHD|CHE|CHF|CHG|CHH}"; |
|
176 |
in "ok"; |
|
177 |
@init {getPSync; wait $iWT;} |
|
178 |
} |
|
179 |
||
180 |
getPMux { |
|
181 |
out ":PULSE\$1:MUX?"; |
|
182 |
in "%u"; |
|
183 |
} |
|
184 |
||
185 |
setPMux { |
|
186 |
out ":PULSE\$1:MUX %u"; |
|
187 |
in "ok"; |
|
188 |
@init {getPMux; wait $iWT;} |
|
189 |
} |
|
190 |
||
191 |
getPolarity { |
|
192 |
out ":PULSE\$1:POLARITY?"; |
|
193 |
in "%{NORM|COMP|INV}"; |
|
194 |
} |
|
195 |
||
196 |
setPolarity { |
|
197 |
out ":PULSE\$1:POLARITY %{NORM|COMP|INV}"; |
|
198 |
in "ok"; |
|
199 |
@init {getPolarity; wait $iWT;} |
|
200 |
} |
|
201 |
||
202 |
getOutputMode { |
|
203 |
out ":PULSE\$1:OUTPUT:MODE?"; |
|
204 |
in "%{TTL|ADJ}"; |
|
205 |
} |
|
206 |
||
207 |
setOutputMode { |
|
208 |
out ":PULSE\$1:OUTPUT:MODE %{TTL|ADJ}"; |
|
209 |
in "ok"; |
|
210 |
@init {getOutputMode; wait $iWT;} |
|
211 |
} |
|
212 |
||
213 |
getOutputAmplitude { |
|
214 |
out ":PULSE\$1:OUTPUT:AMPLITUDE?"; |
|
215 |
in "%f"; |
|
216 |
} |
|
217 |
||
218 |
setOutputAmplitude { |
|
219 |
out ":PULSE\$1:OUTPUT:AMPLITUDE %f"; |
|
220 |
in "ok"; |
|
221 |
@init {getOutputAmplitude; wait $iWT;} |
|
222 |
} |
|
223 |
||
224 |
getPCMode { |
|
225 |
out ":PULSE\$1:CMODE?"; |
|
226 |
in "%{NORM|SING|BURS|DCYC}"; |
|
227 |
} |
|
228 |
||
229 |
setPCMode { |
|
230 |
out ":PULSE\$1:CMODE %{NORM|SING|BURS|DCYC}"; |
|
231 |
in "ok"; |
|
232 |
@init {getPCMode; wait 50} |
|
233 |
} |
|
234 |
||
235 |
getPBCounter { |
|
236 |
out ":PULSE\$1:BCOUNTER?"; |
|
237 |
in "%u"; |
|
238 |
} |
|
239 |
||
240 |
setPBCounter { |
|
241 |
out ":PULSE\$1:BCOUNTER %u"; |
|
242 |
in "ok"; |
|
243 |
@init {getPBCounter; wait $iWT;} |
|
244 |
} |
|
245 |
||
246 |
getPGate { |
|
247 |
out ":PULSE\$1:CGATE?"; |
|
248 |
in "%{DIS|PULS|OUTP}"; |
|
249 |
} |
|
250 |
||
251 |
setPGate { |
|
252 |
out ":PULSE\$1:CGATE %{DIS|PULS|OUTP}"; |
|
253 |
in "ok"; |
|
254 |
@init {getPGate; wait 50} |
|
255 |
} |
|
256 |
||
257 |
getPGateLogic { |
|
258 |
out ":PULSE\$1:CLOGIC?"; |
|
259 |
in "%{LOW|HIGH}"; |
|
260 |
} |
|
261 |
||
262 |
setPGateLogic { |
|
263 |
out ":PULSE\$1:CLOGIC %{LOW|HIGH}"; |
|
264 |
in "ok"; |
|
265 |
@init {getPGateLogic; wait $iWT;} |
|
266 |
} |