pg9520/db/pg9520.db
changeset 1 0ba93e52269a
child 2 c68ad80babeb
equal deleted inserted replaced
0:be4f3ba220be 1:0ba93e52269a
       
     1 # pg9520.db   Uwe Hoppe   Fritz-Haber-Institut der MPG   1/2013
       
     2 
       
     3 record(stringin, "$(P)$(R)GetVersion") {
       
     4     field(DESC, "Get Contr. Firmware Version")
       
     5     field(DTYP, "stream")
       
     6     field(INP, "@pg9520.proto getVersion $(BUS)")
       
     7 }
       
     8 
       
     9 record(ao, "$(P)$(R)Recall") {
       
    10     field(DESC, "Restores the state of PG")
       
    11     field(DTYP, "stream")
       
    12     field(OUT, "@pg9520.proto recall $(BUS)")
       
    13     field(DRVL, "0")
       
    14     field(DRVH, "12")
       
    15 }
       
    16 
       
    17 record(ao, "$(P)$(R)Save") {
       
    18     field(DESC, "Store current state of PG")
       
    19     field(DTYP, "stream")
       
    20     field(OUT, "@pg9520.proto save $(BUS)")
       
    21     field(DRVL, "1")
       
    22     field(DRVH, "12")
       
    23 }
       
    24 
       
    25 record(bo, "$(P)$(R)State") {
       
    26     field(DESC, "En-/Disables all channels")
       
    27     field(DTYP, "stream")
       
    28     field(OUT,  "@pg9520.proto setState $(BUS)")
       
    29     field(ZNAM, "Off")
       
    30     field(ONAM, "On")
       
    31 }
       
    32 
       
    33 record(bi, "$(P)$(R)GetState") {
       
    34     field(DESC, "Get state of all channels")
       
    35     field(DTYP, "stream")
       
    36     field(INP,  "@pg9520.proto getState $(BUS)")
       
    37     field(ZNAM, "Off")
       
    38     field(ONAM, "On")
       
    39     field(SCAN, "2 second")
       
    40 # Some commands can stop the generator
       
    41     field(FLNK, "$(P)$(R)CheckState")
       
    42 }
       
    43 
       
    44 record(calcout,"$(P)$(R)CheckState") {
       
    45     field(DESC, "Update state button")
       
    46     field(OOPT, "On Change")
       
    47     field(INPA,"$(P)$(R)GetState NPP NMS")
       
    48     field(CALC,"A")
       
    49     field(OUT, "$(P)$(R)State PP NMS")
       
    50 }
       
    51 
       
    52 record(ao, "$(P)$(R)Period") {
       
    53     field(DESC, "Sets the T0 period")
       
    54     field(DTYP, "stream")
       
    55     field(OUT,  "@pg9520.proto setPeriod $(BUS)")
       
    56     field(PREC, "4")
       
    57     field(DRVL, "100e-9")
       
    58     field(DRVH, "5000")
       
    59     field(EGU,  "sec")
       
    60 }
       
    61 
       
    62 record(ao, "$(P)$(R)UserPeriod") {
       
    63     field(DESC, "Sets the T0 user period")
       
    64     field(OUT, "$(P)$(R)Period2BaseUnit PP NMS")
       
    65     field(PREC, "6")
       
    66     field(DRVL, "100e-6")
       
    67     field(DRVH, "5000000")
       
    68     field(EGU,  "ms")
       
    69 }
       
    70 record(calcout,"$(P)$(R)Period2BaseUnit") {
       
    71     field(DESC, "Convert Period to base unit")
       
    72     field(INPA,"$(P)$(R)UserPeriod NPP NMS")
       
    73     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
    74     field(CALC,"A/B")
       
    75     field(OUT, "$(P)$(R)Period PP NMS")
       
    76 }
       
    77 record(calcout,"$(P)$(R)Period2UserUnit") {
       
    78     field(DESC, "Convert Period to user unit")
       
    79     field(PINI, "YES")
       
    80     field(INPA,"$(P)$(R)Period NPP NMS")
       
    81     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
    82     field(CALC,"A*B")
       
    83     field(OUT, "$(P)$(R)UserPeriod NPP NMS")
       
    84 }
       
    85 record(ao,"$(P)$(R)PeriodTweak") {
       
    86     field(DESC, "Step of Up/Down PeriodTweak")
       
    87     field(VAL, "1e0")
       
    88     field(PREC,"5")
       
    89 }
       
    90 record(calcout,"$(P)$(R)PeriodTweakDown") {
       
    91     field(DESC, "New period after Down Tweak")
       
    92     field(INPA,"$(P)$(R)PeriodTweak NPP NMS")
       
    93     field(INPB,"$(P)$(R)UserPeriod NPP NMS")
       
    94     field(CALC,"B-A")
       
    95     field(OUT, "$(P)$(R)UserPeriod PP NMS")
       
    96 }
       
    97 record(calcout,"$(P)$(R)PeriodTweakUp") {
       
    98     field(DESC, "New period after Up Tweak")
       
    99     field(INPA,"$(P)$(R)PeriodTweak NPP NMS")
       
   100     field(INPB,"$(P)$(R)UserPeriod NPP NMS")
       
   101     field(CALC,"B+A")
       
   102     field(OUT, "$(P)$(R)UserPeriod PP NMS")
       
   103 }
       
   104 
       
   105 record(mbbo, "$(P)$(R)Mode") {
       
   106     field(DESC, "Sets the T0 mode")
       
   107     field(DTYP, "stream")
       
   108     field(OUT,  "@pg9520.proto setMode $(BUS)")
       
   109     field(ZRST, "Normal")
       
   110     field(ZRVL, "0")
       
   111     field(ONST, "Single")
       
   112     field(ONVL, "1")
       
   113     field(TWST, "Burst")
       
   114     field(TWVL, "2")
       
   115     field(THST, "Duty Cycle")
       
   116     field(THVL, "3")
       
   117 }
       
   118 
       
   119 record(mbbo, "$(P)$(R)GateMode") {
       
   120     field(DESC, "Sets Global Gate Mode")
       
   121     field(DTYP, "stream")
       
   122     field(OUT,  "@pg9520.proto setGateMode $(BUS)")
       
   123     field(ZRST, "Disable")
       
   124     field(ZRVL, "0")
       
   125     field(ONST, "Pulse inhibit")
       
   126     field(ONVL, "1")
       
   127     field(TWST, "Output inhibit")
       
   128     field(TWVL, "2")
       
   129     field(THST, "Channel")
       
   130     field(THVL, "3")
       
   131 }
       
   132 
       
   133 record(mbbo, "$(P)$(R)GateLogic") {
       
   134     field(DESC, "Sets Chan. Gate Logic Level")
       
   135     field(DTYP, "stream")
       
   136     field(OUT,  "@pg9520.proto setGateLogic $(BUS)")
       
   137     field(ZRST, "Active low")
       
   138     field(ZRVL, "0")
       
   139     field(ONST, "Active high")
       
   140     field(ONVL, "1")
       
   141 }
       
   142 
       
   143 record(ao, "$(P)$(R)GateLevel") {
       
   144     field(DESC, "Sets the gate threshold")
       
   145     field(DTYP, "stream")
       
   146     field(OUT,  "@pg9520.proto setGateLevel $(BUS)")
       
   147     field(PREC, "3")
       
   148     field(DRVL, "0.2")
       
   149     field(DRVH, "15")
       
   150     field(EGU,  "V")
       
   151 }
       
   152 
       
   153 record(ao,"$(P)$(R)TimeUnitCF") {
       
   154     field(DESC, "ms")
       
   155     field(VAL, "1000.0")
       
   156 }
       
   157 
       
   158 #============================== Channel A ==============================
       
   159 
       
   160 record(bo, "$(P)$(R)StateA") {
       
   161     field(DESC, "En-/Disable output pulse A")
       
   162     field(DTYP, "stream")
       
   163     field(OUT,  "@pg9520.proto setPState(1) $(BUS)")
       
   164     field(ZNAM, "Off")
       
   165     field(ONAM, "On")
       
   166 }
       
   167 
       
   168 record(ao, "$(P)$(R)WidthA") {
       
   169     field(DESC, "Width of the output pulse")
       
   170     field(DTYP, "stream")
       
   171     field(OUT,  "@pg9520.proto setPWidth(1) $(BUS)")
       
   172     field(PREC, "8")
       
   173     field(DRVL, "10e-9")
       
   174     field(DRVH, "999.99999999975")
       
   175     field(EGU,  "sec")
       
   176 }
       
   177 
       
   178 record(ao, "$(P)$(R)UserWidthA") {
       
   179     field(DESC, "User-Width of the pulse")
       
   180     field(OUT, "$(P)$(R)Width2BaseUnitA PP NMS")
       
   181     field(PREC, "8")
       
   182     field(DRVL, "10e-6")
       
   183     field(DRVH, "999999.99999975")
       
   184     field(EGU,  "ms")
       
   185 }
       
   186 record(calcout,"$(P)$(R)Width2BaseUnitA") {
       
   187     field(DESC, "Convert Width to base unit")
       
   188     field(INPA,"$(P)$(R)UserWidthA NPP NMS")
       
   189     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
   190     field(CALC,"A/B")
       
   191     field(OUT, "$(P)$(R)WidthA PP NMS")
       
   192 }
       
   193 record(calcout,"$(P)$(R)Width2UserUnitA") {
       
   194     field(DESC, "Convert Width to user unit")
       
   195     field(PINI, "YES")
       
   196     field(INPA,"$(P)$(R)WidthA NPP NMS")
       
   197     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
   198     field(CALC,"A*B")
       
   199     field(OUT, "$(P)$(R)UserWidthA NPP NMS")
       
   200 }
       
   201 record(ao,"$(P)$(R)WidthTweakA") {
       
   202     field(DESC, "Step of Up/Down Width Tweak")
       
   203     field(VAL, "1e-1")
       
   204     field(PREC,"6")
       
   205 }
       
   206 record(calcout,"$(P)$(R)WidthTweakDownA") {
       
   207     field(DESC, "New width after Down Tweak")
       
   208     field(INPA,"$(P)$(R)WidthTweakA NPP NMS")
       
   209     field(INPB,"$(P)$(R)UserWidthA NPP NMS")
       
   210     field(CALC,"B-A")
       
   211     field(OUT, "$(P)$(R)UserWidthA PP NMS")
       
   212 }
       
   213 record(calcout,"$(P)$(R)WidthTweakUpA") {
       
   214     field(DESC, "New width after Up Tweak")
       
   215     field(INPA,"$(P)$(R)WidthTweakA NPP NMS")
       
   216     field(INPB,"$(P)$(R)UserWidthA NPP NMS")
       
   217     field(CALC,"B+A")
       
   218     field(OUT, "$(P)$(R)UserWidthA PP NMS")
       
   219 }
       
   220 
       
   221 record(ao, "$(P)$(R)DelayA") {
       
   222     field(DESC, "Time f. start T0 to 1.edge")
       
   223     field(DTYP, "stream")
       
   224     field(OUT,  "@pg9520.proto setPDelay(1) $(BUS)")
       
   225     field(PREC, "8")
       
   226     field(DRVL, "-999.99999999975")
       
   227     field(DRVH, "999.99999999975")
       
   228     field(EGU,  "sec")
       
   229 }
       
   230 
       
   231 record(ao, "$(P)$(R)UserDelayA") {
       
   232     field(DESC, "User-Delay of the pulse")
       
   233     field(OUT, "$(P)$(R)Delay2BaseUnitA PP NMS")
       
   234     field(PREC, "8")
       
   235     field(DRVL, "-999999.99999975")
       
   236     field(DRVH, "999999.99999975")
       
   237     field(EGU,  "ms")
       
   238 }
       
   239 record(calcout,"$(P)$(R)Delay2BaseUnitA") {
       
   240     field(DESC, "Convert Delay to base unit")
       
   241     field(INPA,"$(P)$(R)UserDelayA NPP NMS")
       
   242     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
   243     field(CALC,"A/B")
       
   244     field(OUT, "$(P)$(R)DelayA PP NMS")
       
   245 }
       
   246 record(calcout,"$(P)$(R)Delay2UserUnitA") {
       
   247     field(DESC, "Convert Delay to user unit")
       
   248     field(PINI, "YES")
       
   249     field(INPA,"$(P)$(R)DelayA NPP NMS")
       
   250     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
   251     field(CALC,"A*B")
       
   252     field(OUT, "$(P)$(R)UserDelayA NPP NMS")
       
   253 }
       
   254 record(ao,"$(P)$(R)DelayTweakA") {
       
   255     field(DESC, "Step of Up/Down Delay Tweak")
       
   256     field(VAL, "1e-1")
       
   257     field(PREC,"6")
       
   258 }
       
   259 record(calcout,"$(P)$(R)DelayTweakDownA") {
       
   260     field(DESC, "New delay after Down Tweak")
       
   261     field(INPA,"$(P)$(R)DelayTweakA NPP NMS")
       
   262     field(INPB,"$(P)$(R)UserDelayA NPP NMS")
       
   263     field(CALC,"B-A")
       
   264     field(OUT, "$(P)$(R)UserDelayA PP NMS")
       
   265 }
       
   266 record(calcout,"$(P)$(R)DelayTweakUpA") {
       
   267     field(DESC, "New delay after Up Tweak")
       
   268     field(INPA,"$(P)$(R)DelayTweakA NPP NMS")
       
   269     field(INPB,"$(P)$(R)UserDelayA NPP NMS")
       
   270     field(CALC,"B+A")
       
   271     field(OUT, "$(P)$(R)UserDelayA PP NMS")
       
   272 }
       
   273 
       
   274 record(mbbo, "$(P)$(R)SyncA") {
       
   275     field(DESC, "Selects the Sync source")
       
   276     field(DTYP, "stream")
       
   277     field(OUT,  "@pg9520.proto setPSync(1) $(BUS)")
       
   278     field(ZRST, "T0")
       
   279     field(ZRVL, "0")
       
   280     field(ONST, "Error")
       
   281     field(ONVL, "1")
       
   282     field(TWST, "B")
       
   283     field(TWVL, "2")
       
   284     field(THST, "C")
       
   285     field(THVL, "3")
       
   286     field(FRST, "D")
       
   287     field(FRVL, "4")
       
   288     field(FVST, "E")
       
   289     field(FVVL, "5")
       
   290     field(SXST, "F")
       
   291     field(SXVL, "6")
       
   292     field(SVST, "G")
       
   293     field(SVVL, "7")
       
   294     field(EIST, "H")
       
   295     field(EIVL, "8")
       
   296 }
       
   297 
       
   298 record(ao, "$(P)$(R)MultiplexerA") {
       
   299     field(DESC, "Select which timers are on")
       
   300     field(DTYP, "stream")
       
   301     field(OUT,  "@pg9520.proto setPMux(1) $(BUS)")
       
   302     field(DRVL, "0")
       
   303     field(DRVH, "255")
       
   304 }
       
   305 
       
   306 record(mbbo, "$(P)$(R)PolarityA") {
       
   307     field(DESC, "Set polarity of the pulse")
       
   308     field(DTYP, "stream")
       
   309     field(OUT,  "@pg9520.proto setPolarity(1) $(BUS)")
       
   310     field(ZRST, "Normal")
       
   311     field(ZRVL, "0")
       
   312     field(ONST, "Complement")
       
   313     field(ONVL, "1")
       
   314     field(TWST, "Inverted")
       
   315     field(TWVL, "2")
       
   316 }
       
   317 
       
   318 record(mbbo, "$(P)$(R)OutputModeA") {
       
   319     field(DESC, "Select Amplitude mode")
       
   320     field(DTYP, "stream")
       
   321     field(OUT,  "@pg9520.proto setOutputMode(1) $(BUS)")
       
   322     field(ZRST, "TTL")
       
   323     field(ZRVL, "0")
       
   324     field(ONST, "Adjustable")
       
   325     field(ONVL, "1")
       
   326 }
       
   327 
       
   328 record(ao, "$(P)$(R)OutputAmplitudeA") {
       
   329     field(DESC, "Set adjustable output level")
       
   330     field(DTYP, "stream")
       
   331     field(OUT,  "@pg9520.proto setOutputAmplitude(1) $(BUS)")
       
   332     field(PREC, "3")
       
   333     field(DRVL, "2")
       
   334     field(DRVH, "20")
       
   335     field(EGU,  "V")
       
   336 }
       
   337 
       
   338 record(mbbo, "$(P)$(R)GateModeA") {
       
   339     field(DESC, "Sets Channel Gate Mode")
       
   340     field(DTYP, "stream")
       
   341     field(OUT,  "@pg9520.proto setPGate(1) $(BUS)")
       
   342     field(ZRST, "Disable")
       
   343     field(ZRVL, "0")
       
   344     field(ONST, "Pulse inhibit")
       
   345     field(ONVL, "1")
       
   346     field(TWST, "Output inhibit")
       
   347     field(TWVL, "2")
       
   348 }
       
   349 
       
   350 record(mbbo, "$(P)$(R)GateLogicA") {
       
   351     field(DESC, "Set Chan. Gate Logic Level")
       
   352     field(DTYP, "stream")
       
   353     field(OUT,  "@pg9520.proto setPGateLogic(1) $(BUS)")
       
   354     field(ZRST, "Active low")
       
   355     field(ZRVL, "0")
       
   356     field(ONST, "Active high")
       
   357     field(ONVL, "1")
       
   358 }
       
   359 
       
   360 
       
   361 record(mbbo, "$(P)$(R)ChannelModeA") {
       
   362     field(DESC, "Set Chan. pulse series Mode")
       
   363     field(DTYP, "stream")
       
   364     field(OUT,  "@pg9520.proto setPCMode(1) $(BUS)")
       
   365     field(ZRST, "Normal")
       
   366     field(ZRVL, "0")
       
   367     field(ONST, "Single")
       
   368     field(ONVL, "1")
       
   369     field(TWST, "Burst")
       
   370     field(TWVL, "2")
       
   371 #    field(THST, "D-Cycle")
       
   372 #    field(THVL, "3")
       
   373 }
       
   374 
       
   375 record(ao, "$(P)$(R)BurstCounterA") {
       
   376     field(DESC, "Set no. of pulses in Burst")
       
   377     field(DTYP, "stream")
       
   378     field(OUT,  "@pg9520.proto setPBCounter(1) $(BUS)")
       
   379 #    field(PREC, "8")
       
   380     field(DRVL, "1")
       
   381     field(DRVH, "9999999")
       
   382 }
       
   383 
       
   384 
       
   385 #============================== Channel B ==============================
       
   386 
       
   387 record(bo, "$(P)$(R)StateB") {
       
   388     field(DESC, "En-/Disable output pulse B")
       
   389     field(DTYP, "stream")
       
   390     field(OUT,  "@pg9520.proto setPState(2) $(BUS)")
       
   391     field(ZNAM, "Off")
       
   392     field(ONAM, "On")
       
   393 }
       
   394 
       
   395 record(ao, "$(P)$(R)WidthB") {
       
   396     field(DESC, "Width of the output pulse")
       
   397     field(DTYP, "stream")
       
   398     field(OUT,  "@pg9520.proto setPWidth(2) $(BUS)")
       
   399     field(PREC, "8")
       
   400     field(DRVL, "10e-9")
       
   401     field(DRVH, "999.99999999975")
       
   402     field(EGU,  "sec")
       
   403 }
       
   404 
       
   405 record(ao, "$(P)$(R)UserWidthB") {
       
   406     field(DESC, "User-Width of the pulse")
       
   407     field(OUT, "$(P)$(R)Width2BaseUnitB PP NMS")
       
   408     field(PREC, "8")
       
   409     field(DRVL, "10e-6")
       
   410     field(DRVH, "999999.99999975")
       
   411     field(EGU,  "ms")
       
   412 }
       
   413 record(calcout,"$(P)$(R)Width2BaseUnitB") {
       
   414     field(DESC, "Convert Width to base unit")
       
   415     field(INPA,"$(P)$(R)UserWidthB NPP NMS")
       
   416     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
   417     field(CALC,"A/B")
       
   418     field(OUT, "$(P)$(R)WidthB PP NMS")
       
   419 }
       
   420 record(calcout,"$(P)$(R)Width2UserUnitB") {
       
   421     field(DESC, "Convert Width to user unit")
       
   422     field(PINI, "YES")
       
   423     field(INPA,"$(P)$(R)WidthB NPP NMS")
       
   424     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
   425     field(CALC,"A*B")
       
   426     field(OUT, "$(P)$(R)UserWidthB NPP NMS")
       
   427 }
       
   428 record(ao,"$(P)$(R)WidthTweakB") {
       
   429     field(DESC, "Step of Up/Down Width Tweak")
       
   430     field(VAL, "1e-1")
       
   431     field(PREC,"6")
       
   432 }
       
   433 record(calcout,"$(P)$(R)WidthTweakDownB") {
       
   434     field(DESC, "New width after Down Tweak")
       
   435     field(INPA,"$(P)$(R)WidthTweakB NPP NMS")
       
   436     field(INPB,"$(P)$(R)UserWidthB NPP NMS")
       
   437     field(CALC,"B-A")
       
   438     field(OUT, "$(P)$(R)UserWidthB PP NMS")
       
   439 }
       
   440 record(calcout,"$(P)$(R)WidthTweakUpB") {
       
   441     field(DESC, "New width after Up Tweak")
       
   442     field(INPA,"$(P)$(R)WidthTweakB NPP NMS")
       
   443     field(INPB,"$(P)$(R)UserWidthB NPP NMS")
       
   444     field(CALC,"B+A")
       
   445     field(OUT, "$(P)$(R)UserWidthB PP NMS")
       
   446 }
       
   447 
       
   448 record(ao, "$(P)$(R)DelayB") {
       
   449     field(DESC, "Time f. start T0 to 1.edge")
       
   450     field(DTYP, "stream")
       
   451     field(OUT,  "@pg9520.proto setPDelay(2) $(BUS)")
       
   452     field(PREC, "8")
       
   453     field(DRVL, "-999.99999999975")
       
   454     field(DRVH, "999.99999999975")
       
   455     field(EGU,  "sec")
       
   456 }
       
   457 
       
   458 record(ao, "$(P)$(R)UserDelayB") {
       
   459     field(DESC, "User-Delay of the pulse")
       
   460     field(OUT, "$(P)$(R)Delay2BaseUnitB PP NMS")
       
   461     field(PREC, "8")
       
   462     field(DRVL, "-999999.99999975")
       
   463     field(DRVH, "999999.99999975")
       
   464     field(EGU,  "ms")
       
   465 }
       
   466 record(calcout,"$(P)$(R)Delay2BaseUnitB") {
       
   467     field(DESC, "Convert Delay to base unit")
       
   468     field(INPA,"$(P)$(R)UserDelayB NPP NMS")
       
   469     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
   470     field(CALC,"A/B")
       
   471     field(OUT, "$(P)$(R)DelayB PP NMS")
       
   472 }
       
   473 record(calcout,"$(P)$(R)Delay2UserUnitB") {
       
   474     field(DESC, "Convert Delay to user unit")
       
   475     field(PINI, "YES")
       
   476     field(INPA,"$(P)$(R)DelayB NPP NMS")
       
   477     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
   478     field(CALC,"A*B")
       
   479     field(OUT, "$(P)$(R)UserDelayB NPP NMS")
       
   480 }
       
   481 record(ao,"$(P)$(R)DelayTweakB") {
       
   482     field(DESC, "Step of Up/Down Delay Tweak")
       
   483     field(VAL, "1e-1")
       
   484     field(PREC,"6")
       
   485 }
       
   486 record(calcout,"$(P)$(R)DelayTweakDownB") {
       
   487     field(DESC, "New delay after Down Tweak")
       
   488     field(INPA,"$(P)$(R)DelayTweakB NPP NMS")
       
   489     field(INPB,"$(P)$(R)UserDelayB NPP NMS")
       
   490     field(CALC,"B-A")
       
   491     field(OUT, "$(P)$(R)UserDelayB PP NMS")
       
   492 }
       
   493 record(calcout,"$(P)$(R)DelayTweakUpB") {
       
   494     field(DESC, "New delay after Up Tweak")
       
   495     field(INPA,"$(P)$(R)DelayTweakB NPP NMS")
       
   496     field(INPB,"$(P)$(R)UserDelayB NPP NMS")
       
   497     field(CALC,"B+A")
       
   498     field(OUT, "$(P)$(R)UserDelayB PP NMS")
       
   499 }
       
   500 
       
   501 record(mbbo, "$(P)$(R)SyncB") {
       
   502     field(DESC, "Selects the Sync source")
       
   503     field(DTYP, "stream")
       
   504     field(OUT,  "@pg9520.proto setPSync(2) $(BUS)")
       
   505     field(ZRST, "T0")
       
   506     field(ZRVL, "0")
       
   507     field(ONST, "A")
       
   508     field(ONVL, "1")
       
   509     field(TWST, "Error")
       
   510     field(TWVL, "2")
       
   511     field(THST, "C")
       
   512     field(THVL, "3")
       
   513     field(FRST, "D")
       
   514     field(FRVL, "4")
       
   515     field(FVST, "E")
       
   516     field(FVVL, "5")
       
   517     field(SXST, "F")
       
   518     field(SXVL, "6")
       
   519     field(SVST, "G")
       
   520     field(SVVL, "7")
       
   521     field(EIST, "H")
       
   522     field(EIVL, "8")
       
   523 }
       
   524 
       
   525 record(ao, "$(P)$(R)MultiplexerB") {
       
   526     field(DESC, "Select which timers are on")
       
   527     field(DTYP, "stream")
       
   528     field(OUT,  "@pg9520.proto setPMux(2) $(BUS)")
       
   529     field(DRVL, "0")
       
   530     field(DRVH, "255")
       
   531 }
       
   532 
       
   533 record(mbbo, "$(P)$(R)PolarityB") {
       
   534     field(DESC, "Set polarity of the pulse")
       
   535     field(DTYP, "stream")
       
   536     field(OUT,  "@pg9520.proto setPolarity(2) $(BUS)")
       
   537     field(ZRST, "Normal")
       
   538     field(ZRVL, "0")
       
   539     field(ONST, "Complement")
       
   540     field(ONVL, "1")
       
   541     field(TWST, "Inverted")
       
   542     field(TWVL, "2")
       
   543 }
       
   544 
       
   545 record(mbbo, "$(P)$(R)OutputModeB") {
       
   546     field(DESC, "Select Amplitude mode")
       
   547     field(DTYP, "stream")
       
   548     field(OUT,  "@pg9520.proto setOutputMode(2) $(BUS)")
       
   549     field(ZRST, "TTL")
       
   550     field(ZRVL, "0")
       
   551     field(ONST, "Adjustable")
       
   552     field(ONVL, "1")
       
   553 }
       
   554 
       
   555 record(ao, "$(P)$(R)OutputAmplitudeB") {
       
   556     field(DESC, "Set adjustable output level")
       
   557     field(DTYP, "stream")
       
   558     field(OUT,  "@pg9520.proto setOutputAmplitude(2) $(BUS)")
       
   559     field(PREC, "3")
       
   560     field(DRVL, "2")
       
   561     field(DRVH, "20")
       
   562     field(EGU,  "V")
       
   563 }
       
   564 
       
   565 record(mbbo, "$(P)$(R)GateModeB") {
       
   566     field(DESC, "Sets Channel Gate Mode")
       
   567     field(DTYP, "stream")
       
   568     field(OUT,  "@pg9520.proto setPGate(2) $(BUS)")
       
   569     field(ZRST, "Disable")
       
   570     field(ZRVL, "0")
       
   571     field(ONST, "Pulse inhibit")
       
   572     field(ONVL, "1")
       
   573     field(TWST, "Output inhibit")
       
   574     field(TWVL, "2")
       
   575 }
       
   576 
       
   577 record(mbbo, "$(P)$(R)GateLogicB") {
       
   578     field(DESC, "Set Chan. Gate Logic Level")
       
   579     field(DTYP, "stream")
       
   580     field(OUT,  "@pg9520.proto setPGateLogic(2) $(BUS)")
       
   581     field(ZRST, "Active low")
       
   582     field(ZRVL, "0")
       
   583     field(ONST, "Active high")
       
   584     field(ONVL, "1")
       
   585 }
       
   586 
       
   587 #============================== Channel C ==============================
       
   588 
       
   589 record(bo, "$(P)$(R)StateC") {
       
   590     field(DESC, "En-/Disable output pulse C")
       
   591     field(DTYP, "stream")
       
   592     field(OUT,  "@pg9520.proto setPState(3) $(BUS)")
       
   593     field(ZNAM, "Off")
       
   594     field(ONAM, "On")
       
   595 }
       
   596 
       
   597 record(ao, "$(P)$(R)WidthC") {
       
   598     field(DESC, "Width of the output pulse")
       
   599     field(DTYP, "stream")
       
   600     field(OUT,  "@pg9520.proto setPWidth(3) $(BUS)")
       
   601     field(PREC, "8")
       
   602     field(DRVL, "10e-9")
       
   603     field(DRVH, "999.99999999975")
       
   604     field(EGU,  "sec")
       
   605 }
       
   606 
       
   607 record(ao, "$(P)$(R)UserWidthC") {
       
   608     field(DESC, "User-Width of the pulse")
       
   609     field(OUT, "$(P)$(R)Width2BaseUnitC PP NMS")
       
   610     field(PREC, "8")
       
   611     field(DRVL, "10e-6")
       
   612     field(DRVH, "999999.99999975")
       
   613     field(EGU,  "ms")
       
   614 }
       
   615 record(calcout,"$(P)$(R)Width2BaseUnitC") {
       
   616     field(DESC, "Convert Width to base unit")
       
   617     field(INPA,"$(P)$(R)UserWidthC NPP NMS")
       
   618     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
   619     field(CALC,"A/B")
       
   620     field(OUT, "$(P)$(R)WidthC PP NMS")
       
   621 }
       
   622 record(calcout,"$(P)$(R)Width2UserUnitC") {
       
   623     field(DESC, "Convert Width to user unit")
       
   624     field(PINI, "YES")
       
   625     field(INPA,"$(P)$(R)WidthC NPP NMS")
       
   626     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
   627     field(CALC,"A*B")
       
   628     field(OUT, "$(P)$(R)UserWidthC NPP NMS")
       
   629 }
       
   630 record(ao,"$(P)$(R)WidthTweakC") {
       
   631     field(DESC, "Step of Up/Down Width Tweak")
       
   632     field(VAL, "1e-1")
       
   633     field(PREC,"6")
       
   634 }
       
   635 record(calcout,"$(P)$(R)WidthTweakDownC") {
       
   636     field(DESC, "New width after Down Tweak")
       
   637     field(INPA,"$(P)$(R)WidthTweakC NPP NMS")
       
   638     field(INPB,"$(P)$(R)UserWidthC NPP NMS")
       
   639     field(CALC,"B-A")
       
   640     field(OUT, "$(P)$(R)UserWidthC PP NMS")
       
   641 }
       
   642 record(calcout,"$(P)$(R)WidthTweakUpC") {
       
   643     field(DESC, "New width after Up Tweak")
       
   644     field(INPA,"$(P)$(R)WidthTweakC NPP NMS")
       
   645     field(INPB,"$(P)$(R)UserWidthC NPP NMS")
       
   646     field(CALC,"B+A")
       
   647     field(OUT, "$(P)$(R)UserWidthC PP NMS")
       
   648 }
       
   649 
       
   650 record(ao, "$(P)$(R)DelayC") {
       
   651     field(DESC, "Time f. start T0 to 1.edge")
       
   652     field(DTYP, "stream")
       
   653     field(OUT,  "@pg9520.proto setPDelay(3) $(BUS)")
       
   654     field(PREC, "8")
       
   655     field(DRVL, "-999.99999999975")
       
   656     field(DRVH, "999.99999999975")
       
   657     field(EGU,  "sec")
       
   658 }
       
   659 
       
   660 record(ao, "$(P)$(R)UserDelayC") {
       
   661     field(DESC, "User-Delay of the pulse")
       
   662     field(OUT, "$(P)$(R)Delay2BaseUnitC PP NMS")
       
   663     field(PREC, "8")
       
   664     field(DRVL, "-999999.99999975")
       
   665     field(DRVH, "999999.99999975")
       
   666     field(EGU,  "ms")
       
   667 }
       
   668 record(calcout,"$(P)$(R)Delay2BaseUnitC") {
       
   669     field(DESC, "Convert Delay to base unit")
       
   670     field(INPA,"$(P)$(R)UserDelayC NPP NMS")
       
   671     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
   672     field(CALC,"A/B")
       
   673     field(OUT, "$(P)$(R)DelayC PP NMS")
       
   674 }
       
   675 record(calcout,"$(P)$(R)Delay2UserUnitC") {
       
   676     field(DESC, "Convert Delay to user unit")
       
   677     field(PINI, "YES")
       
   678     field(INPA,"$(P)$(R)DelayC NPP NMS")
       
   679     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
   680     field(CALC,"A*B")
       
   681     field(OUT, "$(P)$(R)UserDelayC NPP NMS")
       
   682 }
       
   683 record(ao,"$(P)$(R)DelayTweakC") {
       
   684     field(DESC, "Step of Up/Down Delay Tweak")
       
   685     field(VAL, "1e-1")
       
   686     field(PREC,"6")
       
   687 }
       
   688 record(calcout,"$(P)$(R)DelayTweakDownC") {
       
   689     field(DESC, "New delay after Down Tweak")
       
   690     field(INPA,"$(P)$(R)DelayTweakC NPP NMS")
       
   691     field(INPB,"$(P)$(R)UserDelayC NPP NMS")
       
   692     field(CALC,"B-A")
       
   693     field(OUT, "$(P)$(R)UserDelayC PP NMS")
       
   694 }
       
   695 record(calcout,"$(P)$(R)DelayTweakUpC") {
       
   696     field(DESC, "New delay after Up Tweak")
       
   697     field(INPA,"$(P)$(R)DelayTweakC NPP NMS")
       
   698     field(INPB,"$(P)$(R)UserDelayC NPP NMS")
       
   699     field(CALC,"B+A")
       
   700     field(OUT, "$(P)$(R)UserDelayC PP NMS")
       
   701 }
       
   702 
       
   703 record(mbbo, "$(P)$(R)SyncC") {
       
   704     field(DESC, "Selects the Sync source")
       
   705     field(DTYP, "stream")
       
   706     field(OUT,  "@pg9520.proto setPSync(3) $(BUS)")
       
   707     field(ZRST, "T0")
       
   708     field(ZRVL, "0")
       
   709     field(ONST, "A")
       
   710     field(ONVL, "1")
       
   711     field(TWST, "B")
       
   712     field(TWVL, "2")
       
   713     field(THST, "Error")
       
   714     field(THVL, "3")
       
   715     field(FRST, "D")
       
   716     field(FRVL, "4")
       
   717     field(FVST, "E")
       
   718     field(FVVL, "5")
       
   719     field(SXST, "F")
       
   720     field(SXVL, "6")
       
   721     field(SVST, "G")
       
   722     field(SVVL, "7")
       
   723     field(EIST, "H")
       
   724     field(EIVL, "8")
       
   725 }
       
   726 
       
   727 record(ao, "$(P)$(R)MultiplexerC") {
       
   728     field(DESC, "Select which timers are on")
       
   729     field(DTYP, "stream")
       
   730     field(OUT,  "@pg9520.proto setPMux(3) $(BUS)")
       
   731     field(DRVL, "0")
       
   732     field(DRVH, "255")
       
   733 }
       
   734 
       
   735 record(mbbo, "$(P)$(R)PolarityC") {
       
   736     field(DESC, "Set polarity of the pulse")
       
   737     field(DTYP, "stream")
       
   738     field(OUT,  "@pg9520.proto setPolarity(3) $(BUS)")
       
   739     field(ZRST, "Normal")
       
   740     field(ZRVL, "0")
       
   741     field(ONST, "Complement")
       
   742     field(ONVL, "1")
       
   743     field(TWST, "Inverted")
       
   744     field(TWVL, "2")
       
   745 }
       
   746 
       
   747 record(mbbo, "$(P)$(R)OutputModeC") {
       
   748     field(DESC, "Select Amplitude mode")
       
   749     field(DTYP, "stream")
       
   750     field(OUT,  "@pg9520.proto setOutputMode(3) $(BUS)")
       
   751     field(ZRST, "TTL")
       
   752     field(ZRVL, "0")
       
   753     field(ONST, "Adjustable")
       
   754     field(ONVL, "1")
       
   755 }
       
   756 
       
   757 record(ao, "$(P)$(R)OutputAmplitudeC") {
       
   758     field(DESC, "Set adjustable output level")
       
   759     field(DTYP, "stream")
       
   760     field(OUT,  "@pg9520.proto setOutputAmplitude(3) $(BUS)")
       
   761     field(PREC, "3")
       
   762     field(DRVL, "2")
       
   763     field(DRVH, "20")
       
   764     field(EGU,  "V")
       
   765 }
       
   766 
       
   767 record(mbbo, "$(P)$(R)GateModeC") {
       
   768     field(DESC, "Sets Channel Gate Mode")
       
   769     field(DTYP, "stream")
       
   770     field(OUT,  "@pg9520.proto setPGate(3) $(BUS)")
       
   771     field(ZRST, "Disable")
       
   772     field(ZRVL, "0")
       
   773     field(ONST, "Pulse inhibit")
       
   774     field(ONVL, "1")
       
   775     field(TWST, "Output inhibit")
       
   776     field(TWVL, "2")
       
   777 }
       
   778 
       
   779 record(mbbo, "$(P)$(R)GateLogicC") {
       
   780     field(DESC, "Set Chan. Gate Logic Level")
       
   781     field(DTYP, "stream")
       
   782     field(OUT,  "@pg9520.proto setPGateLogic(3) $(BUS)")
       
   783     field(ZRST, "Active low")
       
   784     field(ZRVL, "0")
       
   785     field(ONST, "Active high")
       
   786     field(ONVL, "1")
       
   787 }
       
   788 
       
   789 #============================== Channel D ==============================
       
   790 
       
   791 record(bo, "$(P)$(R)StateD") {
       
   792     field(DESC, "En-/Disable output pulse D")
       
   793     field(DTYP, "stream")
       
   794     field(OUT,  "@pg9520.proto setPState(4) $(BUS)")
       
   795     field(ZNAM, "Off")
       
   796     field(ONAM, "On")
       
   797 }
       
   798 
       
   799 record(ao, "$(P)$(R)WidthD") {
       
   800     field(DESC, "Width of the output pulse")
       
   801     field(DTYP, "stream")
       
   802     field(OUT,  "@pg9520.proto setPWidth(4) $(BUS)")
       
   803     field(PREC, "8")
       
   804     field(DRVL, "10e-9")
       
   805     field(DRVH, "999.99999999975")
       
   806     field(EGU,  "sec")
       
   807 }
       
   808 
       
   809 record(ao, "$(P)$(R)UserWidthD") {
       
   810     field(DESC, "User-Width of the pulse")
       
   811     field(OUT, "$(P)$(R)Width2BaseUnitD PP NMS")
       
   812     field(PREC, "8")
       
   813     field(DRVL, "10e-6")
       
   814     field(DRVH, "999999.99999975")
       
   815     field(EGU,  "ms")
       
   816 }
       
   817 record(calcout,"$(P)$(R)Width2BaseUnitD") {
       
   818     field(DESC, "Convert Width to base unit")
       
   819     field(INPA,"$(P)$(R)UserWidthD NPP NMS")
       
   820     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
   821     field(CALC,"A/B")
       
   822     field(OUT, "$(P)$(R)WidthD PP NMS")
       
   823 }
       
   824 record(calcout,"$(P)$(R)Width2UserUnitD") {
       
   825     field(DESC, "Convert Width to user unit")
       
   826     field(PINI, "YES")
       
   827     field(INPA,"$(P)$(R)WidthD NPP NMS")
       
   828     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
   829     field(CALC,"A*B")
       
   830     field(OUT, "$(P)$(R)UserWidthD NPP NMS")
       
   831 }
       
   832 record(ao,"$(P)$(R)WidthTweakD") {
       
   833     field(DESC, "Step of Up/Down Width Tweak")
       
   834     field(VAL, "1e-1")
       
   835     field(PREC,"6")
       
   836 }
       
   837 record(calcout,"$(P)$(R)WidthTweakDownD") {
       
   838     field(DESC, "New width after Down Tweak")
       
   839     field(INPA,"$(P)$(R)WidthTweakD NPP NMS")
       
   840     field(INPB,"$(P)$(R)UserWidthD NPP NMS")
       
   841     field(CALC,"B-A")
       
   842     field(OUT, "$(P)$(R)UserWidthD PP NMS")
       
   843 }
       
   844 record(calcout,"$(P)$(R)WidthTweakUpD") {
       
   845     field(DESC, "New width after Up Tweak")
       
   846     field(INPA,"$(P)$(R)WidthTweakD NPP NMS")
       
   847     field(INPB,"$(P)$(R)UserWidthD NPP NMS")
       
   848     field(CALC,"B+A")
       
   849     field(OUT, "$(P)$(R)UserWidthD PP NMS")
       
   850 }
       
   851 
       
   852 record(ao, "$(P)$(R)DelayD") {
       
   853     field(DESC, "Time f. start T0 to 1.edge")
       
   854     field(DTYP, "stream")
       
   855     field(OUT,  "@pg9520.proto setPDelay(4) $(BUS)")
       
   856     field(PREC, "8")
       
   857     field(DRVL, "-999.99999999975")
       
   858     field(DRVH, "999.99999999975")
       
   859     field(EGU,  "sec")
       
   860 }
       
   861 
       
   862 record(ao, "$(P)$(R)UserDelayD") {
       
   863     field(DESC, "User-Delay of the pulse")
       
   864     field(OUT, "$(P)$(R)Delay2BaseUnitD PP NMS")
       
   865     field(PREC, "8")
       
   866     field(DRVL, "-999999.99999975")
       
   867     field(DRVH, "999999.99999975")
       
   868     field(EGU,  "ms")
       
   869 }
       
   870 record(calcout,"$(P)$(R)Delay2BaseUnitD") {
       
   871     field(DESC, "Convert Delay to base unit")
       
   872     field(INPA,"$(P)$(R)UserDelayD NPP NMS")
       
   873     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
   874     field(CALC,"A/B")
       
   875     field(OUT, "$(P)$(R)DelayD PP NMS")
       
   876 }
       
   877 record(calcout,"$(P)$(R)Delay2UserUnitD") {
       
   878     field(DESC, "Convert Delay to user unit")
       
   879     field(PINI, "YES")
       
   880     field(INPA,"$(P)$(R)DelayD NPP NMS")
       
   881     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
   882     field(CALC,"A*B")
       
   883     field(OUT, "$(P)$(R)UserDelayD NPP NMS")
       
   884 }
       
   885 record(ao,"$(P)$(R)DelayTweakD") {
       
   886     field(DESC, "Step of Up/Down Delay Tweak")
       
   887     field(VAL, "1e-1")
       
   888     field(PREC,"6")
       
   889 }
       
   890 record(calcout,"$(P)$(R)DelayTweakDownD") {
       
   891     field(DESC, "New delay after Down Tweak")
       
   892     field(INPA,"$(P)$(R)DelayTweakD NPP NMS")
       
   893     field(INPB,"$(P)$(R)UserDelayD NPP NMS")
       
   894     field(CALC,"B-A")
       
   895     field(OUT, "$(P)$(R)UserDelayD PP NMS")
       
   896 }
       
   897 record(calcout,"$(P)$(R)DelayTweakUpD") {
       
   898     field(DESC, "New delay after Up Tweak")
       
   899     field(INPA,"$(P)$(R)DelayTweakD NPP NMS")
       
   900     field(INPB,"$(P)$(R)UserDelayD NPP NMS")
       
   901     field(CALC,"B+A")
       
   902     field(OUT, "$(P)$(R)UserDelayD PP NMS")
       
   903 }
       
   904 
       
   905 record(mbbo, "$(P)$(R)SyncD") {
       
   906     field(DESC, "Selects the Sync source")
       
   907     field(DTYP, "stream")
       
   908     field(OUT,  "@pg9520.proto setPSync(4) $(BUS)")
       
   909     field(ZRST, "T0")
       
   910     field(ZRVL, "0")
       
   911     field(ONST, "A")
       
   912     field(ONVL, "1")
       
   913     field(TWST, "B")
       
   914     field(TWVL, "2")
       
   915     field(THST, "C")
       
   916     field(THVL, "3")
       
   917     field(FRST, "Error")
       
   918     field(FRVL, "4")
       
   919     field(FVST, "E")
       
   920     field(FVVL, "5")
       
   921     field(SXST, "F")
       
   922     field(SXVL, "6")
       
   923     field(SVST, "G")
       
   924     field(SVVL, "7")
       
   925     field(EIST, "H")
       
   926     field(EIVL, "8")
       
   927 }
       
   928 
       
   929 record(ao, "$(P)$(R)MultiplexerD") {
       
   930     field(DESC, "Select which timers are on")
       
   931     field(DTYP, "stream")
       
   932     field(OUT,  "@pg9520.proto setPMux(4) $(BUS)")
       
   933     field(DRVL, "0")
       
   934     field(DRVH, "255")
       
   935 }
       
   936 
       
   937 record(mbbo, "$(P)$(R)PolarityD") {
       
   938     field(DESC, "Set polarity of the pulse")
       
   939     field(DTYP, "stream")
       
   940     field(OUT,  "@pg9520.proto setPolarity(4) $(BUS)")
       
   941     field(ZRST, "Normal")
       
   942     field(ZRVL, "0")
       
   943     field(ONST, "Complement")
       
   944     field(ONVL, "1")
       
   945     field(TWST, "Inverted")
       
   946     field(TWVL, "2")
       
   947 }
       
   948 
       
   949 record(mbbo, "$(P)$(R)OutputModeD") {
       
   950     field(DESC, "Select Amplitude mode")
       
   951     field(DTYP, "stream")
       
   952     field(OUT,  "@pg9520.proto setOutputMode(4) $(BUS)")
       
   953     field(ZRST, "TTL")
       
   954     field(ZRVL, "0")
       
   955     field(ONST, "Adjustable")
       
   956     field(ONVL, "1")
       
   957 }
       
   958 
       
   959 record(ao, "$(P)$(R)OutputAmplitudeD") {
       
   960     field(DESC, "Set adjustable output level")
       
   961     field(DTYP, "stream")
       
   962     field(OUT,  "@pg9520.proto setOutputAmplitude(4) $(BUS)")
       
   963     field(PREC, "3")
       
   964     field(DRVL, "2")
       
   965     field(DRVH, "20")
       
   966     field(EGU,  "V")
       
   967 }
       
   968 
       
   969 record(mbbo, "$(P)$(R)GateModeD") {
       
   970     field(DESC, "Sets Channel Gate Mode")
       
   971     field(DTYP, "stream")
       
   972     field(OUT,  "@pg9520.proto setPGate(4) $(BUS)")
       
   973     field(ZRST, "Disable")
       
   974     field(ZRVL, "0")
       
   975     field(ONST, "Pulse inhibit")
       
   976     field(ONVL, "1")
       
   977     field(TWST, "Output inhibit")
       
   978     field(TWVL, "2")
       
   979 }
       
   980 
       
   981 record(mbbo, "$(P)$(R)GateLogicD") {
       
   982     field(DESC, "Set Chan. Gate Logic Level")
       
   983     field(DTYP, "stream")
       
   984     field(OUT,  "@pg9520.proto setPGateLogic(4) $(BUS)")
       
   985     field(ZRST, "Active low")
       
   986     field(ZRVL, "0")
       
   987     field(ONST, "Active high")
       
   988     field(ONVL, "1")
       
   989 }
       
   990 
       
   991 #============================== Channel E ==============================
       
   992 
       
   993 record(bo, "$(P)$(R)StateE") {
       
   994     field(DESC, "En-/Disable output pulse E")
       
   995     field(DTYP, "stream")
       
   996     field(OUT,  "@pg9520.proto setPState(5) $(BUS)")
       
   997     field(ZNAM, "Off")
       
   998     field(ONAM, "On")
       
   999 }
       
  1000 
       
  1001 record(ao, "$(P)$(R)WidthE") {
       
  1002     field(DESC, "Width of the output pulse")
       
  1003     field(DTYP, "stream")
       
  1004     field(OUT,  "@pg9520.proto setPWidth(5) $(BUS)")
       
  1005     field(PREC, "8")
       
  1006     field(DRVL, "10e-9")
       
  1007     field(DRVH, "999.99999999975")
       
  1008     field(EGU,  "sec")
       
  1009 }
       
  1010 
       
  1011 record(ao, "$(P)$(R)UserWidthE") {
       
  1012     field(DESC, "User-Width of the pulse")
       
  1013     field(OUT, "$(P)$(R)Width2BaseUnitE PP NMS")
       
  1014     field(PREC, "8")
       
  1015     field(DRVL, "10e-6")
       
  1016     field(DRVH, "999999.99999975")
       
  1017     field(EGU,  "ms")
       
  1018 }
       
  1019 record(calcout,"$(P)$(R)Width2BaseUnitE") {
       
  1020     field(DESC, "Convert Width to base unit")
       
  1021     field(INPA,"$(P)$(R)UserWidthE NPP NMS")
       
  1022     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
  1023     field(CALC,"A/B")
       
  1024     field(OUT, "$(P)$(R)WidthE PP NMS")
       
  1025 }
       
  1026 record(calcout,"$(P)$(R)Width2UserUnitE") {
       
  1027     field(DESC, "Convert Width to user unit")
       
  1028     field(PINI, "YES")
       
  1029     field(INPA,"$(P)$(R)WidthE NPP NMS")
       
  1030     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
  1031     field(CALC,"A*B")
       
  1032     field(OUT, "$(P)$(R)UserWidthE NPP NMS")
       
  1033 }
       
  1034 record(ao,"$(P)$(R)WidthTweakE") {
       
  1035     field(DESC, "Step of Up/Down Width Tweak")
       
  1036     field(VAL, "1e-1")
       
  1037     field(PREC,"6")
       
  1038 }
       
  1039 record(calcout,"$(P)$(R)WidthTweakDownE") {
       
  1040     field(DESC, "New width after Down Tweak")
       
  1041     field(INPA,"$(P)$(R)WidthTweakE NPP NMS")
       
  1042     field(INPB,"$(P)$(R)UserWidthE NPP NMS")
       
  1043     field(CALC,"B-A")
       
  1044     field(OUT, "$(P)$(R)UserWidthE PP NMS")
       
  1045 }
       
  1046 record(calcout,"$(P)$(R)WidthTweakUpE") {
       
  1047     field(DESC, "New width after Up Tweak")
       
  1048     field(INPA,"$(P)$(R)WidthTweakE NPP NMS")
       
  1049     field(INPB,"$(P)$(R)UserWidthE NPP NMS")
       
  1050     field(CALC,"B+A")
       
  1051     field(OUT, "$(P)$(R)UserWidthE PP NMS")
       
  1052 }
       
  1053 
       
  1054 record(ao, "$(P)$(R)DelayE") {
       
  1055     field(DESC, "Time f. start T0 to 1.edge")
       
  1056     field(DTYP, "stream")
       
  1057     field(OUT,  "@pg9520.proto setPDelay(5) $(BUS)")
       
  1058     field(PREC, "8")
       
  1059     field(DRVL, "-999.99999999975")
       
  1060     field(DRVH, "999.99999999975")
       
  1061     field(EGU,  "sec")
       
  1062 }
       
  1063 
       
  1064 record(ao, "$(P)$(R)UserDelayE") {
       
  1065     field(DESC, "User-Delay of the pulse")
       
  1066     field(OUT, "$(P)$(R)Delay2BaseUnitE PP NMS")
       
  1067     field(PREC, "8")
       
  1068     field(DRVL, "-999999.99999975")
       
  1069     field(DRVH, "999999.99999975")
       
  1070     field(EGU,  "ms")
       
  1071 }
       
  1072 record(calcout,"$(P)$(R)Delay2BaseUnitE") {
       
  1073     field(DESC, "Convert Delay to base unit")
       
  1074     field(INPA,"$(P)$(R)UserDelayE NPP NMS")
       
  1075     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
  1076     field(CALC,"A/B")
       
  1077     field(OUT, "$(P)$(R)DelayE PP NMS")
       
  1078 }
       
  1079 record(calcout,"$(P)$(R)Delay2UserUnitE") {
       
  1080     field(DESC, "Convert Delay to user unit")
       
  1081     field(PINI, "YES")
       
  1082     field(INPA,"$(P)$(R)DelayE NPP NMS")
       
  1083     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
  1084     field(CALC,"A*B")
       
  1085     field(OUT, "$(P)$(R)UserDelayE NPP NMS")
       
  1086 }
       
  1087 record(ao,"$(P)$(R)DelayTweakE") {
       
  1088     field(DESC, "Step of Up/Down Delay Tweak")
       
  1089     field(VAL, "1e-1")
       
  1090     field(PREC,"6")
       
  1091 }
       
  1092 record(calcout,"$(P)$(R)DelayTweakDownE") {
       
  1093     field(DESC, "New delay after Down Tweak")
       
  1094     field(INPA,"$(P)$(R)DelayTweakE NPP NMS")
       
  1095     field(INPB,"$(P)$(R)UserDelayE NPP NMS")
       
  1096     field(CALC,"B-A")
       
  1097     field(OUT, "$(P)$(R)UserDelayE PP NMS")
       
  1098 }
       
  1099 record(calcout,"$(P)$(R)DelayTweakUpE") {
       
  1100     field(DESC, "New delay after Up Tweak")
       
  1101     field(INPA,"$(P)$(R)DelayTweakE NPP NMS")
       
  1102     field(INPB,"$(P)$(R)UserDelayE NPP NMS")
       
  1103     field(CALC,"B+A")
       
  1104     field(OUT, "$(P)$(R)UserDelayE PP NMS")
       
  1105 }
       
  1106 
       
  1107 record(mbbo, "$(P)$(R)SyncE") {
       
  1108     field(DESC, "Selects the Sync source")
       
  1109     field(DTYP, "stream")
       
  1110     field(OUT,  "@pg9520.proto setPSync(5) $(BUS)")
       
  1111     field(ZRST, "T0")
       
  1112     field(ZRVL, "0")
       
  1113     field(ONST, "A")
       
  1114     field(ONVL, "1")
       
  1115     field(TWST, "B")
       
  1116     field(TWVL, "2")
       
  1117     field(THST, "C")
       
  1118     field(THVL, "3")
       
  1119     field(FRST, "D")
       
  1120     field(FRVL, "4")
       
  1121     field(FVST, "Error")
       
  1122     field(FVVL, "5")
       
  1123     field(SXST, "F")
       
  1124     field(SXVL, "6")
       
  1125     field(SVST, "G")
       
  1126     field(SVVL, "7")
       
  1127     field(EIST, "H")
       
  1128     field(EIVL, "8")
       
  1129 }
       
  1130 
       
  1131 record(ao, "$(P)$(R)MultiplexerE") {
       
  1132     field(DESC, "Select which timers are on")
       
  1133     field(DTYP, "stream")
       
  1134     field(OUT,  "@pg9520.proto setPMux(5) $(BUS)")
       
  1135     field(DRVL, "0")
       
  1136     field(DRVH, "255")
       
  1137 }
       
  1138 
       
  1139 record(mbbo, "$(P)$(R)PolarityE") {
       
  1140     field(DESC, "Set polarity of the pulse")
       
  1141     field(DTYP, "stream")
       
  1142     field(OUT,  "@pg9520.proto setPolarity(5) $(BUS)")
       
  1143     field(ZRST, "Normal")
       
  1144     field(ZRVL, "0")
       
  1145     field(ONST, "Complement")
       
  1146     field(ONVL, "1")
       
  1147     field(TWST, "Inverted")
       
  1148     field(TWVL, "2")
       
  1149 }
       
  1150 
       
  1151 record(mbbo, "$(P)$(R)OutputModeE") {
       
  1152     field(DESC, "Select Amplitude mode")
       
  1153     field(DTYP, "stream")
       
  1154     field(OUT,  "@pg9520.proto setOutputMode(5) $(BUS)")
       
  1155     field(ZRST, "TTL")
       
  1156     field(ZRVL, "0")
       
  1157     field(ONST, "Adjustable")
       
  1158     field(ONVL, "1")
       
  1159 }
       
  1160 
       
  1161 record(ao, "$(P)$(R)OutputAmplitudeE") {
       
  1162     field(DESC, "Set adjustable output level")
       
  1163     field(DTYP, "stream")
       
  1164     field(OUT,  "@pg9520.proto setOutputAmplitude(5) $(BUS)")
       
  1165     field(PREC, "3")
       
  1166     field(DRVL, "2")
       
  1167     field(DRVH, "20")
       
  1168     field(EGU,  "V")
       
  1169 }
       
  1170 
       
  1171 record(mbbo, "$(P)$(R)GateModeE") {
       
  1172     field(DESC, "Sets Channel Gate Mode")
       
  1173     field(DTYP, "stream")
       
  1174     field(OUT,  "@pg9520.proto setPGate(5) $(BUS)")
       
  1175     field(ZRST, "Disable")
       
  1176     field(ZRVL, "0")
       
  1177     field(ONST, "Pulse inhibit")
       
  1178     field(ONVL, "1")
       
  1179     field(TWST, "Output inhibit")
       
  1180     field(TWVL, "2")
       
  1181 }
       
  1182 
       
  1183 record(mbbo, "$(P)$(R)GateLogicE") {
       
  1184     field(DESC, "Set Chan. Gate Logic Level")
       
  1185     field(DTYP, "stream")
       
  1186     field(OUT,  "@pg9520.proto setPGateLogic(5) $(BUS)")
       
  1187     field(ZRST, "Active low")
       
  1188     field(ZRVL, "0")
       
  1189     field(ONST, "Active high")
       
  1190     field(ONVL, "1")
       
  1191 }
       
  1192 
       
  1193 #============================== Channel F ==============================
       
  1194 
       
  1195 record(bo, "$(P)$(R)StateF") {
       
  1196     field(DESC, "En-/Disable output pulse F")
       
  1197     field(DTYP, "stream")
       
  1198     field(OUT,  "@pg9520.proto setPState(6) $(BUS)")
       
  1199     field(ZNAM, "Off")
       
  1200     field(ONAM, "On")
       
  1201 }
       
  1202 
       
  1203 record(ao, "$(P)$(R)WidthF") {
       
  1204     field(DESC, "Width of the output pulse")
       
  1205     field(DTYP, "stream")
       
  1206     field(OUT,  "@pg9520.proto setPWidth(6) $(BUS)")
       
  1207     field(PREC, "8")
       
  1208     field(DRVL, "10e-9")
       
  1209     field(DRVH, "999.99999999975")
       
  1210     field(EGU,  "sec")
       
  1211 }
       
  1212 
       
  1213 record(ao, "$(P)$(R)UserWidthF") {
       
  1214     field(DESC, "User-Width of the pulse")
       
  1215     field(OUT, "$(P)$(R)Width2BaseUnitF PP NMS")
       
  1216     field(PREC, "8")
       
  1217     field(DRVL, "10e-6")
       
  1218     field(DRVH, "999999.99999975")
       
  1219     field(EGU,  "ms")
       
  1220 }
       
  1221 record(calcout,"$(P)$(R)Width2BaseUnitF") {
       
  1222     field(DESC, "Convert Width to base unit")
       
  1223     field(INPA,"$(P)$(R)UserWidthF NPP NMS")
       
  1224     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
  1225     field(CALC,"A/B")
       
  1226     field(OUT, "$(P)$(R)WidthF PP NMS")
       
  1227 }
       
  1228 record(calcout,"$(P)$(R)Width2UserUnitF") {
       
  1229     field(DESC, "Convert Width to user unit")
       
  1230     field(PINI, "YES")
       
  1231     field(INPA,"$(P)$(R)WidthF NPP NMS")
       
  1232     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
  1233     field(CALC,"A*B")
       
  1234     field(OUT, "$(P)$(R)UserWidthF NPP NMS")
       
  1235 }
       
  1236 record(ao,"$(P)$(R)WidthTweakF") {
       
  1237     field(DESC, "Step of Up/Down Width Tweak")
       
  1238     field(VAL, "1e-1")
       
  1239     field(PREC,"6")
       
  1240 }
       
  1241 record(calcout,"$(P)$(R)WidthTweakDownF") {
       
  1242     field(DESC, "New width after Down Tweak")
       
  1243     field(INPA,"$(P)$(R)WidthTweakF NPP NMS")
       
  1244     field(INPB,"$(P)$(R)UserWidthF NPP NMS")
       
  1245     field(CALC,"B-A")
       
  1246     field(OUT, "$(P)$(R)UserWidthF PP NMS")
       
  1247 }
       
  1248 record(calcout,"$(P)$(R)WidthTweakUpF") {
       
  1249     field(DESC, "New width after Up Tweak")
       
  1250     field(INPA,"$(P)$(R)WidthTweakF NPP NMS")
       
  1251     field(INPB,"$(P)$(R)UserWidthF NPP NMS")
       
  1252     field(CALC,"B+A")
       
  1253     field(OUT, "$(P)$(R)UserWidthF PP NMS")
       
  1254 }
       
  1255 
       
  1256 record(ao, "$(P)$(R)DelayF") {
       
  1257     field(DESC, "Time f. start T0 to 1.edge")
       
  1258     field(DTYP, "stream")
       
  1259     field(OUT,  "@pg9520.proto setPDelay(6) $(BUS)")
       
  1260     field(PREC, "8")
       
  1261     field(DRVL, "-999.99999999975")
       
  1262     field(DRVH, "999.99999999975")
       
  1263     field(EGU,  "sec")
       
  1264 }
       
  1265 
       
  1266 record(ao, "$(P)$(R)UserDelayF") {
       
  1267     field(DESC, "User-Delay of the pulse")
       
  1268     field(OUT, "$(P)$(R)Delay2BaseUnitF PP NMS")
       
  1269     field(PREC, "8")
       
  1270     field(DRVL, "-999999.99999975")
       
  1271     field(DRVH, "999999.99999975")
       
  1272     field(EGU,  "ms")
       
  1273 }
       
  1274 record(calcout,"$(P)$(R)Delay2BaseUnitF") {
       
  1275     field(DESC, "Convert Delay to base unit")
       
  1276     field(INPA,"$(P)$(R)UserDelayF NPP NMS")
       
  1277     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
  1278     field(CALC,"A/B")
       
  1279     field(OUT, "$(P)$(R)DelayF PP NMS")
       
  1280 }
       
  1281 record(calcout,"$(P)$(R)Delay2UserUnitF") {
       
  1282     field(DESC, "Convert Delay to user unit")
       
  1283     field(PINI, "YES")
       
  1284     field(INPA,"$(P)$(R)DelayF NPP NMS")
       
  1285     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
  1286     field(CALC,"A*B")
       
  1287     field(OUT, "$(P)$(R)UserDelayF NPP NMS")
       
  1288 }
       
  1289 record(ao,"$(P)$(R)DelayTweakF") {
       
  1290     field(DESC, "Step of Up/Down Delay Tweak")
       
  1291     field(VAL, "1e-1")
       
  1292     field(PREC,"6")
       
  1293 }
       
  1294 record(calcout,"$(P)$(R)DelayTweakDownF") {
       
  1295     field(DESC, "New delay after Down Tweak")
       
  1296     field(INPA,"$(P)$(R)DelayTweakF NPP NMS")
       
  1297     field(INPB,"$(P)$(R)UserDelayF NPP NMS")
       
  1298     field(CALC,"B-A")
       
  1299     field(OUT, "$(P)$(R)UserDelayF PP NMS")
       
  1300 }
       
  1301 record(calcout,"$(P)$(R)DelayTweakUpF") {
       
  1302     field(DESC, "New delay after Up Tweak")
       
  1303     field(INPA,"$(P)$(R)DelayTweakF NPP NMS")
       
  1304     field(INPB,"$(P)$(R)UserDelayF NPP NMS")
       
  1305     field(CALC,"B+A")
       
  1306     field(OUT, "$(P)$(R)UserDelayF PP NMS")
       
  1307 }
       
  1308 
       
  1309 record(mbbo, "$(P)$(R)SyncF") {
       
  1310     field(DESC, "Selects the Sync source")
       
  1311     field(DTYP, "stream")
       
  1312     field(OUT,  "@pg9520.proto setPSync(6) $(BUS)")
       
  1313     field(ZRST, "T0")
       
  1314     field(ZRVL, "0")
       
  1315     field(ONST, "A")
       
  1316     field(ONVL, "1")
       
  1317     field(TWST, "B")
       
  1318     field(TWVL, "2")
       
  1319     field(THST, "C")
       
  1320     field(THVL, "3")
       
  1321     field(FRST, "D")
       
  1322     field(FRVL, "4")
       
  1323     field(FVST, "E")
       
  1324     field(FVVL, "5")
       
  1325     field(SXST, "Error")
       
  1326     field(SXVL, "6")
       
  1327     field(SVST, "G")
       
  1328     field(SVVL, "7")
       
  1329     field(EIST, "H")
       
  1330     field(EIVL, "8")
       
  1331 }
       
  1332 
       
  1333 record(ao, "$(P)$(R)MultiplexerF") {
       
  1334     field(DESC, "Select which timers are on")
       
  1335     field(DTYP, "stream")
       
  1336     field(OUT,  "@pg9520.proto setPMux(6) $(BUS)")
       
  1337     field(DRVL, "0")
       
  1338     field(DRVH, "255")
       
  1339 }
       
  1340 
       
  1341 record(mbbo, "$(P)$(R)PolarityF") {
       
  1342     field(DESC, "Set polarity of the pulse")
       
  1343     field(DTYP, "stream")
       
  1344     field(OUT,  "@pg9520.proto setPolarity(6) $(BUS)")
       
  1345     field(ZRST, "Normal")
       
  1346     field(ZRVL, "0")
       
  1347     field(ONST, "Complement")
       
  1348     field(ONVL, "1")
       
  1349     field(TWST, "Inverted")
       
  1350     field(TWVL, "2")
       
  1351 }
       
  1352 
       
  1353 record(mbbo, "$(P)$(R)OutputModeF") {
       
  1354     field(DESC, "Select Amplitude mode")
       
  1355     field(DTYP, "stream")
       
  1356     field(OUT,  "@pg9520.proto setOutputMode(6) $(BUS)")
       
  1357     field(ZRST, "TTL")
       
  1358     field(ZRVL, "0")
       
  1359     field(ONST, "Adjustable")
       
  1360     field(ONVL, "1")
       
  1361 }
       
  1362 
       
  1363 record(ao, "$(P)$(R)OutputAmplitudeF") {
       
  1364     field(DESC, "Set adjustable output level")
       
  1365     field(DTYP, "stream")
       
  1366     field(OUT,  "@pg9520.proto setOutputAmplitude(6) $(BUS)")
       
  1367     field(PREC, "3")
       
  1368     field(DRVL, "2")
       
  1369     field(DRVH, "20")
       
  1370     field(EGU,  "V")
       
  1371 }
       
  1372 
       
  1373 record(mbbo, "$(P)$(R)GateModeF") {
       
  1374     field(DESC, "Sets Channel Gate Mode")
       
  1375     field(DTYP, "stream")
       
  1376     field(OUT,  "@pg9520.proto setPGate(6) $(BUS)")
       
  1377     field(ZRST, "Disable")
       
  1378     field(ZRVL, "0")
       
  1379     field(ONST, "Pulse inhibit")
       
  1380     field(ONVL, "1")
       
  1381     field(TWST, "Output inhibit")
       
  1382     field(TWVL, "2")
       
  1383 }
       
  1384 
       
  1385 record(mbbo, "$(P)$(R)GateLogicF") {
       
  1386     field(DESC, "Set Chan. Gate Logic Level")
       
  1387     field(DTYP, "stream")
       
  1388     field(OUT,  "@pg9520.proto setPGateLogic(6) $(BUS)")
       
  1389     field(ZRST, "Active low")
       
  1390     field(ZRVL, "0")
       
  1391     field(ONST, "Active high")
       
  1392     field(ONVL, "1")
       
  1393 }
       
  1394 
       
  1395 #============================== Channel G ==============================
       
  1396 
       
  1397 record(bo, "$(P)$(R)StateG") {
       
  1398     field(DESC, "En-/Disable output pulse G")
       
  1399     field(DTYP, "stream")
       
  1400     field(OUT,  "@pg9520.proto setPState(7) $(BUS)")
       
  1401     field(ZNAM, "Off")
       
  1402     field(ONAM, "On")
       
  1403 }
       
  1404 
       
  1405 record(ao, "$(P)$(R)WidthG") {
       
  1406     field(DESC, "Width of the output pulse")
       
  1407     field(DTYP, "stream")
       
  1408     field(OUT,  "@pg9520.proto setPWidth(7) $(BUS)")
       
  1409     field(PREC, "8")
       
  1410     field(DRVL, "10e-9")
       
  1411     field(DRVH, "999.99999999975")
       
  1412     field(EGU,  "sec")
       
  1413 }
       
  1414 
       
  1415 record(ao, "$(P)$(R)UserWidthG") {
       
  1416     field(DESC, "User-Width of the pulse")
       
  1417     field(OUT, "$(P)$(R)Width2BaseUnitG PP NMS")
       
  1418     field(PREC, "8")
       
  1419     field(DRVL, "10e-6")
       
  1420     field(DRVH, "999999.99999975")
       
  1421     field(EGU,  "ms")
       
  1422 }
       
  1423 record(calcout,"$(P)$(R)Width2BaseUnitG") {
       
  1424     field(DESC, "Convert Width to base unit")
       
  1425     field(INPA,"$(P)$(R)UserWidthG NPP NMS")
       
  1426     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
  1427     field(CALC,"A/B")
       
  1428     field(OUT, "$(P)$(R)WidthG PP NMS")
       
  1429 }
       
  1430 record(calcout,"$(P)$(R)Width2UserUnitG") {
       
  1431     field(DESC, "Convert Width to user unit")
       
  1432     field(PINI, "YES")
       
  1433     field(INPA,"$(P)$(R)WidthG NPP NMS")
       
  1434     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
  1435     field(CALC,"A*B")
       
  1436     field(OUT, "$(P)$(R)UserWidthG NPP NMS")
       
  1437 }
       
  1438 record(ao,"$(P)$(R)WidthTweakG") {
       
  1439     field(DESC, "Step of Up/Down Width Tweak")
       
  1440     field(VAL, "1e-1")
       
  1441     field(PREC,"6")
       
  1442 }
       
  1443 record(calcout,"$(P)$(R)WidthTweakDownG") {
       
  1444     field(DESC, "New width after Down Tweak")
       
  1445     field(INPA,"$(P)$(R)WidthTweakG NPP NMS")
       
  1446     field(INPB,"$(P)$(R)UserWidthG NPP NMS")
       
  1447     field(CALC,"B-A")
       
  1448     field(OUT, "$(P)$(R)UserWidthG PP NMS")
       
  1449 }
       
  1450 record(calcout,"$(P)$(R)WidthTweakUpG") {
       
  1451     field(DESC, "New width after Up Tweak")
       
  1452     field(INPA,"$(P)$(R)WidthTweakG NPP NMS")
       
  1453     field(INPB,"$(P)$(R)UserWidthG NPP NMS")
       
  1454     field(CALC,"B+A")
       
  1455     field(OUT, "$(P)$(R)UserWidthG PP NMS")
       
  1456 }
       
  1457 
       
  1458 record(ao, "$(P)$(R)DelayG") {
       
  1459     field(DESC, "Time f. start T0 to 1.edge")
       
  1460     field(DTYP, "stream")
       
  1461     field(OUT,  "@pg9520.proto setPDelay(7) $(BUS)")
       
  1462     field(PREC, "8")
       
  1463     field(DRVL, "-999.99999999975")
       
  1464     field(DRVH, "999.99999999975")
       
  1465     field(EGU,  "sec")
       
  1466 }
       
  1467 
       
  1468 record(ao, "$(P)$(R)UserDelayG") {
       
  1469     field(DESC, "User-Delay of the pulse")
       
  1470     field(OUT, "$(P)$(R)Delay2BaseUnitG PP NMS")
       
  1471     field(PREC, "8")
       
  1472     field(DRVL, "-999999.99999975")
       
  1473     field(DRVH, "999999.99999975")
       
  1474     field(EGU,  "ms")
       
  1475 }
       
  1476 record(calcout,"$(P)$(R)Delay2BaseUnitG") {
       
  1477     field(DESC, "Convert Delay to base unit")
       
  1478     field(INPA,"$(P)$(R)UserDelayG NPP NMS")
       
  1479     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
  1480     field(CALC,"A/B")
       
  1481     field(OUT, "$(P)$(R)DelayG PP NMS")
       
  1482 }
       
  1483 record(calcout,"$(P)$(R)Delay2UserUnitG") {
       
  1484     field(DESC, "Convert Delay to user unit")
       
  1485     field(PINI, "YES")
       
  1486     field(INPA,"$(P)$(R)DelayG NPP NMS")
       
  1487     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
  1488     field(CALC,"A*B")
       
  1489     field(OUT, "$(P)$(R)UserDelayG NPP NMS")
       
  1490 }
       
  1491 record(ao,"$(P)$(R)DelayTweakG") {
       
  1492     field(DESC, "Step of Up/Down Delay Tweak")
       
  1493     field(VAL, "1e-1")
       
  1494     field(PREC,"6")
       
  1495 }
       
  1496 record(calcout,"$(P)$(R)DelayTweakDownG") {
       
  1497     field(DESC, "New delay after Down Tweak")
       
  1498     field(INPA,"$(P)$(R)DelayTweakG NPP NMS")
       
  1499     field(INPB,"$(P)$(R)UserDelayG NPP NMS")
       
  1500     field(CALC,"B-A")
       
  1501     field(OUT, "$(P)$(R)UserDelayG PP NMS")
       
  1502 }
       
  1503 record(calcout,"$(P)$(R)DelayTweakUpG") {
       
  1504     field(DESC, "New delay after Up Tweak")
       
  1505     field(INPA,"$(P)$(R)DelayTweakG NPP NMS")
       
  1506     field(INPB,"$(P)$(R)UserDelayG NPP NMS")
       
  1507     field(CALC,"B+A")
       
  1508     field(OUT, "$(P)$(R)UserDelayG PP NMS")
       
  1509 }
       
  1510 
       
  1511 record(mbbo, "$(P)$(R)SyncG") {
       
  1512     field(DESC, "Selects the Sync source")
       
  1513     field(DTYP, "stream")
       
  1514     field(OUT,  "@pg9520.proto setPSync(7) $(BUS)")
       
  1515     field(ZRST, "T0")
       
  1516     field(ZRVL, "0")
       
  1517     field(ONST, "A")
       
  1518     field(ONVL, "1")
       
  1519     field(TWST, "B")
       
  1520     field(TWVL, "2")
       
  1521     field(THST, "C")
       
  1522     field(THVL, "3")
       
  1523     field(FRST, "D")
       
  1524     field(FRVL, "4")
       
  1525     field(FVST, "E")
       
  1526     field(FVVL, "5")
       
  1527     field(SXST, "F")
       
  1528     field(SXVL, "6")
       
  1529     field(SVST, "Error")
       
  1530     field(SVVL, "7")
       
  1531     field(EIST, "H")
       
  1532     field(EIVL, "8")
       
  1533 }
       
  1534 
       
  1535 record(ao, "$(P)$(R)MultiplexerG") {
       
  1536     field(DESC, "Select which timers are on")
       
  1537     field(DTYP, "stream")
       
  1538     field(OUT,  "@pg9520.proto setPMux(7) $(BUS)")
       
  1539     field(DRVL, "0")
       
  1540     field(DRVH, "255")
       
  1541 }
       
  1542 
       
  1543 record(mbbo, "$(P)$(R)PolarityG") {
       
  1544     field(DESC, "Set polarity of the pulse")
       
  1545     field(DTYP, "stream")
       
  1546     field(OUT,  "@pg9520.proto setPolarity(7) $(BUS)")
       
  1547     field(ZRST, "Normal")
       
  1548     field(ZRVL, "0")
       
  1549     field(ONST, "Complement")
       
  1550     field(ONVL, "1")
       
  1551     field(TWST, "Inverted")
       
  1552     field(TWVL, "2")
       
  1553 }
       
  1554 
       
  1555 record(mbbo, "$(P)$(R)OutputModeG") {
       
  1556     field(DESC, "Select Amplitude mode")
       
  1557     field(DTYP, "stream")
       
  1558     field(OUT,  "@pg9520.proto setOutputMode(7) $(BUS)")
       
  1559     field(ZRST, "TTL")
       
  1560     field(ZRVL, "0")
       
  1561     field(ONST, "Adjustable")
       
  1562     field(ONVL, "1")
       
  1563 }
       
  1564 
       
  1565 record(ao, "$(P)$(R)OutputAmplitudeG") {
       
  1566     field(DESC, "Set adjustable output level")
       
  1567     field(DTYP, "stream")
       
  1568     field(OUT,  "@pg9520.proto setOutputAmplitude(7) $(BUS)")
       
  1569     field(PREC, "3")
       
  1570     field(DRVL, "2")
       
  1571     field(DRVH, "20")
       
  1572     field(EGU,  "V")
       
  1573 }
       
  1574 
       
  1575 record(mbbo, "$(P)$(R)GateModeG") {
       
  1576     field(DESC, "Sets Channel Gate Mode")
       
  1577     field(DTYP, "stream")
       
  1578     field(OUT,  "@pg9520.proto setPGate(7) $(BUS)")
       
  1579     field(ZRST, "Disable")
       
  1580     field(ZRVL, "0")
       
  1581     field(ONST, "Pulse inhibit")
       
  1582     field(ONVL, "1")
       
  1583     field(TWST, "Output inhibit")
       
  1584     field(TWVL, "2")
       
  1585 }
       
  1586 
       
  1587 record(mbbo, "$(P)$(R)GateLogicG") {
       
  1588     field(DESC, "Set Chan. Gate Logic Level")
       
  1589     field(DTYP, "stream")
       
  1590     field(OUT,  "@pg9520.proto setPGateLogic(7) $(BUS)")
       
  1591     field(ZRST, "Active low")
       
  1592     field(ZRVL, "0")
       
  1593     field(ONST, "Active high")
       
  1594     field(ONVL, "1")
       
  1595 }
       
  1596 
       
  1597 #============================== Channel H ==============================
       
  1598 
       
  1599 record(bo, "$(P)$(R)StateH") {
       
  1600     field(DESC, "En-/Disable output pulse H")
       
  1601     field(DTYP, "stream")
       
  1602     field(OUT,  "@pg9520.proto setPState(8) $(BUS)")
       
  1603     field(ZNAM, "Off")
       
  1604     field(ONAM, "On")
       
  1605 }
       
  1606 
       
  1607 record(ao, "$(P)$(R)WidthH") {
       
  1608     field(DESC, "Width of the output pulse")
       
  1609     field(DTYP, "stream")
       
  1610     field(OUT,  "@pg9520.proto setPWidth(8) $(BUS)")
       
  1611     field(PREC, "8")
       
  1612     field(DRVL, "10e-9")
       
  1613     field(DRVH, "999.99999999975")
       
  1614     field(EGU,  "sec")
       
  1615 }
       
  1616 
       
  1617 record(ao, "$(P)$(R)UserWidthH") {
       
  1618     field(DESC, "User-Width of the pulse")
       
  1619     field(OUT, "$(P)$(R)Width2BaseUnitH PP NMS")
       
  1620     field(PREC, "8")
       
  1621     field(DRVL, "10e-6")
       
  1622     field(DRVH, "999999.99999975")
       
  1623     field(EGU,  "ms")
       
  1624 }
       
  1625 record(calcout,"$(P)$(R)Width2BaseUnitH") {
       
  1626     field(DESC, "Convert Width to base unit")
       
  1627     field(INPA,"$(P)$(R)UserWidthH NPP NMS")
       
  1628     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
  1629     field(CALC,"A/B")
       
  1630     field(OUT, "$(P)$(R)WidthH PP NMS")
       
  1631 }
       
  1632 record(calcout,"$(P)$(R)Width2UserUnitH") {
       
  1633     field(DESC, "Convert Width to user unit")
       
  1634     field(PINI, "YES")
       
  1635     field(INPA,"$(P)$(R)WidthH NPP NMS")
       
  1636     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
  1637     field(CALC,"A*B")
       
  1638     field(OUT, "$(P)$(R)UserWidthH NPP NMS")
       
  1639 }
       
  1640 record(ao,"$(P)$(R)WidthTweakH") {
       
  1641     field(DESC, "Step of Up/Down Width Tweak")
       
  1642     field(VAL, "1e-1")
       
  1643     field(PREC,"6")
       
  1644 }
       
  1645 record(calcout,"$(P)$(R)WidthTweakDownH") {
       
  1646     field(DESC, "New width after Down Tweak")
       
  1647     field(INPA,"$(P)$(R)WidthTweakH NPP NMS")
       
  1648     field(INPB,"$(P)$(R)UserWidthH NPP NMS")
       
  1649     field(CALC,"B-A")
       
  1650     field(OUT, "$(P)$(R)UserWidthH PP NMS")
       
  1651 }
       
  1652 record(calcout,"$(P)$(R)WidthTweakUpH") {
       
  1653     field(DESC, "New width after Up Tweak")
       
  1654     field(INPA,"$(P)$(R)WidthTweakH NPP NMS")
       
  1655     field(INPB,"$(P)$(R)UserWidthH NPP NMS")
       
  1656     field(CALC,"B+A")
       
  1657     field(OUT, "$(P)$(R)UserWidthH PP NMS")
       
  1658 }
       
  1659 
       
  1660 record(ao, "$(P)$(R)DelayH") {
       
  1661     field(DESC, "Time f. start T0 to 1.edge")
       
  1662     field(DTYP, "stream")
       
  1663     field(OUT,  "@pg9520.proto setPDelay(8) $(BUS)")
       
  1664     field(PREC, "8")
       
  1665     field(DRVL, "-999.99999999975")
       
  1666     field(DRVH, "999.99999999975")
       
  1667     field(EGU,  "sec")
       
  1668 }
       
  1669 
       
  1670 record(ao, "$(P)$(R)UserDelayH") {
       
  1671     field(DESC, "User-Delay of the pulse")
       
  1672     field(OUT, "$(P)$(R)Delay2BaseUnitH PP NMS")
       
  1673     field(PREC, "8")
       
  1674     field(DRVL, "-999999.99999975")
       
  1675     field(DRVH, "999999.99999975")
       
  1676     field(EGU,  "ms")
       
  1677 }
       
  1678 record(calcout,"$(P)$(R)Delay2BaseUnitH") {
       
  1679     field(DESC, "Convert Delay to base unit")
       
  1680     field(INPA,"$(P)$(R)UserDelayH NPP NMS")
       
  1681     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
  1682     field(CALC,"A/B")
       
  1683     field(OUT, "$(P)$(R)DelayH PP NMS")
       
  1684 }
       
  1685 record(calcout,"$(P)$(R)Delay2UserUnitH") {
       
  1686     field(DESC, "Convert Delay to user unit")
       
  1687     field(PINI, "YES")
       
  1688     field(INPA,"$(P)$(R)DelayH NPP NMS")
       
  1689     field(INPB,"$(P)$(R)TimeUnitCF NPP NMS")
       
  1690     field(CALC,"A*B")
       
  1691     field(OUT, "$(P)$(R)UserDelayH NPP NMS")
       
  1692 }
       
  1693 record(ao,"$(P)$(R)DelayTweakH") {
       
  1694     field(DESC, "Step of Up/Down Delay Tweak")
       
  1695     field(VAL, "1e-1")
       
  1696     field(PREC,"6")
       
  1697 }
       
  1698 record(calcout,"$(P)$(R)DelayTweakDownH") {
       
  1699     field(DESC, "New delay after Down Tweak")
       
  1700     field(INPA,"$(P)$(R)DelayTweakH NPP NMS")
       
  1701     field(INPB,"$(P)$(R)UserDelayH NPP NMS")
       
  1702     field(CALC,"B-A")
       
  1703     field(OUT, "$(P)$(R)UserDelayH PP NMS")
       
  1704 }
       
  1705 record(calcout,"$(P)$(R)DelayTweakUpH") {
       
  1706     field(DESC, "New delay after Up Tweak")
       
  1707     field(INPA,"$(P)$(R)DelayTweakH NPP NMS")
       
  1708     field(INPB,"$(P)$(R)UserDelayH NPP NMS")
       
  1709     field(CALC,"B+A")
       
  1710     field(OUT, "$(P)$(R)UserDelayH PP NMS")
       
  1711 }
       
  1712 
       
  1713 record(mbbo, "$(P)$(R)SyncH") {
       
  1714     field(DESC, "Selects the Sync source")
       
  1715     field(DTYP, "stream")
       
  1716     field(OUT,  "@pg9520.proto setPSync(8) $(BUS)")
       
  1717     field(ZRST, "T0")
       
  1718     field(ZRVL, "0")
       
  1719     field(ONST, "A")
       
  1720     field(ONVL, "1")
       
  1721     field(TWST, "B")
       
  1722     field(TWVL, "2")
       
  1723     field(THST, "C")
       
  1724     field(THVL, "3")
       
  1725     field(FRST, "D")
       
  1726     field(FRVL, "4")
       
  1727     field(FVST, "E")
       
  1728     field(FVVL, "5")
       
  1729     field(SXST, "F")
       
  1730     field(SXVL, "6")
       
  1731     field(SVST, "G")
       
  1732     field(SVVL, "7")
       
  1733     field(EIST, "Error")
       
  1734     field(EIVL, "8")
       
  1735 }
       
  1736 
       
  1737 record(ao, "$(P)$(R)MultiplexerH") {
       
  1738     field(DESC, "Select which timers are on")
       
  1739     field(DTYP, "stream")
       
  1740     field(OUT,  "@pg9520.proto setPMux(8) $(BUS)")
       
  1741     field(DRVL, "0")
       
  1742     field(DRVH, "255")
       
  1743 }
       
  1744 
       
  1745 record(mbbo, "$(P)$(R)PolarityH") {
       
  1746     field(DESC, "Set polarity of the pulse")
       
  1747     field(DTYP, "stream")
       
  1748     field(OUT,  "@pg9520.proto setPolarity(8) $(BUS)")
       
  1749     field(ZRST, "Normal")
       
  1750     field(ZRVL, "0")
       
  1751     field(ONST, "Complement")
       
  1752     field(ONVL, "1")
       
  1753     field(TWST, "Inverted")
       
  1754     field(TWVL, "2")
       
  1755 }
       
  1756 
       
  1757 record(mbbo, "$(P)$(R)OutputModeH") {
       
  1758     field(DESC, "Select Amplitude mode")
       
  1759     field(DTYP, "stream")
       
  1760     field(OUT,  "@pg9520.proto setOutputMode(8) $(BUS)")
       
  1761     field(ZRST, "TTL")
       
  1762     field(ZRVL, "0")
       
  1763     field(ONST, "Adjustable")
       
  1764     field(ONVL, "1")
       
  1765 }
       
  1766 
       
  1767 record(ao, "$(P)$(R)OutputAmplitudeH") {
       
  1768     field(DESC, "Set adjustable output level")
       
  1769     field(DTYP, "stream")
       
  1770     field(OUT,  "@pg9520.proto setOutputAmplitude(8) $(BUS)")
       
  1771     field(PREC, "3")
       
  1772     field(DRVL, "2")
       
  1773     field(DRVH, "20")
       
  1774     field(EGU,  "V")
       
  1775 }
       
  1776 
       
  1777 record(mbbo, "$(P)$(R)GateModeH") {
       
  1778     field(DESC, "Sets Channel Gate Mode")
       
  1779     field(DTYP, "stream")
       
  1780     field(OUT,  "@pg9520.proto setPGate(8) $(BUS)")
       
  1781     field(ZRST, "Disable")
       
  1782     field(ZRVL, "0")
       
  1783     field(ONST, "Pulse inhibit")
       
  1784     field(ONVL, "1")
       
  1785     field(TWST, "Output inhibit")
       
  1786     field(TWVL, "2")
       
  1787 }
       
  1788 
       
  1789 record(mbbo, "$(P)$(R)GateLogicH") {
       
  1790     field(DESC, "Set Chan. Gate Logic Level")
       
  1791     field(DTYP, "stream")
       
  1792     field(OUT,  "@pg9520.proto setPGateLogic(8) $(BUS)")
       
  1793     field(ZRST, "Active low")
       
  1794     field(ZRVL, "0")
       
  1795     field(ONST, "Active high")
       
  1796     field(ONVL, "1")
       
  1797 }