--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/pg9520/db/pg9520.db Wed May 22 12:18:16 2013 +0200
@@ -0,0 +1,1797 @@
+# pg9520.db Uwe Hoppe Fritz-Haber-Institut der MPG 1/2013
+
+record(stringin, "$(P)$(R)GetVersion") {
+ field(DESC, "Get Contr. Firmware Version")
+ field(DTYP, "stream")
+ field(INP, "@pg9520.proto getVersion $(BUS)")
+}
+
+record(ao, "$(P)$(R)Recall") {
+ field(DESC, "Restores the state of PG")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto recall $(BUS)")
+ field(DRVL, "0")
+ field(DRVH, "12")
+}
+
+record(ao, "$(P)$(R)Save") {
+ field(DESC, "Store current state of PG")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto save $(BUS)")
+ field(DRVL, "1")
+ field(DRVH, "12")
+}
+
+record(bo, "$(P)$(R)State") {
+ field(DESC, "En-/Disables all channels")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setState $(BUS)")
+ field(ZNAM, "Off")
+ field(ONAM, "On")
+}
+
+record(bi, "$(P)$(R)GetState") {
+ field(DESC, "Get state of all channels")
+ field(DTYP, "stream")
+ field(INP, "@pg9520.proto getState $(BUS)")
+ field(ZNAM, "Off")
+ field(ONAM, "On")
+ field(SCAN, "2 second")
+# Some commands can stop the generator
+ field(FLNK, "$(P)$(R)CheckState")
+}
+
+record(calcout,"$(P)$(R)CheckState") {
+ field(DESC, "Update state button")
+ field(OOPT, "On Change")
+ field(INPA,"$(P)$(R)GetState NPP NMS")
+ field(CALC,"A")
+ field(OUT, "$(P)$(R)State PP NMS")
+}
+
+record(ao, "$(P)$(R)Period") {
+ field(DESC, "Sets the T0 period")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPeriod $(BUS)")
+ field(PREC, "4")
+ field(DRVL, "100e-9")
+ field(DRVH, "5000")
+ field(EGU, "sec")
+}
+
+record(ao, "$(P)$(R)UserPeriod") {
+ field(DESC, "Sets the T0 user period")
+ field(OUT, "$(P)$(R)Period2BaseUnit PP NMS")
+ field(PREC, "6")
+ field(DRVL, "100e-6")
+ field(DRVH, "5000000")
+ field(EGU, "ms")
+}
+record(calcout,"$(P)$(R)Period2BaseUnit") {
+ field(DESC, "Convert Period to base unit")
+ field(INPA,"$(P)$(R)UserPeriod NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A/B")
+ field(OUT, "$(P)$(R)Period PP NMS")
+}
+record(calcout,"$(P)$(R)Period2UserUnit") {
+ field(DESC, "Convert Period to user unit")
+ field(PINI, "YES")
+ field(INPA,"$(P)$(R)Period NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A*B")
+ field(OUT, "$(P)$(R)UserPeriod NPP NMS")
+}
+record(ao,"$(P)$(R)PeriodTweak") {
+ field(DESC, "Step of Up/Down PeriodTweak")
+ field(VAL, "1e0")
+ field(PREC,"5")
+}
+record(calcout,"$(P)$(R)PeriodTweakDown") {
+ field(DESC, "New period after Down Tweak")
+ field(INPA,"$(P)$(R)PeriodTweak NPP NMS")
+ field(INPB,"$(P)$(R)UserPeriod NPP NMS")
+ field(CALC,"B-A")
+ field(OUT, "$(P)$(R)UserPeriod PP NMS")
+}
+record(calcout,"$(P)$(R)PeriodTweakUp") {
+ field(DESC, "New period after Up Tweak")
+ field(INPA,"$(P)$(R)PeriodTweak NPP NMS")
+ field(INPB,"$(P)$(R)UserPeriod NPP NMS")
+ field(CALC,"B+A")
+ field(OUT, "$(P)$(R)UserPeriod PP NMS")
+}
+
+record(mbbo, "$(P)$(R)Mode") {
+ field(DESC, "Sets the T0 mode")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setMode $(BUS)")
+ field(ZRST, "Normal")
+ field(ZRVL, "0")
+ field(ONST, "Single")
+ field(ONVL, "1")
+ field(TWST, "Burst")
+ field(TWVL, "2")
+ field(THST, "Duty Cycle")
+ field(THVL, "3")
+}
+
+record(mbbo, "$(P)$(R)GateMode") {
+ field(DESC, "Sets Global Gate Mode")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setGateMode $(BUS)")
+ field(ZRST, "Disable")
+ field(ZRVL, "0")
+ field(ONST, "Pulse inhibit")
+ field(ONVL, "1")
+ field(TWST, "Output inhibit")
+ field(TWVL, "2")
+ field(THST, "Channel")
+ field(THVL, "3")
+}
+
+record(mbbo, "$(P)$(R)GateLogic") {
+ field(DESC, "Sets Chan. Gate Logic Level")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setGateLogic $(BUS)")
+ field(ZRST, "Active low")
+ field(ZRVL, "0")
+ field(ONST, "Active high")
+ field(ONVL, "1")
+}
+
+record(ao, "$(P)$(R)GateLevel") {
+ field(DESC, "Sets the gate threshold")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setGateLevel $(BUS)")
+ field(PREC, "3")
+ field(DRVL, "0.2")
+ field(DRVH, "15")
+ field(EGU, "V")
+}
+
+record(ao,"$(P)$(R)TimeUnitCF") {
+ field(DESC, "ms")
+ field(VAL, "1000.0")
+}
+
+#============================== Channel A ==============================
+
+record(bo, "$(P)$(R)StateA") {
+ field(DESC, "En-/Disable output pulse A")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPState(1) $(BUS)")
+ field(ZNAM, "Off")
+ field(ONAM, "On")
+}
+
+record(ao, "$(P)$(R)WidthA") {
+ field(DESC, "Width of the output pulse")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPWidth(1) $(BUS)")
+ field(PREC, "8")
+ field(DRVL, "10e-9")
+ field(DRVH, "999.99999999975")
+ field(EGU, "sec")
+}
+
+record(ao, "$(P)$(R)UserWidthA") {
+ field(DESC, "User-Width of the pulse")
+ field(OUT, "$(P)$(R)Width2BaseUnitA PP NMS")
+ field(PREC, "8")
+ field(DRVL, "10e-6")
+ field(DRVH, "999999.99999975")
+ field(EGU, "ms")
+}
+record(calcout,"$(P)$(R)Width2BaseUnitA") {
+ field(DESC, "Convert Width to base unit")
+ field(INPA,"$(P)$(R)UserWidthA NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A/B")
+ field(OUT, "$(P)$(R)WidthA PP NMS")
+}
+record(calcout,"$(P)$(R)Width2UserUnitA") {
+ field(DESC, "Convert Width to user unit")
+ field(PINI, "YES")
+ field(INPA,"$(P)$(R)WidthA NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A*B")
+ field(OUT, "$(P)$(R)UserWidthA NPP NMS")
+}
+record(ao,"$(P)$(R)WidthTweakA") {
+ field(DESC, "Step of Up/Down Width Tweak")
+ field(VAL, "1e-1")
+ field(PREC,"6")
+}
+record(calcout,"$(P)$(R)WidthTweakDownA") {
+ field(DESC, "New width after Down Tweak")
+ field(INPA,"$(P)$(R)WidthTweakA NPP NMS")
+ field(INPB,"$(P)$(R)UserWidthA NPP NMS")
+ field(CALC,"B-A")
+ field(OUT, "$(P)$(R)UserWidthA PP NMS")
+}
+record(calcout,"$(P)$(R)WidthTweakUpA") {
+ field(DESC, "New width after Up Tweak")
+ field(INPA,"$(P)$(R)WidthTweakA NPP NMS")
+ field(INPB,"$(P)$(R)UserWidthA NPP NMS")
+ field(CALC,"B+A")
+ field(OUT, "$(P)$(R)UserWidthA PP NMS")
+}
+
+record(ao, "$(P)$(R)DelayA") {
+ field(DESC, "Time f. start T0 to 1.edge")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPDelay(1) $(BUS)")
+ field(PREC, "8")
+ field(DRVL, "-999.99999999975")
+ field(DRVH, "999.99999999975")
+ field(EGU, "sec")
+}
+
+record(ao, "$(P)$(R)UserDelayA") {
+ field(DESC, "User-Delay of the pulse")
+ field(OUT, "$(P)$(R)Delay2BaseUnitA PP NMS")
+ field(PREC, "8")
+ field(DRVL, "-999999.99999975")
+ field(DRVH, "999999.99999975")
+ field(EGU, "ms")
+}
+record(calcout,"$(P)$(R)Delay2BaseUnitA") {
+ field(DESC, "Convert Delay to base unit")
+ field(INPA,"$(P)$(R)UserDelayA NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A/B")
+ field(OUT, "$(P)$(R)DelayA PP NMS")
+}
+record(calcout,"$(P)$(R)Delay2UserUnitA") {
+ field(DESC, "Convert Delay to user unit")
+ field(PINI, "YES")
+ field(INPA,"$(P)$(R)DelayA NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A*B")
+ field(OUT, "$(P)$(R)UserDelayA NPP NMS")
+}
+record(ao,"$(P)$(R)DelayTweakA") {
+ field(DESC, "Step of Up/Down Delay Tweak")
+ field(VAL, "1e-1")
+ field(PREC,"6")
+}
+record(calcout,"$(P)$(R)DelayTweakDownA") {
+ field(DESC, "New delay after Down Tweak")
+ field(INPA,"$(P)$(R)DelayTweakA NPP NMS")
+ field(INPB,"$(P)$(R)UserDelayA NPP NMS")
+ field(CALC,"B-A")
+ field(OUT, "$(P)$(R)UserDelayA PP NMS")
+}
+record(calcout,"$(P)$(R)DelayTweakUpA") {
+ field(DESC, "New delay after Up Tweak")
+ field(INPA,"$(P)$(R)DelayTweakA NPP NMS")
+ field(INPB,"$(P)$(R)UserDelayA NPP NMS")
+ field(CALC,"B+A")
+ field(OUT, "$(P)$(R)UserDelayA PP NMS")
+}
+
+record(mbbo, "$(P)$(R)SyncA") {
+ field(DESC, "Selects the Sync source")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPSync(1) $(BUS)")
+ field(ZRST, "T0")
+ field(ZRVL, "0")
+ field(ONST, "Error")
+ field(ONVL, "1")
+ field(TWST, "B")
+ field(TWVL, "2")
+ field(THST, "C")
+ field(THVL, "3")
+ field(FRST, "D")
+ field(FRVL, "4")
+ field(FVST, "E")
+ field(FVVL, "5")
+ field(SXST, "F")
+ field(SXVL, "6")
+ field(SVST, "G")
+ field(SVVL, "7")
+ field(EIST, "H")
+ field(EIVL, "8")
+}
+
+record(ao, "$(P)$(R)MultiplexerA") {
+ field(DESC, "Select which timers are on")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPMux(1) $(BUS)")
+ field(DRVL, "0")
+ field(DRVH, "255")
+}
+
+record(mbbo, "$(P)$(R)PolarityA") {
+ field(DESC, "Set polarity of the pulse")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPolarity(1) $(BUS)")
+ field(ZRST, "Normal")
+ field(ZRVL, "0")
+ field(ONST, "Complement")
+ field(ONVL, "1")
+ field(TWST, "Inverted")
+ field(TWVL, "2")
+}
+
+record(mbbo, "$(P)$(R)OutputModeA") {
+ field(DESC, "Select Amplitude mode")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setOutputMode(1) $(BUS)")
+ field(ZRST, "TTL")
+ field(ZRVL, "0")
+ field(ONST, "Adjustable")
+ field(ONVL, "1")
+}
+
+record(ao, "$(P)$(R)OutputAmplitudeA") {
+ field(DESC, "Set adjustable output level")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setOutputAmplitude(1) $(BUS)")
+ field(PREC, "3")
+ field(DRVL, "2")
+ field(DRVH, "20")
+ field(EGU, "V")
+}
+
+record(mbbo, "$(P)$(R)GateModeA") {
+ field(DESC, "Sets Channel Gate Mode")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPGate(1) $(BUS)")
+ field(ZRST, "Disable")
+ field(ZRVL, "0")
+ field(ONST, "Pulse inhibit")
+ field(ONVL, "1")
+ field(TWST, "Output inhibit")
+ field(TWVL, "2")
+}
+
+record(mbbo, "$(P)$(R)GateLogicA") {
+ field(DESC, "Set Chan. Gate Logic Level")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPGateLogic(1) $(BUS)")
+ field(ZRST, "Active low")
+ field(ZRVL, "0")
+ field(ONST, "Active high")
+ field(ONVL, "1")
+}
+
+
+record(mbbo, "$(P)$(R)ChannelModeA") {
+ field(DESC, "Set Chan. pulse series Mode")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPCMode(1) $(BUS)")
+ field(ZRST, "Normal")
+ field(ZRVL, "0")
+ field(ONST, "Single")
+ field(ONVL, "1")
+ field(TWST, "Burst")
+ field(TWVL, "2")
+# field(THST, "D-Cycle")
+# field(THVL, "3")
+}
+
+record(ao, "$(P)$(R)BurstCounterA") {
+ field(DESC, "Set no. of pulses in Burst")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPBCounter(1) $(BUS)")
+# field(PREC, "8")
+ field(DRVL, "1")
+ field(DRVH, "9999999")
+}
+
+
+#============================== Channel B ==============================
+
+record(bo, "$(P)$(R)StateB") {
+ field(DESC, "En-/Disable output pulse B")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPState(2) $(BUS)")
+ field(ZNAM, "Off")
+ field(ONAM, "On")
+}
+
+record(ao, "$(P)$(R)WidthB") {
+ field(DESC, "Width of the output pulse")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPWidth(2) $(BUS)")
+ field(PREC, "8")
+ field(DRVL, "10e-9")
+ field(DRVH, "999.99999999975")
+ field(EGU, "sec")
+}
+
+record(ao, "$(P)$(R)UserWidthB") {
+ field(DESC, "User-Width of the pulse")
+ field(OUT, "$(P)$(R)Width2BaseUnitB PP NMS")
+ field(PREC, "8")
+ field(DRVL, "10e-6")
+ field(DRVH, "999999.99999975")
+ field(EGU, "ms")
+}
+record(calcout,"$(P)$(R)Width2BaseUnitB") {
+ field(DESC, "Convert Width to base unit")
+ field(INPA,"$(P)$(R)UserWidthB NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A/B")
+ field(OUT, "$(P)$(R)WidthB PP NMS")
+}
+record(calcout,"$(P)$(R)Width2UserUnitB") {
+ field(DESC, "Convert Width to user unit")
+ field(PINI, "YES")
+ field(INPA,"$(P)$(R)WidthB NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A*B")
+ field(OUT, "$(P)$(R)UserWidthB NPP NMS")
+}
+record(ao,"$(P)$(R)WidthTweakB") {
+ field(DESC, "Step of Up/Down Width Tweak")
+ field(VAL, "1e-1")
+ field(PREC,"6")
+}
+record(calcout,"$(P)$(R)WidthTweakDownB") {
+ field(DESC, "New width after Down Tweak")
+ field(INPA,"$(P)$(R)WidthTweakB NPP NMS")
+ field(INPB,"$(P)$(R)UserWidthB NPP NMS")
+ field(CALC,"B-A")
+ field(OUT, "$(P)$(R)UserWidthB PP NMS")
+}
+record(calcout,"$(P)$(R)WidthTweakUpB") {
+ field(DESC, "New width after Up Tweak")
+ field(INPA,"$(P)$(R)WidthTweakB NPP NMS")
+ field(INPB,"$(P)$(R)UserWidthB NPP NMS")
+ field(CALC,"B+A")
+ field(OUT, "$(P)$(R)UserWidthB PP NMS")
+}
+
+record(ao, "$(P)$(R)DelayB") {
+ field(DESC, "Time f. start T0 to 1.edge")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPDelay(2) $(BUS)")
+ field(PREC, "8")
+ field(DRVL, "-999.99999999975")
+ field(DRVH, "999.99999999975")
+ field(EGU, "sec")
+}
+
+record(ao, "$(P)$(R)UserDelayB") {
+ field(DESC, "User-Delay of the pulse")
+ field(OUT, "$(P)$(R)Delay2BaseUnitB PP NMS")
+ field(PREC, "8")
+ field(DRVL, "-999999.99999975")
+ field(DRVH, "999999.99999975")
+ field(EGU, "ms")
+}
+record(calcout,"$(P)$(R)Delay2BaseUnitB") {
+ field(DESC, "Convert Delay to base unit")
+ field(INPA,"$(P)$(R)UserDelayB NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A/B")
+ field(OUT, "$(P)$(R)DelayB PP NMS")
+}
+record(calcout,"$(P)$(R)Delay2UserUnitB") {
+ field(DESC, "Convert Delay to user unit")
+ field(PINI, "YES")
+ field(INPA,"$(P)$(R)DelayB NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A*B")
+ field(OUT, "$(P)$(R)UserDelayB NPP NMS")
+}
+record(ao,"$(P)$(R)DelayTweakB") {
+ field(DESC, "Step of Up/Down Delay Tweak")
+ field(VAL, "1e-1")
+ field(PREC,"6")
+}
+record(calcout,"$(P)$(R)DelayTweakDownB") {
+ field(DESC, "New delay after Down Tweak")
+ field(INPA,"$(P)$(R)DelayTweakB NPP NMS")
+ field(INPB,"$(P)$(R)UserDelayB NPP NMS")
+ field(CALC,"B-A")
+ field(OUT, "$(P)$(R)UserDelayB PP NMS")
+}
+record(calcout,"$(P)$(R)DelayTweakUpB") {
+ field(DESC, "New delay after Up Tweak")
+ field(INPA,"$(P)$(R)DelayTweakB NPP NMS")
+ field(INPB,"$(P)$(R)UserDelayB NPP NMS")
+ field(CALC,"B+A")
+ field(OUT, "$(P)$(R)UserDelayB PP NMS")
+}
+
+record(mbbo, "$(P)$(R)SyncB") {
+ field(DESC, "Selects the Sync source")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPSync(2) $(BUS)")
+ field(ZRST, "T0")
+ field(ZRVL, "0")
+ field(ONST, "A")
+ field(ONVL, "1")
+ field(TWST, "Error")
+ field(TWVL, "2")
+ field(THST, "C")
+ field(THVL, "3")
+ field(FRST, "D")
+ field(FRVL, "4")
+ field(FVST, "E")
+ field(FVVL, "5")
+ field(SXST, "F")
+ field(SXVL, "6")
+ field(SVST, "G")
+ field(SVVL, "7")
+ field(EIST, "H")
+ field(EIVL, "8")
+}
+
+record(ao, "$(P)$(R)MultiplexerB") {
+ field(DESC, "Select which timers are on")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPMux(2) $(BUS)")
+ field(DRVL, "0")
+ field(DRVH, "255")
+}
+
+record(mbbo, "$(P)$(R)PolarityB") {
+ field(DESC, "Set polarity of the pulse")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPolarity(2) $(BUS)")
+ field(ZRST, "Normal")
+ field(ZRVL, "0")
+ field(ONST, "Complement")
+ field(ONVL, "1")
+ field(TWST, "Inverted")
+ field(TWVL, "2")
+}
+
+record(mbbo, "$(P)$(R)OutputModeB") {
+ field(DESC, "Select Amplitude mode")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setOutputMode(2) $(BUS)")
+ field(ZRST, "TTL")
+ field(ZRVL, "0")
+ field(ONST, "Adjustable")
+ field(ONVL, "1")
+}
+
+record(ao, "$(P)$(R)OutputAmplitudeB") {
+ field(DESC, "Set adjustable output level")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setOutputAmplitude(2) $(BUS)")
+ field(PREC, "3")
+ field(DRVL, "2")
+ field(DRVH, "20")
+ field(EGU, "V")
+}
+
+record(mbbo, "$(P)$(R)GateModeB") {
+ field(DESC, "Sets Channel Gate Mode")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPGate(2) $(BUS)")
+ field(ZRST, "Disable")
+ field(ZRVL, "0")
+ field(ONST, "Pulse inhibit")
+ field(ONVL, "1")
+ field(TWST, "Output inhibit")
+ field(TWVL, "2")
+}
+
+record(mbbo, "$(P)$(R)GateLogicB") {
+ field(DESC, "Set Chan. Gate Logic Level")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPGateLogic(2) $(BUS)")
+ field(ZRST, "Active low")
+ field(ZRVL, "0")
+ field(ONST, "Active high")
+ field(ONVL, "1")
+}
+
+#============================== Channel C ==============================
+
+record(bo, "$(P)$(R)StateC") {
+ field(DESC, "En-/Disable output pulse C")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPState(3) $(BUS)")
+ field(ZNAM, "Off")
+ field(ONAM, "On")
+}
+
+record(ao, "$(P)$(R)WidthC") {
+ field(DESC, "Width of the output pulse")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPWidth(3) $(BUS)")
+ field(PREC, "8")
+ field(DRVL, "10e-9")
+ field(DRVH, "999.99999999975")
+ field(EGU, "sec")
+}
+
+record(ao, "$(P)$(R)UserWidthC") {
+ field(DESC, "User-Width of the pulse")
+ field(OUT, "$(P)$(R)Width2BaseUnitC PP NMS")
+ field(PREC, "8")
+ field(DRVL, "10e-6")
+ field(DRVH, "999999.99999975")
+ field(EGU, "ms")
+}
+record(calcout,"$(P)$(R)Width2BaseUnitC") {
+ field(DESC, "Convert Width to base unit")
+ field(INPA,"$(P)$(R)UserWidthC NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A/B")
+ field(OUT, "$(P)$(R)WidthC PP NMS")
+}
+record(calcout,"$(P)$(R)Width2UserUnitC") {
+ field(DESC, "Convert Width to user unit")
+ field(PINI, "YES")
+ field(INPA,"$(P)$(R)WidthC NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A*B")
+ field(OUT, "$(P)$(R)UserWidthC NPP NMS")
+}
+record(ao,"$(P)$(R)WidthTweakC") {
+ field(DESC, "Step of Up/Down Width Tweak")
+ field(VAL, "1e-1")
+ field(PREC,"6")
+}
+record(calcout,"$(P)$(R)WidthTweakDownC") {
+ field(DESC, "New width after Down Tweak")
+ field(INPA,"$(P)$(R)WidthTweakC NPP NMS")
+ field(INPB,"$(P)$(R)UserWidthC NPP NMS")
+ field(CALC,"B-A")
+ field(OUT, "$(P)$(R)UserWidthC PP NMS")
+}
+record(calcout,"$(P)$(R)WidthTweakUpC") {
+ field(DESC, "New width after Up Tweak")
+ field(INPA,"$(P)$(R)WidthTweakC NPP NMS")
+ field(INPB,"$(P)$(R)UserWidthC NPP NMS")
+ field(CALC,"B+A")
+ field(OUT, "$(P)$(R)UserWidthC PP NMS")
+}
+
+record(ao, "$(P)$(R)DelayC") {
+ field(DESC, "Time f. start T0 to 1.edge")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPDelay(3) $(BUS)")
+ field(PREC, "8")
+ field(DRVL, "-999.99999999975")
+ field(DRVH, "999.99999999975")
+ field(EGU, "sec")
+}
+
+record(ao, "$(P)$(R)UserDelayC") {
+ field(DESC, "User-Delay of the pulse")
+ field(OUT, "$(P)$(R)Delay2BaseUnitC PP NMS")
+ field(PREC, "8")
+ field(DRVL, "-999999.99999975")
+ field(DRVH, "999999.99999975")
+ field(EGU, "ms")
+}
+record(calcout,"$(P)$(R)Delay2BaseUnitC") {
+ field(DESC, "Convert Delay to base unit")
+ field(INPA,"$(P)$(R)UserDelayC NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A/B")
+ field(OUT, "$(P)$(R)DelayC PP NMS")
+}
+record(calcout,"$(P)$(R)Delay2UserUnitC") {
+ field(DESC, "Convert Delay to user unit")
+ field(PINI, "YES")
+ field(INPA,"$(P)$(R)DelayC NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A*B")
+ field(OUT, "$(P)$(R)UserDelayC NPP NMS")
+}
+record(ao,"$(P)$(R)DelayTweakC") {
+ field(DESC, "Step of Up/Down Delay Tweak")
+ field(VAL, "1e-1")
+ field(PREC,"6")
+}
+record(calcout,"$(P)$(R)DelayTweakDownC") {
+ field(DESC, "New delay after Down Tweak")
+ field(INPA,"$(P)$(R)DelayTweakC NPP NMS")
+ field(INPB,"$(P)$(R)UserDelayC NPP NMS")
+ field(CALC,"B-A")
+ field(OUT, "$(P)$(R)UserDelayC PP NMS")
+}
+record(calcout,"$(P)$(R)DelayTweakUpC") {
+ field(DESC, "New delay after Up Tweak")
+ field(INPA,"$(P)$(R)DelayTweakC NPP NMS")
+ field(INPB,"$(P)$(R)UserDelayC NPP NMS")
+ field(CALC,"B+A")
+ field(OUT, "$(P)$(R)UserDelayC PP NMS")
+}
+
+record(mbbo, "$(P)$(R)SyncC") {
+ field(DESC, "Selects the Sync source")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPSync(3) $(BUS)")
+ field(ZRST, "T0")
+ field(ZRVL, "0")
+ field(ONST, "A")
+ field(ONVL, "1")
+ field(TWST, "B")
+ field(TWVL, "2")
+ field(THST, "Error")
+ field(THVL, "3")
+ field(FRST, "D")
+ field(FRVL, "4")
+ field(FVST, "E")
+ field(FVVL, "5")
+ field(SXST, "F")
+ field(SXVL, "6")
+ field(SVST, "G")
+ field(SVVL, "7")
+ field(EIST, "H")
+ field(EIVL, "8")
+}
+
+record(ao, "$(P)$(R)MultiplexerC") {
+ field(DESC, "Select which timers are on")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPMux(3) $(BUS)")
+ field(DRVL, "0")
+ field(DRVH, "255")
+}
+
+record(mbbo, "$(P)$(R)PolarityC") {
+ field(DESC, "Set polarity of the pulse")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPolarity(3) $(BUS)")
+ field(ZRST, "Normal")
+ field(ZRVL, "0")
+ field(ONST, "Complement")
+ field(ONVL, "1")
+ field(TWST, "Inverted")
+ field(TWVL, "2")
+}
+
+record(mbbo, "$(P)$(R)OutputModeC") {
+ field(DESC, "Select Amplitude mode")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setOutputMode(3) $(BUS)")
+ field(ZRST, "TTL")
+ field(ZRVL, "0")
+ field(ONST, "Adjustable")
+ field(ONVL, "1")
+}
+
+record(ao, "$(P)$(R)OutputAmplitudeC") {
+ field(DESC, "Set adjustable output level")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setOutputAmplitude(3) $(BUS)")
+ field(PREC, "3")
+ field(DRVL, "2")
+ field(DRVH, "20")
+ field(EGU, "V")
+}
+
+record(mbbo, "$(P)$(R)GateModeC") {
+ field(DESC, "Sets Channel Gate Mode")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPGate(3) $(BUS)")
+ field(ZRST, "Disable")
+ field(ZRVL, "0")
+ field(ONST, "Pulse inhibit")
+ field(ONVL, "1")
+ field(TWST, "Output inhibit")
+ field(TWVL, "2")
+}
+
+record(mbbo, "$(P)$(R)GateLogicC") {
+ field(DESC, "Set Chan. Gate Logic Level")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPGateLogic(3) $(BUS)")
+ field(ZRST, "Active low")
+ field(ZRVL, "0")
+ field(ONST, "Active high")
+ field(ONVL, "1")
+}
+
+#============================== Channel D ==============================
+
+record(bo, "$(P)$(R)StateD") {
+ field(DESC, "En-/Disable output pulse D")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPState(4) $(BUS)")
+ field(ZNAM, "Off")
+ field(ONAM, "On")
+}
+
+record(ao, "$(P)$(R)WidthD") {
+ field(DESC, "Width of the output pulse")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPWidth(4) $(BUS)")
+ field(PREC, "8")
+ field(DRVL, "10e-9")
+ field(DRVH, "999.99999999975")
+ field(EGU, "sec")
+}
+
+record(ao, "$(P)$(R)UserWidthD") {
+ field(DESC, "User-Width of the pulse")
+ field(OUT, "$(P)$(R)Width2BaseUnitD PP NMS")
+ field(PREC, "8")
+ field(DRVL, "10e-6")
+ field(DRVH, "999999.99999975")
+ field(EGU, "ms")
+}
+record(calcout,"$(P)$(R)Width2BaseUnitD") {
+ field(DESC, "Convert Width to base unit")
+ field(INPA,"$(P)$(R)UserWidthD NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A/B")
+ field(OUT, "$(P)$(R)WidthD PP NMS")
+}
+record(calcout,"$(P)$(R)Width2UserUnitD") {
+ field(DESC, "Convert Width to user unit")
+ field(PINI, "YES")
+ field(INPA,"$(P)$(R)WidthD NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A*B")
+ field(OUT, "$(P)$(R)UserWidthD NPP NMS")
+}
+record(ao,"$(P)$(R)WidthTweakD") {
+ field(DESC, "Step of Up/Down Width Tweak")
+ field(VAL, "1e-1")
+ field(PREC,"6")
+}
+record(calcout,"$(P)$(R)WidthTweakDownD") {
+ field(DESC, "New width after Down Tweak")
+ field(INPA,"$(P)$(R)WidthTweakD NPP NMS")
+ field(INPB,"$(P)$(R)UserWidthD NPP NMS")
+ field(CALC,"B-A")
+ field(OUT, "$(P)$(R)UserWidthD PP NMS")
+}
+record(calcout,"$(P)$(R)WidthTweakUpD") {
+ field(DESC, "New width after Up Tweak")
+ field(INPA,"$(P)$(R)WidthTweakD NPP NMS")
+ field(INPB,"$(P)$(R)UserWidthD NPP NMS")
+ field(CALC,"B+A")
+ field(OUT, "$(P)$(R)UserWidthD PP NMS")
+}
+
+record(ao, "$(P)$(R)DelayD") {
+ field(DESC, "Time f. start T0 to 1.edge")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPDelay(4) $(BUS)")
+ field(PREC, "8")
+ field(DRVL, "-999.99999999975")
+ field(DRVH, "999.99999999975")
+ field(EGU, "sec")
+}
+
+record(ao, "$(P)$(R)UserDelayD") {
+ field(DESC, "User-Delay of the pulse")
+ field(OUT, "$(P)$(R)Delay2BaseUnitD PP NMS")
+ field(PREC, "8")
+ field(DRVL, "-999999.99999975")
+ field(DRVH, "999999.99999975")
+ field(EGU, "ms")
+}
+record(calcout,"$(P)$(R)Delay2BaseUnitD") {
+ field(DESC, "Convert Delay to base unit")
+ field(INPA,"$(P)$(R)UserDelayD NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A/B")
+ field(OUT, "$(P)$(R)DelayD PP NMS")
+}
+record(calcout,"$(P)$(R)Delay2UserUnitD") {
+ field(DESC, "Convert Delay to user unit")
+ field(PINI, "YES")
+ field(INPA,"$(P)$(R)DelayD NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A*B")
+ field(OUT, "$(P)$(R)UserDelayD NPP NMS")
+}
+record(ao,"$(P)$(R)DelayTweakD") {
+ field(DESC, "Step of Up/Down Delay Tweak")
+ field(VAL, "1e-1")
+ field(PREC,"6")
+}
+record(calcout,"$(P)$(R)DelayTweakDownD") {
+ field(DESC, "New delay after Down Tweak")
+ field(INPA,"$(P)$(R)DelayTweakD NPP NMS")
+ field(INPB,"$(P)$(R)UserDelayD NPP NMS")
+ field(CALC,"B-A")
+ field(OUT, "$(P)$(R)UserDelayD PP NMS")
+}
+record(calcout,"$(P)$(R)DelayTweakUpD") {
+ field(DESC, "New delay after Up Tweak")
+ field(INPA,"$(P)$(R)DelayTweakD NPP NMS")
+ field(INPB,"$(P)$(R)UserDelayD NPP NMS")
+ field(CALC,"B+A")
+ field(OUT, "$(P)$(R)UserDelayD PP NMS")
+}
+
+record(mbbo, "$(P)$(R)SyncD") {
+ field(DESC, "Selects the Sync source")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPSync(4) $(BUS)")
+ field(ZRST, "T0")
+ field(ZRVL, "0")
+ field(ONST, "A")
+ field(ONVL, "1")
+ field(TWST, "B")
+ field(TWVL, "2")
+ field(THST, "C")
+ field(THVL, "3")
+ field(FRST, "Error")
+ field(FRVL, "4")
+ field(FVST, "E")
+ field(FVVL, "5")
+ field(SXST, "F")
+ field(SXVL, "6")
+ field(SVST, "G")
+ field(SVVL, "7")
+ field(EIST, "H")
+ field(EIVL, "8")
+}
+
+record(ao, "$(P)$(R)MultiplexerD") {
+ field(DESC, "Select which timers are on")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPMux(4) $(BUS)")
+ field(DRVL, "0")
+ field(DRVH, "255")
+}
+
+record(mbbo, "$(P)$(R)PolarityD") {
+ field(DESC, "Set polarity of the pulse")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPolarity(4) $(BUS)")
+ field(ZRST, "Normal")
+ field(ZRVL, "0")
+ field(ONST, "Complement")
+ field(ONVL, "1")
+ field(TWST, "Inverted")
+ field(TWVL, "2")
+}
+
+record(mbbo, "$(P)$(R)OutputModeD") {
+ field(DESC, "Select Amplitude mode")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setOutputMode(4) $(BUS)")
+ field(ZRST, "TTL")
+ field(ZRVL, "0")
+ field(ONST, "Adjustable")
+ field(ONVL, "1")
+}
+
+record(ao, "$(P)$(R)OutputAmplitudeD") {
+ field(DESC, "Set adjustable output level")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setOutputAmplitude(4) $(BUS)")
+ field(PREC, "3")
+ field(DRVL, "2")
+ field(DRVH, "20")
+ field(EGU, "V")
+}
+
+record(mbbo, "$(P)$(R)GateModeD") {
+ field(DESC, "Sets Channel Gate Mode")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPGate(4) $(BUS)")
+ field(ZRST, "Disable")
+ field(ZRVL, "0")
+ field(ONST, "Pulse inhibit")
+ field(ONVL, "1")
+ field(TWST, "Output inhibit")
+ field(TWVL, "2")
+}
+
+record(mbbo, "$(P)$(R)GateLogicD") {
+ field(DESC, "Set Chan. Gate Logic Level")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPGateLogic(4) $(BUS)")
+ field(ZRST, "Active low")
+ field(ZRVL, "0")
+ field(ONST, "Active high")
+ field(ONVL, "1")
+}
+
+#============================== Channel E ==============================
+
+record(bo, "$(P)$(R)StateE") {
+ field(DESC, "En-/Disable output pulse E")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPState(5) $(BUS)")
+ field(ZNAM, "Off")
+ field(ONAM, "On")
+}
+
+record(ao, "$(P)$(R)WidthE") {
+ field(DESC, "Width of the output pulse")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPWidth(5) $(BUS)")
+ field(PREC, "8")
+ field(DRVL, "10e-9")
+ field(DRVH, "999.99999999975")
+ field(EGU, "sec")
+}
+
+record(ao, "$(P)$(R)UserWidthE") {
+ field(DESC, "User-Width of the pulse")
+ field(OUT, "$(P)$(R)Width2BaseUnitE PP NMS")
+ field(PREC, "8")
+ field(DRVL, "10e-6")
+ field(DRVH, "999999.99999975")
+ field(EGU, "ms")
+}
+record(calcout,"$(P)$(R)Width2BaseUnitE") {
+ field(DESC, "Convert Width to base unit")
+ field(INPA,"$(P)$(R)UserWidthE NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A/B")
+ field(OUT, "$(P)$(R)WidthE PP NMS")
+}
+record(calcout,"$(P)$(R)Width2UserUnitE") {
+ field(DESC, "Convert Width to user unit")
+ field(PINI, "YES")
+ field(INPA,"$(P)$(R)WidthE NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A*B")
+ field(OUT, "$(P)$(R)UserWidthE NPP NMS")
+}
+record(ao,"$(P)$(R)WidthTweakE") {
+ field(DESC, "Step of Up/Down Width Tweak")
+ field(VAL, "1e-1")
+ field(PREC,"6")
+}
+record(calcout,"$(P)$(R)WidthTweakDownE") {
+ field(DESC, "New width after Down Tweak")
+ field(INPA,"$(P)$(R)WidthTweakE NPP NMS")
+ field(INPB,"$(P)$(R)UserWidthE NPP NMS")
+ field(CALC,"B-A")
+ field(OUT, "$(P)$(R)UserWidthE PP NMS")
+}
+record(calcout,"$(P)$(R)WidthTweakUpE") {
+ field(DESC, "New width after Up Tweak")
+ field(INPA,"$(P)$(R)WidthTweakE NPP NMS")
+ field(INPB,"$(P)$(R)UserWidthE NPP NMS")
+ field(CALC,"B+A")
+ field(OUT, "$(P)$(R)UserWidthE PP NMS")
+}
+
+record(ao, "$(P)$(R)DelayE") {
+ field(DESC, "Time f. start T0 to 1.edge")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPDelay(5) $(BUS)")
+ field(PREC, "8")
+ field(DRVL, "-999.99999999975")
+ field(DRVH, "999.99999999975")
+ field(EGU, "sec")
+}
+
+record(ao, "$(P)$(R)UserDelayE") {
+ field(DESC, "User-Delay of the pulse")
+ field(OUT, "$(P)$(R)Delay2BaseUnitE PP NMS")
+ field(PREC, "8")
+ field(DRVL, "-999999.99999975")
+ field(DRVH, "999999.99999975")
+ field(EGU, "ms")
+}
+record(calcout,"$(P)$(R)Delay2BaseUnitE") {
+ field(DESC, "Convert Delay to base unit")
+ field(INPA,"$(P)$(R)UserDelayE NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A/B")
+ field(OUT, "$(P)$(R)DelayE PP NMS")
+}
+record(calcout,"$(P)$(R)Delay2UserUnitE") {
+ field(DESC, "Convert Delay to user unit")
+ field(PINI, "YES")
+ field(INPA,"$(P)$(R)DelayE NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A*B")
+ field(OUT, "$(P)$(R)UserDelayE NPP NMS")
+}
+record(ao,"$(P)$(R)DelayTweakE") {
+ field(DESC, "Step of Up/Down Delay Tweak")
+ field(VAL, "1e-1")
+ field(PREC,"6")
+}
+record(calcout,"$(P)$(R)DelayTweakDownE") {
+ field(DESC, "New delay after Down Tweak")
+ field(INPA,"$(P)$(R)DelayTweakE NPP NMS")
+ field(INPB,"$(P)$(R)UserDelayE NPP NMS")
+ field(CALC,"B-A")
+ field(OUT, "$(P)$(R)UserDelayE PP NMS")
+}
+record(calcout,"$(P)$(R)DelayTweakUpE") {
+ field(DESC, "New delay after Up Tweak")
+ field(INPA,"$(P)$(R)DelayTweakE NPP NMS")
+ field(INPB,"$(P)$(R)UserDelayE NPP NMS")
+ field(CALC,"B+A")
+ field(OUT, "$(P)$(R)UserDelayE PP NMS")
+}
+
+record(mbbo, "$(P)$(R)SyncE") {
+ field(DESC, "Selects the Sync source")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPSync(5) $(BUS)")
+ field(ZRST, "T0")
+ field(ZRVL, "0")
+ field(ONST, "A")
+ field(ONVL, "1")
+ field(TWST, "B")
+ field(TWVL, "2")
+ field(THST, "C")
+ field(THVL, "3")
+ field(FRST, "D")
+ field(FRVL, "4")
+ field(FVST, "Error")
+ field(FVVL, "5")
+ field(SXST, "F")
+ field(SXVL, "6")
+ field(SVST, "G")
+ field(SVVL, "7")
+ field(EIST, "H")
+ field(EIVL, "8")
+}
+
+record(ao, "$(P)$(R)MultiplexerE") {
+ field(DESC, "Select which timers are on")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPMux(5) $(BUS)")
+ field(DRVL, "0")
+ field(DRVH, "255")
+}
+
+record(mbbo, "$(P)$(R)PolarityE") {
+ field(DESC, "Set polarity of the pulse")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPolarity(5) $(BUS)")
+ field(ZRST, "Normal")
+ field(ZRVL, "0")
+ field(ONST, "Complement")
+ field(ONVL, "1")
+ field(TWST, "Inverted")
+ field(TWVL, "2")
+}
+
+record(mbbo, "$(P)$(R)OutputModeE") {
+ field(DESC, "Select Amplitude mode")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setOutputMode(5) $(BUS)")
+ field(ZRST, "TTL")
+ field(ZRVL, "0")
+ field(ONST, "Adjustable")
+ field(ONVL, "1")
+}
+
+record(ao, "$(P)$(R)OutputAmplitudeE") {
+ field(DESC, "Set adjustable output level")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setOutputAmplitude(5) $(BUS)")
+ field(PREC, "3")
+ field(DRVL, "2")
+ field(DRVH, "20")
+ field(EGU, "V")
+}
+
+record(mbbo, "$(P)$(R)GateModeE") {
+ field(DESC, "Sets Channel Gate Mode")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPGate(5) $(BUS)")
+ field(ZRST, "Disable")
+ field(ZRVL, "0")
+ field(ONST, "Pulse inhibit")
+ field(ONVL, "1")
+ field(TWST, "Output inhibit")
+ field(TWVL, "2")
+}
+
+record(mbbo, "$(P)$(R)GateLogicE") {
+ field(DESC, "Set Chan. Gate Logic Level")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPGateLogic(5) $(BUS)")
+ field(ZRST, "Active low")
+ field(ZRVL, "0")
+ field(ONST, "Active high")
+ field(ONVL, "1")
+}
+
+#============================== Channel F ==============================
+
+record(bo, "$(P)$(R)StateF") {
+ field(DESC, "En-/Disable output pulse F")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPState(6) $(BUS)")
+ field(ZNAM, "Off")
+ field(ONAM, "On")
+}
+
+record(ao, "$(P)$(R)WidthF") {
+ field(DESC, "Width of the output pulse")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPWidth(6) $(BUS)")
+ field(PREC, "8")
+ field(DRVL, "10e-9")
+ field(DRVH, "999.99999999975")
+ field(EGU, "sec")
+}
+
+record(ao, "$(P)$(R)UserWidthF") {
+ field(DESC, "User-Width of the pulse")
+ field(OUT, "$(P)$(R)Width2BaseUnitF PP NMS")
+ field(PREC, "8")
+ field(DRVL, "10e-6")
+ field(DRVH, "999999.99999975")
+ field(EGU, "ms")
+}
+record(calcout,"$(P)$(R)Width2BaseUnitF") {
+ field(DESC, "Convert Width to base unit")
+ field(INPA,"$(P)$(R)UserWidthF NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A/B")
+ field(OUT, "$(P)$(R)WidthF PP NMS")
+}
+record(calcout,"$(P)$(R)Width2UserUnitF") {
+ field(DESC, "Convert Width to user unit")
+ field(PINI, "YES")
+ field(INPA,"$(P)$(R)WidthF NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A*B")
+ field(OUT, "$(P)$(R)UserWidthF NPP NMS")
+}
+record(ao,"$(P)$(R)WidthTweakF") {
+ field(DESC, "Step of Up/Down Width Tweak")
+ field(VAL, "1e-1")
+ field(PREC,"6")
+}
+record(calcout,"$(P)$(R)WidthTweakDownF") {
+ field(DESC, "New width after Down Tweak")
+ field(INPA,"$(P)$(R)WidthTweakF NPP NMS")
+ field(INPB,"$(P)$(R)UserWidthF NPP NMS")
+ field(CALC,"B-A")
+ field(OUT, "$(P)$(R)UserWidthF PP NMS")
+}
+record(calcout,"$(P)$(R)WidthTweakUpF") {
+ field(DESC, "New width after Up Tweak")
+ field(INPA,"$(P)$(R)WidthTweakF NPP NMS")
+ field(INPB,"$(P)$(R)UserWidthF NPP NMS")
+ field(CALC,"B+A")
+ field(OUT, "$(P)$(R)UserWidthF PP NMS")
+}
+
+record(ao, "$(P)$(R)DelayF") {
+ field(DESC, "Time f. start T0 to 1.edge")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPDelay(6) $(BUS)")
+ field(PREC, "8")
+ field(DRVL, "-999.99999999975")
+ field(DRVH, "999.99999999975")
+ field(EGU, "sec")
+}
+
+record(ao, "$(P)$(R)UserDelayF") {
+ field(DESC, "User-Delay of the pulse")
+ field(OUT, "$(P)$(R)Delay2BaseUnitF PP NMS")
+ field(PREC, "8")
+ field(DRVL, "-999999.99999975")
+ field(DRVH, "999999.99999975")
+ field(EGU, "ms")
+}
+record(calcout,"$(P)$(R)Delay2BaseUnitF") {
+ field(DESC, "Convert Delay to base unit")
+ field(INPA,"$(P)$(R)UserDelayF NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A/B")
+ field(OUT, "$(P)$(R)DelayF PP NMS")
+}
+record(calcout,"$(P)$(R)Delay2UserUnitF") {
+ field(DESC, "Convert Delay to user unit")
+ field(PINI, "YES")
+ field(INPA,"$(P)$(R)DelayF NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A*B")
+ field(OUT, "$(P)$(R)UserDelayF NPP NMS")
+}
+record(ao,"$(P)$(R)DelayTweakF") {
+ field(DESC, "Step of Up/Down Delay Tweak")
+ field(VAL, "1e-1")
+ field(PREC,"6")
+}
+record(calcout,"$(P)$(R)DelayTweakDownF") {
+ field(DESC, "New delay after Down Tweak")
+ field(INPA,"$(P)$(R)DelayTweakF NPP NMS")
+ field(INPB,"$(P)$(R)UserDelayF NPP NMS")
+ field(CALC,"B-A")
+ field(OUT, "$(P)$(R)UserDelayF PP NMS")
+}
+record(calcout,"$(P)$(R)DelayTweakUpF") {
+ field(DESC, "New delay after Up Tweak")
+ field(INPA,"$(P)$(R)DelayTweakF NPP NMS")
+ field(INPB,"$(P)$(R)UserDelayF NPP NMS")
+ field(CALC,"B+A")
+ field(OUT, "$(P)$(R)UserDelayF PP NMS")
+}
+
+record(mbbo, "$(P)$(R)SyncF") {
+ field(DESC, "Selects the Sync source")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPSync(6) $(BUS)")
+ field(ZRST, "T0")
+ field(ZRVL, "0")
+ field(ONST, "A")
+ field(ONVL, "1")
+ field(TWST, "B")
+ field(TWVL, "2")
+ field(THST, "C")
+ field(THVL, "3")
+ field(FRST, "D")
+ field(FRVL, "4")
+ field(FVST, "E")
+ field(FVVL, "5")
+ field(SXST, "Error")
+ field(SXVL, "6")
+ field(SVST, "G")
+ field(SVVL, "7")
+ field(EIST, "H")
+ field(EIVL, "8")
+}
+
+record(ao, "$(P)$(R)MultiplexerF") {
+ field(DESC, "Select which timers are on")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPMux(6) $(BUS)")
+ field(DRVL, "0")
+ field(DRVH, "255")
+}
+
+record(mbbo, "$(P)$(R)PolarityF") {
+ field(DESC, "Set polarity of the pulse")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPolarity(6) $(BUS)")
+ field(ZRST, "Normal")
+ field(ZRVL, "0")
+ field(ONST, "Complement")
+ field(ONVL, "1")
+ field(TWST, "Inverted")
+ field(TWVL, "2")
+}
+
+record(mbbo, "$(P)$(R)OutputModeF") {
+ field(DESC, "Select Amplitude mode")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setOutputMode(6) $(BUS)")
+ field(ZRST, "TTL")
+ field(ZRVL, "0")
+ field(ONST, "Adjustable")
+ field(ONVL, "1")
+}
+
+record(ao, "$(P)$(R)OutputAmplitudeF") {
+ field(DESC, "Set adjustable output level")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setOutputAmplitude(6) $(BUS)")
+ field(PREC, "3")
+ field(DRVL, "2")
+ field(DRVH, "20")
+ field(EGU, "V")
+}
+
+record(mbbo, "$(P)$(R)GateModeF") {
+ field(DESC, "Sets Channel Gate Mode")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPGate(6) $(BUS)")
+ field(ZRST, "Disable")
+ field(ZRVL, "0")
+ field(ONST, "Pulse inhibit")
+ field(ONVL, "1")
+ field(TWST, "Output inhibit")
+ field(TWVL, "2")
+}
+
+record(mbbo, "$(P)$(R)GateLogicF") {
+ field(DESC, "Set Chan. Gate Logic Level")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPGateLogic(6) $(BUS)")
+ field(ZRST, "Active low")
+ field(ZRVL, "0")
+ field(ONST, "Active high")
+ field(ONVL, "1")
+}
+
+#============================== Channel G ==============================
+
+record(bo, "$(P)$(R)StateG") {
+ field(DESC, "En-/Disable output pulse G")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPState(7) $(BUS)")
+ field(ZNAM, "Off")
+ field(ONAM, "On")
+}
+
+record(ao, "$(P)$(R)WidthG") {
+ field(DESC, "Width of the output pulse")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPWidth(7) $(BUS)")
+ field(PREC, "8")
+ field(DRVL, "10e-9")
+ field(DRVH, "999.99999999975")
+ field(EGU, "sec")
+}
+
+record(ao, "$(P)$(R)UserWidthG") {
+ field(DESC, "User-Width of the pulse")
+ field(OUT, "$(P)$(R)Width2BaseUnitG PP NMS")
+ field(PREC, "8")
+ field(DRVL, "10e-6")
+ field(DRVH, "999999.99999975")
+ field(EGU, "ms")
+}
+record(calcout,"$(P)$(R)Width2BaseUnitG") {
+ field(DESC, "Convert Width to base unit")
+ field(INPA,"$(P)$(R)UserWidthG NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A/B")
+ field(OUT, "$(P)$(R)WidthG PP NMS")
+}
+record(calcout,"$(P)$(R)Width2UserUnitG") {
+ field(DESC, "Convert Width to user unit")
+ field(PINI, "YES")
+ field(INPA,"$(P)$(R)WidthG NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A*B")
+ field(OUT, "$(P)$(R)UserWidthG NPP NMS")
+}
+record(ao,"$(P)$(R)WidthTweakG") {
+ field(DESC, "Step of Up/Down Width Tweak")
+ field(VAL, "1e-1")
+ field(PREC,"6")
+}
+record(calcout,"$(P)$(R)WidthTweakDownG") {
+ field(DESC, "New width after Down Tweak")
+ field(INPA,"$(P)$(R)WidthTweakG NPP NMS")
+ field(INPB,"$(P)$(R)UserWidthG NPP NMS")
+ field(CALC,"B-A")
+ field(OUT, "$(P)$(R)UserWidthG PP NMS")
+}
+record(calcout,"$(P)$(R)WidthTweakUpG") {
+ field(DESC, "New width after Up Tweak")
+ field(INPA,"$(P)$(R)WidthTweakG NPP NMS")
+ field(INPB,"$(P)$(R)UserWidthG NPP NMS")
+ field(CALC,"B+A")
+ field(OUT, "$(P)$(R)UserWidthG PP NMS")
+}
+
+record(ao, "$(P)$(R)DelayG") {
+ field(DESC, "Time f. start T0 to 1.edge")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPDelay(7) $(BUS)")
+ field(PREC, "8")
+ field(DRVL, "-999.99999999975")
+ field(DRVH, "999.99999999975")
+ field(EGU, "sec")
+}
+
+record(ao, "$(P)$(R)UserDelayG") {
+ field(DESC, "User-Delay of the pulse")
+ field(OUT, "$(P)$(R)Delay2BaseUnitG PP NMS")
+ field(PREC, "8")
+ field(DRVL, "-999999.99999975")
+ field(DRVH, "999999.99999975")
+ field(EGU, "ms")
+}
+record(calcout,"$(P)$(R)Delay2BaseUnitG") {
+ field(DESC, "Convert Delay to base unit")
+ field(INPA,"$(P)$(R)UserDelayG NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A/B")
+ field(OUT, "$(P)$(R)DelayG PP NMS")
+}
+record(calcout,"$(P)$(R)Delay2UserUnitG") {
+ field(DESC, "Convert Delay to user unit")
+ field(PINI, "YES")
+ field(INPA,"$(P)$(R)DelayG NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A*B")
+ field(OUT, "$(P)$(R)UserDelayG NPP NMS")
+}
+record(ao,"$(P)$(R)DelayTweakG") {
+ field(DESC, "Step of Up/Down Delay Tweak")
+ field(VAL, "1e-1")
+ field(PREC,"6")
+}
+record(calcout,"$(P)$(R)DelayTweakDownG") {
+ field(DESC, "New delay after Down Tweak")
+ field(INPA,"$(P)$(R)DelayTweakG NPP NMS")
+ field(INPB,"$(P)$(R)UserDelayG NPP NMS")
+ field(CALC,"B-A")
+ field(OUT, "$(P)$(R)UserDelayG PP NMS")
+}
+record(calcout,"$(P)$(R)DelayTweakUpG") {
+ field(DESC, "New delay after Up Tweak")
+ field(INPA,"$(P)$(R)DelayTweakG NPP NMS")
+ field(INPB,"$(P)$(R)UserDelayG NPP NMS")
+ field(CALC,"B+A")
+ field(OUT, "$(P)$(R)UserDelayG PP NMS")
+}
+
+record(mbbo, "$(P)$(R)SyncG") {
+ field(DESC, "Selects the Sync source")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPSync(7) $(BUS)")
+ field(ZRST, "T0")
+ field(ZRVL, "0")
+ field(ONST, "A")
+ field(ONVL, "1")
+ field(TWST, "B")
+ field(TWVL, "2")
+ field(THST, "C")
+ field(THVL, "3")
+ field(FRST, "D")
+ field(FRVL, "4")
+ field(FVST, "E")
+ field(FVVL, "5")
+ field(SXST, "F")
+ field(SXVL, "6")
+ field(SVST, "Error")
+ field(SVVL, "7")
+ field(EIST, "H")
+ field(EIVL, "8")
+}
+
+record(ao, "$(P)$(R)MultiplexerG") {
+ field(DESC, "Select which timers are on")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPMux(7) $(BUS)")
+ field(DRVL, "0")
+ field(DRVH, "255")
+}
+
+record(mbbo, "$(P)$(R)PolarityG") {
+ field(DESC, "Set polarity of the pulse")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPolarity(7) $(BUS)")
+ field(ZRST, "Normal")
+ field(ZRVL, "0")
+ field(ONST, "Complement")
+ field(ONVL, "1")
+ field(TWST, "Inverted")
+ field(TWVL, "2")
+}
+
+record(mbbo, "$(P)$(R)OutputModeG") {
+ field(DESC, "Select Amplitude mode")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setOutputMode(7) $(BUS)")
+ field(ZRST, "TTL")
+ field(ZRVL, "0")
+ field(ONST, "Adjustable")
+ field(ONVL, "1")
+}
+
+record(ao, "$(P)$(R)OutputAmplitudeG") {
+ field(DESC, "Set adjustable output level")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setOutputAmplitude(7) $(BUS)")
+ field(PREC, "3")
+ field(DRVL, "2")
+ field(DRVH, "20")
+ field(EGU, "V")
+}
+
+record(mbbo, "$(P)$(R)GateModeG") {
+ field(DESC, "Sets Channel Gate Mode")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPGate(7) $(BUS)")
+ field(ZRST, "Disable")
+ field(ZRVL, "0")
+ field(ONST, "Pulse inhibit")
+ field(ONVL, "1")
+ field(TWST, "Output inhibit")
+ field(TWVL, "2")
+}
+
+record(mbbo, "$(P)$(R)GateLogicG") {
+ field(DESC, "Set Chan. Gate Logic Level")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPGateLogic(7) $(BUS)")
+ field(ZRST, "Active low")
+ field(ZRVL, "0")
+ field(ONST, "Active high")
+ field(ONVL, "1")
+}
+
+#============================== Channel H ==============================
+
+record(bo, "$(P)$(R)StateH") {
+ field(DESC, "En-/Disable output pulse H")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPState(8) $(BUS)")
+ field(ZNAM, "Off")
+ field(ONAM, "On")
+}
+
+record(ao, "$(P)$(R)WidthH") {
+ field(DESC, "Width of the output pulse")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPWidth(8) $(BUS)")
+ field(PREC, "8")
+ field(DRVL, "10e-9")
+ field(DRVH, "999.99999999975")
+ field(EGU, "sec")
+}
+
+record(ao, "$(P)$(R)UserWidthH") {
+ field(DESC, "User-Width of the pulse")
+ field(OUT, "$(P)$(R)Width2BaseUnitH PP NMS")
+ field(PREC, "8")
+ field(DRVL, "10e-6")
+ field(DRVH, "999999.99999975")
+ field(EGU, "ms")
+}
+record(calcout,"$(P)$(R)Width2BaseUnitH") {
+ field(DESC, "Convert Width to base unit")
+ field(INPA,"$(P)$(R)UserWidthH NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A/B")
+ field(OUT, "$(P)$(R)WidthH PP NMS")
+}
+record(calcout,"$(P)$(R)Width2UserUnitH") {
+ field(DESC, "Convert Width to user unit")
+ field(PINI, "YES")
+ field(INPA,"$(P)$(R)WidthH NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A*B")
+ field(OUT, "$(P)$(R)UserWidthH NPP NMS")
+}
+record(ao,"$(P)$(R)WidthTweakH") {
+ field(DESC, "Step of Up/Down Width Tweak")
+ field(VAL, "1e-1")
+ field(PREC,"6")
+}
+record(calcout,"$(P)$(R)WidthTweakDownH") {
+ field(DESC, "New width after Down Tweak")
+ field(INPA,"$(P)$(R)WidthTweakH NPP NMS")
+ field(INPB,"$(P)$(R)UserWidthH NPP NMS")
+ field(CALC,"B-A")
+ field(OUT, "$(P)$(R)UserWidthH PP NMS")
+}
+record(calcout,"$(P)$(R)WidthTweakUpH") {
+ field(DESC, "New width after Up Tweak")
+ field(INPA,"$(P)$(R)WidthTweakH NPP NMS")
+ field(INPB,"$(P)$(R)UserWidthH NPP NMS")
+ field(CALC,"B+A")
+ field(OUT, "$(P)$(R)UserWidthH PP NMS")
+}
+
+record(ao, "$(P)$(R)DelayH") {
+ field(DESC, "Time f. start T0 to 1.edge")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPDelay(8) $(BUS)")
+ field(PREC, "8")
+ field(DRVL, "-999.99999999975")
+ field(DRVH, "999.99999999975")
+ field(EGU, "sec")
+}
+
+record(ao, "$(P)$(R)UserDelayH") {
+ field(DESC, "User-Delay of the pulse")
+ field(OUT, "$(P)$(R)Delay2BaseUnitH PP NMS")
+ field(PREC, "8")
+ field(DRVL, "-999999.99999975")
+ field(DRVH, "999999.99999975")
+ field(EGU, "ms")
+}
+record(calcout,"$(P)$(R)Delay2BaseUnitH") {
+ field(DESC, "Convert Delay to base unit")
+ field(INPA,"$(P)$(R)UserDelayH NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A/B")
+ field(OUT, "$(P)$(R)DelayH PP NMS")
+}
+record(calcout,"$(P)$(R)Delay2UserUnitH") {
+ field(DESC, "Convert Delay to user unit")
+ field(PINI, "YES")
+ field(INPA,"$(P)$(R)DelayH NPP NMS")
+ field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
+ field(CALC,"A*B")
+ field(OUT, "$(P)$(R)UserDelayH NPP NMS")
+}
+record(ao,"$(P)$(R)DelayTweakH") {
+ field(DESC, "Step of Up/Down Delay Tweak")
+ field(VAL, "1e-1")
+ field(PREC,"6")
+}
+record(calcout,"$(P)$(R)DelayTweakDownH") {
+ field(DESC, "New delay after Down Tweak")
+ field(INPA,"$(P)$(R)DelayTweakH NPP NMS")
+ field(INPB,"$(P)$(R)UserDelayH NPP NMS")
+ field(CALC,"B-A")
+ field(OUT, "$(P)$(R)UserDelayH PP NMS")
+}
+record(calcout,"$(P)$(R)DelayTweakUpH") {
+ field(DESC, "New delay after Up Tweak")
+ field(INPA,"$(P)$(R)DelayTweakH NPP NMS")
+ field(INPB,"$(P)$(R)UserDelayH NPP NMS")
+ field(CALC,"B+A")
+ field(OUT, "$(P)$(R)UserDelayH PP NMS")
+}
+
+record(mbbo, "$(P)$(R)SyncH") {
+ field(DESC, "Selects the Sync source")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPSync(8) $(BUS)")
+ field(ZRST, "T0")
+ field(ZRVL, "0")
+ field(ONST, "A")
+ field(ONVL, "1")
+ field(TWST, "B")
+ field(TWVL, "2")
+ field(THST, "C")
+ field(THVL, "3")
+ field(FRST, "D")
+ field(FRVL, "4")
+ field(FVST, "E")
+ field(FVVL, "5")
+ field(SXST, "F")
+ field(SXVL, "6")
+ field(SVST, "G")
+ field(SVVL, "7")
+ field(EIST, "Error")
+ field(EIVL, "8")
+}
+
+record(ao, "$(P)$(R)MultiplexerH") {
+ field(DESC, "Select which timers are on")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPMux(8) $(BUS)")
+ field(DRVL, "0")
+ field(DRVH, "255")
+}
+
+record(mbbo, "$(P)$(R)PolarityH") {
+ field(DESC, "Set polarity of the pulse")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPolarity(8) $(BUS)")
+ field(ZRST, "Normal")
+ field(ZRVL, "0")
+ field(ONST, "Complement")
+ field(ONVL, "1")
+ field(TWST, "Inverted")
+ field(TWVL, "2")
+}
+
+record(mbbo, "$(P)$(R)OutputModeH") {
+ field(DESC, "Select Amplitude mode")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setOutputMode(8) $(BUS)")
+ field(ZRST, "TTL")
+ field(ZRVL, "0")
+ field(ONST, "Adjustable")
+ field(ONVL, "1")
+}
+
+record(ao, "$(P)$(R)OutputAmplitudeH") {
+ field(DESC, "Set adjustable output level")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setOutputAmplitude(8) $(BUS)")
+ field(PREC, "3")
+ field(DRVL, "2")
+ field(DRVH, "20")
+ field(EGU, "V")
+}
+
+record(mbbo, "$(P)$(R)GateModeH") {
+ field(DESC, "Sets Channel Gate Mode")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPGate(8) $(BUS)")
+ field(ZRST, "Disable")
+ field(ZRVL, "0")
+ field(ONST, "Pulse inhibit")
+ field(ONVL, "1")
+ field(TWST, "Output inhibit")
+ field(TWVL, "2")
+}
+
+record(mbbo, "$(P)$(R)GateLogicH") {
+ field(DESC, "Set Chan. Gate Logic Level")
+ field(DTYP, "stream")
+ field(OUT, "@pg9520.proto setPGateLogic(8) $(BUS)")
+ field(ZRST, "Active low")
+ field(ZRVL, "0")
+ field(ONST, "Active high")
+ field(ONVL, "1")
+}