db/pg9520.proto
author Heinz Junkes <junkes@fhi-berlin.mpg.de>
Tue, 28 Oct 2014 04:47:56 +0100
changeset 4 f4ddf0ee30a9
parent 1 425def26d5f1
permissions -rw-r--r--
new structure, local EPICS-base and support files, not included in repo

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