db/pg9520.proto
changeset 1 425def26d5f1
--- /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;}
+}