--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/db/pg9520.proto Mon Jun 10 13:56:06 2013 +0200
@@ -0,0 +1,266 @@
+# pg9520.proto Uwe Hoppe Fritz-Haber-Institut der MPG 1/2013
+
+ReplyTimeout = 2000;
+Terminator = CR LF;
+iWT = 35;
+
+getVersion {
+ out "*IDN?";
+ in "%s";
+ @init {out "*IDN?"; in "%s"; wait $iWT;}
+}
+
+recall {
+ out "*RCL %i";
+ in "ok";
+}
+
+save {
+ out "*SAV %i";
+ in "ok";
+}
+
+getState {
+ out ":PULSE0:STATE?";
+ in "%d";
+ wait $iWT;
+}
+
+setState {
+ out ":PULSE0:STATE %d";
+ in "ok";
+ @init {getState;}
+}
+
+getPeriod {
+ out ":PULSE0:PERIOD?";
+ in "%f";
+}
+
+setPeriod {
+ out ":PULSE0:PERIOD %e";
+ in "ok";
+ @init {getPeriod; wait $iWT;}
+}
+
+getMode {
+ out ":PULSE0:MODE?";
+ in "%{NORM|SING|BURS|DCYC}";
+}
+
+setMode {
+ out ":PULSE0:MODE %{NORM|SING|BURS|DCYC}";
+ in "ok";
+ @init {getMode; wait $iWT;}
+}
+
+getGateMode {
+ out ":PULSE0:GATE:MODE?";
+ in "%{DIS|PULS|OUTP|CHAN}";
+}
+
+setGateMode {
+ out ":PULSE0:GATE:MODE %{DIS|PULS|OUTP|CHAN}";
+ in "ok";
+ @init {getGateMode; wait $iWT;}
+}
+
+getGateLogic {
+ out ":PULSE0:GATE:LOGIC?";
+ in "%{LOW|HIGH}";
+}
+
+setGateLogic {
+ out ":PULSE0:GATE:LOGIC %{LOW|HIGH}";
+ in "ok";
+ @init {getGateLogic; wait $iWT;}
+}
+
+getGateEdge {
+ out ":PULSE0:GATE:EDGE?";
+ in "%{RIS|FALL}";
+}
+
+setGateEdge {
+ out ":PULSE0:GATE:EDGE %{RIS|FALL}";
+ in "ok";
+ @init {getGateEdge; wait $iWT;}
+}
+
+getGateLevel {
+ out ":PULSE0:GATE:LEVEL?";
+ in "%f";
+}
+
+setGateLevel {
+ out ":PULSE0:GATE:LEVEL %f";
+ in "ok";
+ @init {getGateLevel; wait $iWT;}
+}
+
+getTriggerMode {
+ out ":PULSE0:TRIGGER:MODE?";
+ in "%{DIS|TRIG}";
+}
+
+setTriggerMode {
+ out ":PULSE0:TRIGGER:MODE %{DIS|TRIG}";
+ in "ok";
+ @init {getTriggerMode; wait $iWT;}
+}
+
+getTriggerEdge {
+ out ":PULSE0:TRIGGER:EDGE?";
+ in "%{RIS|FALL}";
+}
+
+setTriggerEdge {
+ out ":PULSE0:TRIGGER:EDGE %{RIS|FALL}";
+ in "ok";
+ @init {getTriggerEdge; wait $iWT;}
+}
+
+getTriggerLevel {
+ out ":PULSE0:TRIGGER:LEVEL?";
+ in "%f";
+}
+
+setTriggerLevel {
+ out ":PULSE0:TRIGGER:LEVEL %f";
+ in "ok";
+ @init {getTriggerLevel; wait $iWT;}
+}
+
+#=================================================
+
+getPState {
+ out ":PULSE\$1:STATE?";
+ in "%d";
+}
+
+setPState {
+ out ":PULSE\$1:STATE %d";
+ in "ok";
+ @init {getPState; wait $iWT;}
+}
+
+getPWidth {
+ out ":PULSE\$1:WIDTH?";
+ in "%f";
+}
+
+setPWidth {
+ out ":PULSE\$1:WIDTH %e";
+ in "ok";
+ @init {getPWidth; wait $iWT;}
+}
+
+getPDelay {
+ out ":PULSE\$1:DELAY?";
+ in "%f";
+}
+
+setPDelay {
+ out ":PULSE\$1:DELAY %e";
+ in "ok";
+ @init {getPDelay; wait $iWT;}
+}
+
+getPSync {
+ out ":PULSE\$1:SYNC?";
+ in "%{T0|CHA|CHB|CHC|CHD|CHE|CHF|CHG|CHH}";
+}
+
+setPSync {
+ out ":PULSE\$1:SYNC %{T0|CHA|CHB|CHC|CHD|CHE|CHF|CHG|CHH}";
+ in "ok";
+ @init {getPSync; wait $iWT;}
+}
+
+getPMux {
+ out ":PULSE\$1:MUX?";
+ in "%u";
+}
+
+setPMux {
+ out ":PULSE\$1:MUX %u";
+ in "ok";
+ @init {getPMux; wait $iWT;}
+}
+
+getPolarity {
+ out ":PULSE\$1:POLARITY?";
+ in "%{NORM|COMP|INV}";
+}
+
+setPolarity {
+ out ":PULSE\$1:POLARITY %{NORM|COMP|INV}";
+ in "ok";
+ @init {getPolarity; wait $iWT;}
+}
+
+getOutputMode {
+ out ":PULSE\$1:OUTPUT:MODE?";
+ in "%{TTL|ADJ}";
+}
+
+setOutputMode {
+ out ":PULSE\$1:OUTPUT:MODE %{TTL|ADJ}";
+ in "ok";
+ @init {getOutputMode; wait $iWT;}
+}
+
+getOutputAmplitude {
+ out ":PULSE\$1:OUTPUT:AMPLITUDE?";
+ in "%f";
+}
+
+setOutputAmplitude {
+ out ":PULSE\$1:OUTPUT:AMPLITUDE %f";
+ in "ok";
+ @init {getOutputAmplitude; wait $iWT;}
+}
+
+getPCMode {
+ out ":PULSE\$1:CMODE?";
+ in "%{NORM|SING|BURS|DCYC}";
+}
+
+setPCMode {
+ out ":PULSE\$1:CMODE %{NORM|SING|BURS|DCYC}";
+ in "ok";
+ @init {getPCMode; wait 50}
+}
+
+getPBCounter {
+ out ":PULSE\$1:BCOUNTER?";
+ in "%u";
+}
+
+setPBCounter {
+ out ":PULSE\$1:BCOUNTER %u";
+ in "ok";
+ @init {getPBCounter; wait $iWT;}
+}
+
+getPGate {
+ out ":PULSE\$1:CGATE?";
+ in "%{DIS|PULS|OUTP}";
+}
+
+setPGate {
+ out ":PULSE\$1:CGATE %{DIS|PULS|OUTP}";
+ in "ok";
+ @init {getPGate; wait 50}
+}
+
+getPGateLogic {
+ out ":PULSE\$1:CLOGIC?";
+ in "%{LOW|HIGH}";
+}
+
+setPGateLogic {
+ out ":PULSE\$1:CLOGIC %{LOW|HIGH}";
+ in "ok";
+ @init {getPGateLogic; wait $iWT;}
+}