# 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;}
}