Add "Macro Pulse length" to pg9520.
# pg9520.db Uwe Hoppe Fritz-Haber-Institut der MPG 1/2013
#=========================== Macro Pulse length ========================
# 3/2014 Uwe Hoppe
record(ao,"$(P)$(R)MPL"){
field(DESC,"Macro Pulse length")
field(DTYP,"Soft Channel")
field(VAL,0.0)
field(PREC, "8")
field(EGU, "us")
field(FLNK,"$(P)$(R)Sum")
}
record(ao,"$(P)$(R)PLOffset"){
field(DESC,"Pulse Length Offset")
field(DTYP,"Soft Channel")
field(VAL,0.0405)
field(PREC, "8")
field(FLNK,"$(P)$(R)Sum")
}
record(calcout,"$(P)$(R)Sum"){
field(INPA,"$(P)$(R)MPL")
field(INPB,"$(P)$(R)PLOffset")
field(CALC,"A / 1000. + B")
field(OUT, "$(P)$(R)UserDelayD PP NMS")
}
record(calcout,"$(P)$(R)MPLinit"){
field(INPA,"$(P)$(R)UserDelayD")
field(INPB,"$(P)$(R)PLOffset")
field(CALC,"(A - B) * 1000.")
field(PINI, "YES")
field(OUT, "$(P)$(R)MPL PP NMS")
}
#=============================== Common ===============================
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(mbbo, "$(P)$(R)GateEdge") {
field(DESC, "Select which edge to use")
field(DTYP, "stream")
field(OUT, "@pg9520.proto setGateEdge $(BUS)")
field(ZRST, "Rising")
field(ZRVL, "0")
field(ONST, "Falling")
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(mbbo, "$(P)$(R)TriggerMode") {
field(DESC, "Sets Global Trigger Mode")
field(DTYP, "stream")
field(OUT, "@pg9520.proto setTriggerMode $(BUS)")
field(ZRST, "Disable")
field(ZRVL, "0")
field(ONST, "Trigger")
field(ONVL, "1")
}
record(mbbo, "$(P)$(R)TriggerEdge") {
field(DESC, "Select which edge to trigger")
field(DTYP, "stream")
field(OUT, "@pg9520.proto setTriggerEdge $(BUS)")
field(ZRST, "Rising")
field(ZRVL, "0")
field(ONST, "Falling")
field(ONVL, "1")
}
record(ao, "$(P)$(R)TriggerLevel") {
field(DESC, "Sets the trigger threshold")
field(DTYP, "stream")
field(OUT, "@pg9520.proto setTriggerLevel $(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")
}