diff -r 50cbed80af1a -r 425def26d5f1 db/pg9520.proto --- /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;} +}