# HG changeset patch # User William # Date 1530780498 0 # Node ID 68a4f654dc00731742fb6c9225cfcd87d8eca261 # Parent ec018606c20755b49e1d86fd2368369067175b74 first diff -r ec018606c207 -r 68a4f654dc00 DHT-changeOwner.notice --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DHT-changeOwner.notice Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,21 @@ +important! +after recompile of the IOC, you have to set +root as owner of the IOC-executable (bin//kstm) +and set the sticky bit so it will be executed as root +instead of local user. + +the DHT22 temperature & humidity sensor need root access +for direct interaction with the GPIO pins of the +raspberry pi! + +do it as follows: + +###### +cd bin/linux-arm/ +sudo chown root:root kstm +sudo chmod u+s kstm +###### + +check success with ls -la +it should be marked red and have +-r-sr-xr-x root root diff -r ec018606c207 -r 68a4f654dc00 bin/linux-arm/kstm Binary file bin/linux-arm/kstm has changed diff -r ec018606c207 -r 68a4f654dc00 configure/O.linux-arm/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/configure/O.linux-arm/Makefile Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,10 @@ +#This Makefile created by makeMakefile.pl + + +all : + $(MAKE) -f ../Makefile TOP=../.. T_A=linux-arm $@ + +.DEFAULT: force + $(MAKE) -f ../Makefile TOP=../.. T_A=linux-arm $@ + +force: ; diff -r ec018606c207 -r 68a4f654dc00 configure/RELEASE --- a/configure/RELEASE Mon Jun 27 18:08:05 2016 +0200 +++ b/configure/RELEASE Thu Jul 05 08:48:18 2018 +0000 @@ -19,7 +19,7 @@ # Build settings that are NOT module paths should appear in a # CONFIG_SITE file. -TEMPLATE_TOP=$(EPICS_BASE)/templates/makeBaseApp/top +TEMPLATE_TOP=${EPICS_HOME}/templates/makeBaseApp/top HOME=/home/epics/ MODULES=$(HOME)/EPICS/modules @@ -30,9 +30,10 @@ ASYN=$(SUPPORT)/asyn4-26 STREAM=$(SUPPORT)/stream EUROTHERM2K=$(SUPPORT)/eurotherm2k-1-18 +CALC=$(SUPPORT)/calc-3-4-2 # EPICS_BASE usually appears last so other apps can override stuff: -EPICS_BASE=$(HOME)/EPICS/base +EPICS_BASE=${EPICS_HOME} # Set RULES here if you want to take build rules from somewhere # other than EPICS_BASE: diff -r ec018606c207 -r 68a4f654dc00 db/2kStmEuro.sub --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/db/2kStmEuro.sub Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,20 @@ +# Macros: +# P Device prefix +# Q Device suffix +# PORT Asyn port name +# GAD Global address number, normally 0 +# LAD Local address number, normally 1 +# SPMAX Maximum setpoint +# RRMAX Maximum ramp rate +# SPCMD Setpoint command, set to 'write' for floating point +# PREC Setpoint precision +# EGU Engineering units for ramp rate, default is C/s +# name object and gui association name +# gda_name Name to export to gda as +# gda_desc Description for gda +file db/eurotherm2k.template +{ +pattern { P, Q, PORT, GAD, LAD, SPMAX, RRMAX, SPCMD, PREC, EGU, name, gda_name, gda_desc } + { "FHI2KSTMAFM:Eurotherm:", "PrepSampleTemperature", "EUROTH_01", "0", "1", "1000", "1", "writeint", "0", "C/s", "", "", "" } + { "FHI2KSTMAFM:Eurotherm:", "MainSampleTemperature", "EUROTH_02", "0", "1", "1000", "1", "writeint", "0", "C/s", "", "", "" } +} diff -r ec018606c207 -r 68a4f654dc00 db/M1900.db --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/db/M1900.db Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,9 @@ +record(ai, "$(P):$(Q):temp") +{ +field(SCAN, "5 second") +field(DTYP,"stream") +field(INP,"@M1900.proto read $(PORT) -1") +field(EGU,"K") +field(HOPR,"400") +field(LOPR,"0") +} diff -r ec018606c207 -r 68a4f654dc00 db/M1900.proto --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/db/M1900.proto Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,2 @@ +Terminator = CR NUL; +read { out "T"; in "T"; in "%f"; } diff -r ec018606c207 -r 68a4f654dc00 db/dht.db --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/db/dht.db Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,28 @@ +record(ai,"$(P):$(Q):Temperature") +{ + field(DESC,"Ambient temp") + field(INP,"$(P):$(Q):R_DHT.VALA CP NMS") + field(EGU,"degC") +} + +record(ai,"$(P):$(Q):Humidity") +{ + field(DESC,"Ambient humidity") + field(INP,"$(P):$(Q):R_DHT.VALB CP NMS") + field(EGU,"rel%") +} + +record(aSub,"$(P):$(Q):R_DHT") +{ + field(DESC, "Reads DHT from GPIO def in A") + field(INAM,"aSubReadDHTInit") + field(SNAM,"aSubReadDHTProcess") + field(SCAN,"10 second") + field(INPA,"4") + field(FTA, "USHORT") +# Temperature in VALA + field(FTVA, "DOUBLE") +# Humidity in VALB + field(FTVB, "DOUBLE") +} + diff -r ec018606c207 -r 68a4f654dc00 db/eurotherm2k.proto --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/db/eurotherm2k.proto Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,96 @@ +## \file +## Stream Device Protocol for eurotherm 2000 series EI Bisynch +## \param GAD = First char of address, e.g. address = 1, GAD = 0, address = 12, GAD = 1 +## \param LAD = Second char of address, e.g. address = 1, LAD = 1, address = 12, LAD = 2 + +locktimeout = 5000; + +## Unfortunately, this is designed with a checksum terminator. +OutTerminator = ""; +replytimeout = 200; +## Setting a small readtimeout means that we can get data without needing a terminator +readtimeout = 100; +extrainput = Ignore; + +#STX = "\x02" +#ETX = "\x03" +#EOT = "\x04" +#ENQ = "\x05" +#ACK = "\x06" + +## Read value +## \code +## send: [EOT](GAD)(GAD)(LAD)(LAD)(CHAN)(C1)(C2)[ENQ] +## reply: [STX](CHAN)(C1)(C2)[ETX](BCC) +## \endcode +## - $1 = GAD +## - $2 = LAD +## - $3 = command mnemonic +############################################################################# +read { InTerminator = "\x03"; out "\x04\$1\$1\$2\$2\$3\x05"; in "\x02\$3%f"; } + +## Read value, but in hex +readhex { InTerminator = "\x03"; out "\x04\$1\$1\$2\$2\$3\x05"; in "\x02\$3>%x"; } + +## NOTE: we rely on readtimeout for the in commands. +## Could use maxInput, but that screws up record initialisation (once inTerminator is set it can't be overwritten in the \@init handler) +## +## Write value +## \code +## send: [EOT](GAD)(GAD)(LAD)(LAD)[STX](CHAN)(C1)(C2)[ETX](BCC) +## reply: [ACK] or [NAK], discarded as no terminator +## \endcode +## - $1 = GAD +## - $2 = LAD +## - $3 = command mnemonic +## - $4 = device prefix, \$(P)\$(Q) +############################################################################# +write { InTerminator = ""; out "\x04\$1\$1\$2\$2\x02\$3%f\x03%6"; in "\x06"; @init{ read; }; @mismatch{ in "%(\$4:ERR.PROC)r"; }; } + +## Write a value in int rather than float +writeint { InTerminator = ""; out "\x04\$1\$1\$2\$2\x02\$3%i\x03%6"; in "\x06"; @init{ read; }; @mismatch{ in "%(\$4:ERR.PROC)r"; }; } + + +### \brief Controller configuration mode +## +## This mode enable setting a number of controller configuration settings +## (see Communications Handbook PDF pages 5-25 onwards) +## +## We set the mode by sending a command 'IM2' and get out of the mode with the command 'IM0' +## While in configuration mode the controller makes itself address 0 so any configuration commands +## have to be sent to address = 0 +setConfMode { InTerminator = ""; out "\x04\$1\$1\$2\$2\x02IM2\x03%6"; in "\x06"; @mismatch{ in "%(\$3:ERR.PROC)r"; }; } + +## Escape from the configuration mode in to normal operation mode +clearConfMode { InTerminator = ""; out "\x040000\x02IM0\x03%6"; in "\x06"; @mismatch{ in "%(\$1:ERR.PROC)r"; }; } + +## Get the current mode of the controller: 0=normal mode, 2=configuration mode +getConfMode { InTerminator = "\x03"; out "\x0400%(\$1:ADDR.VAL)i%(\$1:ADDR.VAL)iIM\x05"; in "\x02IM%i."; } + +## \brief Set device precision. +## +## The number of decimal places in the controller is also the precision the data is returned when communicating over serial. +## This parameter can only be set when in Configuration Mode (see above) +setDecPlaces { InTerminator = ""; out "\x0400%(\$1:ADDR.VAL)i%(\$1:ADDR.VAL)i\x02QD%i\x03%6"; in "\x06"; @mismatch{ in "%(\$1:ERR.PROC)r"; }; } + +## Read the number of decimal places used in the controller +getDecPlaces { InTerminator = "\x03"; out "\x0400%(\$1:ADDR.VAL)i%(\$1:ADDR.VAL)iQD\x05"; in "\x02QD%i."; } + +## The ramp rate time unit. Note this parameter can only be set when in Configuration Mode +setRampRateUnit { InTerminator = ""; out "\x0400%(\$1:ADDR.VAL)i%(\$1:ADDR.VAL)i\x02QJ%i\x03%6"; in "\x06"; @mismatch{ in "%(\$1:ERR.PROC)r"; }; } + +## Read out the ramp rate time unit +getRampRateUnit { InTerminator = "\x03"; out "\x0400%(\$1:ADDR.VAL)i%(\$1:ADDR.VAL)iQJ\x05"; in "\x02QJ%i."; } + +## \brief Write any ASCII string command to the device. +## +## It will read the device address (although only the LAD part) from another record: \$1:ADDR.VAL +addrWrite { InTerminator = ""; out "\x0400%(\$1:ADDR.VAL)i%(\$1:ADDR.VAL)i\x02%s\x03%6"; in "\x06"; @mismatch{ in "%(\$1:ERR.PROC)r"; }; } + +## \brief Read back any ASCII string paramter from the device. +## +## This will also read the device address from an external record. +addrRead { InTerminator = "\x03"; out "\x0400%(\$1:ADDR.VAL)i%(\$1:ADDR.VAL)i%s\x05"; in "\x02%(\$1:ADDR:RESP.VAL)6c"; } + + + diff -r ec018606c207 -r 68a4f654dc00 db/eurotherm2k.template --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/db/eurotherm2k.template Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,510 @@ +#! Generated by VisualDCT v2.6 +#! DBDSTART +#! DBD("../../example/dbd/example.dbd") +#! DBDEND + + +# % macro, P, Device prefix +# % macro, Q, Device suffix +# % macro, PORT, Asyn port name +# % macro, GAD, Global address number, normally 0 +# % macro, LAD, Local address number, normally 1 +# % macro, SPMAX, Maximum setpoint +# % macro, RRMAX, Maximum ramp rate +# % macro, SPCMD, Setpoint command, set to 'write' for floating point +# % macro, PREC, Setpoint precision +# % macro, EGU, Engineering units for ramp rate, default is C/s +# % macro, name, object and gui association name +# % macro, gda_name, Name to export to gda as +# % macro, gda_desc, Description for gda +# % gdatag,template,eurotherm2k,$(gda_name=),$(gda_desc=) +# % gui, $(name=), edmembed, eurotherm2k_embed.edl, eurotherm=$(P)$(Q) +# % gui, $(name=), edm, eurotherm2k.edl, eurotherm=$(P)$(Q) +# % autosave 2 SCAN +record(seq, "$(P)$(Q):UPDATE") { + field(DESC, "Update Temp Params") + field(DOL1, "1") + field(DOL2, "1") + field(DOL3, "1") + field(DOL4, "1") + field(LNK1, "$(P)$(Q):SP:RBV.PROC") + field(LNK2, "$(P)$(Q):RR:RBV.PROC") + field(LNK3, "$(P)$(Q):O:RBV.PROC") + field(LNK4, "$(P)$(Q):PV:RBV.PROC") + field(SCAN, "1 second") + field(PINI, "YES") + field(DOL5, "1") + field(LNK5, "$(P)$(Q):MAN:RBV_AI.PROC") +} + +# % autosave 2 SCAN +record(seq, "$(P)$(Q):PID") { + field(DESC, "Update PID Params") + field(DOL1, "1") + field(DOL2, "1") + field(DOL3, "1") + field(LNK1, "$(P)$(Q):P:RBV.PROC") + field(LNK2, "$(P)$(Q):I:RBV.PROC") + field(LNK3, "$(P)$(Q):D:RBV.PROC") + field(SCAN, "10 second") + field(PINI, "YES") +} + +#% gdatag,pv,rw,$(gda_name=),SP +record(ao, "$(P)$(Q):SP") { + field(DESC, "Setpoint") + field(DTYP, "stream") + field(FLNK, "$(P)$(Q):SP:RBV") + field(OUT, "@eurotherm2k.proto $(SPCMD=writeint)($(GAD),$(LAD),S1,$(P)$(Q)) $(PORT)") + field(PREC, "$(PREC=0)") + field(EGU, "C") + field(DRVH, "$(SPMAX=1000)") + field(DRVL, "0") + field(PINI, "YES") + field(SDIS, "$(P)$(Q):DISABLE") +} + +# % gdatag,pv,ro,$(gda_name=),SPRBV +# % archiver 10 Monitor +record(ai, "$(P)$(Q):SP:RBV") { + field(DESC, "Setpoint Readback") + field(DTYP, "stream") + field(INP, "@eurotherm2k.proto read($(GAD),$(LAD),S1) $(PORT)") + field(PREC, "$(PREC=0)") + field(EGU, "C") + field(SDIS, "$(P)$(Q):DISABLE") +} + +#% gdatag,pv,rw,$(gda_name=),RR +record(ao, "$(P)$(Q):RR") { + field(DESC, "Ramprate") + field(DTYP, "stream") + field(FLNK, "$(P)$(Q):RR:RBV") + field(OUT, "@eurotherm2k.proto write($(GAD),$(LAD),RR,$(P)$(Q)) $(PORT)") + field(PREC, "3") + field(EGU, "$(EGU=C/s)") + field(DRVH, "$(RRMAX=1)") + field(DRVL, "0") + field(PINI, "YES") + field(SDIS, "$(P)$(Q):DISABLE") +} + +# % gdatag,pv,ro,$(gda_name=),RRRBV +# % archiver 10 Monitor +record(ai, "$(P)$(Q):RR:RBV") { + field(DESC, "Ramprate Readback") + field(DTYP, "stream") + field(INP, "@eurotherm2k.proto read($(GAD),$(LAD),RR) $(PORT)") + field(PREC, "3") + field(EGU, "$(EGU=C/s)") + field(SDIS, "$(P)$(Q):DISABLE") +} + +#% gdatag,pv,rw,$(gda_name=),O +record(ao, "$(P)$(Q):O") { + field(DESC, "Output") + field(DTYP, "stream") + field(FLNK, "$(P)$(Q):O:RBV") + field(OUT, "@eurotherm2k.proto write($(GAD),$(LAD),OP,$(P)$(Q)) $(PORT)") + field(PREC, "1") + field(EGU, "%") + field(DRVH, "100") + field(DRVL, "-100") + field(PINI, "YES") + field(SDIS, "$(P)$(Q):DISABLE") +} + +# % gdatag,pv,ro,$(gda_name=),ORBV +# % archiver 1 Monitor +record(ai, "$(P)$(Q):O:RBV") { + field(DESC, "Ouptut Readback") + field(DTYP, "stream") + field(INP, "@eurotherm2k.proto read($(GAD),$(LAD),OP) $(PORT)") + field(PREC, "1") + field(EGU, "%") + field(SDIS, "$(P)$(Q):DISABLE") +} + +# % gdatag,pv,ro,$(gda_name=),PVRBV +# % archiver 1 Monitor +record(ai, "$(P)$(Q):PV:RBV") { + field(DESC, "Temperature Readback") + field(DTYP, "stream") + field(INP, "@eurotherm2k.proto read($(GAD),$(LAD),PV) $(PORT)") + field(PREC, "1") + field(EGU, "C") + field(SDIS, "$(P)$(Q):DISABLE") +} + +#% gdatag,pv,rw,$(gda_name=),P +record(ao, "$(P)$(Q):P") { + field(DESC, "P Param") + field(DTYP, "stream") + field(FLNK, "$(P)$(Q):P:RBV") + field(OUT, "@eurotherm2k.proto writeint($(GAD),$(LAD),XP,$(P)$(Q)) $(PORT)") + field(PREC, "0") + field(VAL, "150") + field(PINI, "YES") + field(SDIS, "$(P)$(Q):DISABLE") +} + +# % gdatag,pv,ro,$(gda_name=),PRBV +# % archiver 10 Monitor +record(ai, "$(P)$(Q):P:RBV") { + field(DESC, "P Param Readback") + field(DTYP, "stream") + field(INP, "@eurotherm2k.proto read($(GAD),$(LAD),XP) $(PORT)") + field(PREC, "0") + field(SDIS, "$(P)$(Q):DISABLE") +} + +#% gdatag,pv,rw,$(gda_name=),I +record(ao, "$(P)$(Q):I") { + field(DESC, "I Param") + field(DTYP, "stream") + field(FLNK, "$(P)$(Q):I:RBV") + field(OUT, "@eurotherm2k.proto writeint($(GAD),$(LAD),TI,$(P)$(Q)) $(PORT)") + field(PREC, "0") + field(VAL, "28") + field(PINI, "YES") + field(SDIS, "$(P)$(Q):DISABLE") +} + +# % gdatag,pv,ro,$(gda_name=),IRBV +# % archiver 10 Monitor +record(ai, "$(P)$(Q):I:RBV") { + field(DESC, "I Param Readback") + field(DTYP, "stream") + field(INP, "@eurotherm2k.proto read($(GAD),$(LAD),TI) $(PORT)") + field(PREC, "0") + field(SDIS, "$(P)$(Q):DISABLE") +} + +#% gdatag,pv,rw,$(gda_name=),D +record(ao, "$(P)$(Q):D") { + field(DESC, "D Param") + field(DTYP, "stream") + field(FLNK, "$(P)$(Q):D:RBV") + field(OUT, "@eurotherm2k.proto writeint($(GAD),$(LAD),TD,$(P)$(Q)) $(PORT)") + field(PREC, "0") + field(VAL, "4") + field(PINI, "YES") + field(SDIS, "$(P)$(Q):DISABLE") +} + +# % gdatag,pv,ro,$(gda_name=),DRBV +# % archiver 10 Monitor +record(ai, "$(P)$(Q):D:RBV") { + field(DESC, "D Param Readback") + field(DTYP, "stream") + field(INP, "@eurotherm2k.proto read($(GAD),$(LAD),TD) $(PORT)") + field(PREC, "0") + field(SDIS, "$(P)$(Q):DISABLE") +} + +# % gdatag,pv,rw,$(gda_name=),ERR +record(mbbi, "$(P)$(Q):ERR") { + field(DESC, "Error message") + field(DTYP, "stream") + field(INP, "@eurotherm2k.proto readhex($(GAD),$(LAD),EE) $(PORT)") + field(ZRVL, "0") + field(ZRST, "No Error") + field(ONVL, "1") + field(ONST, "Invalid Param") + field(TWVL, "2") + field(TWST, "Read Only") + field(THVL, "7") + field(THST, "Incorrect Msg") + field(FRVL, "8") + field(FRST, "Limit Error") + field(PINI, "YES") + field(SDIS, "$(P)$(Q):DISABLE") +} + +# % gdatag,binary,rw,$(gda_name=),DISABLE +record(bo, "$(P)$(Q):DISABLE") { + field(DESC, "Disable comms") + field(PINI, "YES") + field(VAL, "1") + field(OMSL, "supervisory") + field(ZNAM, "Enabled") + field(ONAM, "Disabled") +} + +record(bo, "$(P)$(Q):MAN") { + field(DESC, "Manual mode enable") + field(DTYP, "stream") + field(SDIS, "$(P)$(Q):DISABLE") + field(FLNK, "$(P)$(Q):MAN:RBV_AI") + field(OUT, "@eurotherm2k.proto writeint($(GAD),$(LAD),mA,$(P)$(Q)) $(PORT)") + field(ZNAM, "Automatic") + field(ONAM, "Manual") + field(PINI, "YES") +} + +record(ai, "$(P)$(Q):MAN:RBV_AI") { + field(DESC, "Manual mode readback") + field(DTYP, "stream") + field(SDIS, "$(P)$(Q):DISABLE") + field(INP, "@eurotherm2k.proto read($(GAD),$(LAD),mA) $(PORT)") + field(FLNK, "$(P)$(Q):MAN:RBV") +} + +# % archiver 10 Monitor +record(bi, "$(P)$(Q):MAN:RBV") { + field(DESC, "Manual mode readback") + field(DTYP, "Soft Channel") + field(INP, "$(P)$(Q):MAN:RBV_AI") + field(ZNAM, "Automatic") + field(ONAM, "Manual") +} + +record(mbbi, "$(P)$(Q):CONF:MODE") { + field(DTYP, "stream") + field(INP, "@eurotherm2k.proto getConfMode($(P)$(Q)) $(PORT)") + field(ZRVL, "0") + field(ONVL, "2") + field(ZRST, "operational") + field(ONST, "configuration") +} + +record(longin, "$(P)$(Q):ADDR") { + field(FLNK, "$(P)$(Q):CONF:DLY") +} + +record(longout, "$(P)$(Q):ADDR:DEVICE") { + field(VAL, "$(LAD)") + field(OUT, "$(P)$(Q):ADDR PP") +} + +record(bo, "$(P)$(Q):CONF:SETMODE") { + field(DTYP, "stream") + field(FLNK, "$(P)$(Q):CONF:ZEROADDR") + field(OUT, "@eurotherm2k.proto setConfMode($(GAD),$(LAD),$(P)$(Q)) $(PORT)") + field(ZNAM, "0") + field(ONAM, "1") +} + +record(bo, "$(P)$(Q):CONF:CLEARMODE") { + field(DTYP, "stream") + field(FLNK, "$(P)$(Q):ADDR:DEVICE") + field(OUT, "@eurotherm2k.proto clearConfMode($(P)$(Q)) $(PORT)") + field(ZNAM, "0") + field(ONAM, "1") +} + +record(longout, "$(P)$(Q):CONF:ZEROADDR") { + field(VAL, "0") + field(OUT, "$(P)$(Q):ADDR PP") +} + +record(stringout, "$(P)$(Q):ADDR:WR") { + field(DESC, "write cmd") + field(DTYP, "stream") + field(OUT, "@eurotherm2k.proto addrWrite($(P)$(Q)) $(PORT)") + field(PINI, "NO") +} + +record(stringout, "$(P)$(Q):ADDR:RD") { + field(DESC, "Read parameter") + field(DTYP, "stream") + field(OUT, "@eurotherm2k.proto addrRead($(P)$(Q)) $(PORT)") +} + +record(stringin, "$(P)$(Q):ADDR:RESP") { + field(DESC, "Read response") +} + +record(mbbi, "$(P)$(Q):CONF:DECP") { + field(DTYP, "stream") + field(INP, "@eurotherm2k.proto getDecPlaces($(P)$(Q)) $(PORT)") + field(ZRVL, "0") + field(ONVL, "1") + field(ZRST, "nnnn.") + field(ONST, "nnn.n") + field(DESC, "decimal places") + field(TWVL, "2") + field(TWST, "nn.nn") +} + +record(mbbo, "$(P)$(Q):CONF:SET:DECP") { + field(DESC, "decimal places") + field(DTYP, "stream") + field(OUT, "@eurotherm2k.proto setDecPlaces($(P)$(Q)) $(PORT)") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "nnnn.") + field(ONST, "nnn.n") + field(TWST, "nn.nn") +} + +record(fanout, "$(P)$(Q):CONF:READ") { + field(FLNK, "$(P)$(Q):CONF:DECP") + field(LNK1, "$(P)$(Q):CONF:RREGU") +} + +record(mbbi, "$(P)$(Q):CONF:RREGU") { + field(DTYP, "stream") + field(INP, "@eurotherm2k.proto getRampRateUnit($(P)$(Q)) $(PORT)") + field(ZRVL, "0") + field(ONVL, "1") + field(ZRST, "sec") + field(ONST, "min") + field(DESC, "decimal places") + field(TWVL, "2") + field(TWST, "hour") +} + +record(mbbo, "$(P)$(Q):CONF:SET:RREGU") { + field(DESC, "decimal places") + field(DTYP, "stream") + field(OUT, "@eurotherm2k.proto setRampRateUnit($(P)$(Q)) $(PORT)") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "sec") + field(ONST, "min") + field(TWST, "hour") +} + + +record(seq, "$(P)$(Q):CONF:DLY") { + field(SELM, "Specified") + field(SELL, "1") + field(DLY1, "5.0") + field(DOL1, "1") + field(LNK1, "$(P)$(Q):CONF:MODE.PROC CA MS") +} + +#! Further lines contain data used by VisualDCT +#! View(206,1478,1.1) +#! Record("$(P)$(Q):UPDATE",960,222,0,0,"$(P)$(Q):UPDATE") +#! Field("$(P)$(Q):UPDATE.LNK1",16777215,1,"$(P)$(Q):UPDATE.LNK1") +#! Link("$(P)$(Q):UPDATE.LNK1","$(P)$(Q):SP:RBV.PROC") +#! Field("$(P)$(Q):UPDATE.LNK2",16777215,1,"$(P)$(Q):UPDATE.LNK2") +#! Link("$(P)$(Q):UPDATE.LNK2","$(P)$(Q):RR:RBV.PROC") +#! Field("$(P)$(Q):UPDATE.LNK3",16777215,1,"$(P)$(Q):UPDATE.LNK3") +#! Link("$(P)$(Q):UPDATE.LNK3","$(P)$(Q):O:RBV.PROC") +#! Field("$(P)$(Q):UPDATE.LNK4",16777215,1,"$(P)$(Q):UPDATE.LNK4") +#! Link("$(P)$(Q):UPDATE.LNK4","$(P)$(Q):PV:RBV.PROC") +#! Field("$(P)$(Q):UPDATE.LNK5",16777215,1,"$(P)$(Q):UPDATE.LNK5") +#! Link("$(P)$(Q):UPDATE.LNK5","$(P)$(Q):MAN:RBV_AI.PROC") +#! Record("$(P)$(Q):PID",1080,1258,0,1,"$(P)$(Q):PID") +#! Field("$(P)$(Q):PID.LNK1",16777215,1,"$(P)$(Q):PID.LNK1") +#! Link("$(P)$(Q):PID.LNK1","$(P)$(Q):P:RBV.PROC") +#! Field("$(P)$(Q):PID.LNK2",16777215,1,"$(P)$(Q):PID.LNK2") +#! Link("$(P)$(Q):PID.LNK2","$(P)$(Q):I:RBV.PROC") +#! Field("$(P)$(Q):PID.LNK3",16777215,1,"$(P)$(Q):PID.LNK3") +#! Link("$(P)$(Q):PID.LNK3","$(P)$(Q):D:RBV.PROC") +#! Record("$(P)$(Q):SP",1200,224,0,0,"$(P)$(Q):SP") +#! Field("$(P)$(Q):SP.FLNK",16777215,1,"$(P)$(Q):SP.FLNK") +#! Link("$(P)$(Q):SP.FLNK","$(P)$(Q):SP:RBV") +#! Field("$(P)$(Q):SP.SDIS",16777215,1,"$(P)$(Q):SP.SDIS") +#! Link("$(P)$(Q):SP.SDIS","$(P)$(Q):DISABLE.VAL") +#! Record("$(P)$(Q):SP:RBV",1480,240,0,0,"$(P)$(Q):SP:RBV") +#! Field("$(P)$(Q):SP:RBV.PROC",16777215,0,"$(P)$(Q):SP:RBV.PROC") +#! Field("$(P)$(Q):SP:RBV.SDIS",16777215,1,"$(P)$(Q):SP:RBV.SDIS") +#! Link("$(P)$(Q):SP:RBV.SDIS","$(P)$(Q):DISABLE.VAL") +#! Record("$(P)$(Q):RR",1180,564,0,0,"$(P)$(Q):RR") +#! Field("$(P)$(Q):RR.FLNK",16777215,1,"$(P)$(Q):RR.FLNK") +#! Link("$(P)$(Q):RR.FLNK","$(P)$(Q):RR:RBV") +#! Field("$(P)$(Q):RR.SDIS",16777215,1,"$(P)$(Q):RR.SDIS") +#! Link("$(P)$(Q):RR.SDIS","$(P)$(Q):DISABLE.VAL") +#! Record("$(P)$(Q):RR:RBV",1500,500,0,0,"$(P)$(Q):RR:RBV") +#! Field("$(P)$(Q):RR:RBV.PROC",16777215,0,"$(P)$(Q):RR:RBV.PROC") +#! Field("$(P)$(Q):RR:RBV.SDIS",16777215,1,"$(P)$(Q):RR:RBV.SDIS") +#! Link("$(P)$(Q):RR:RBV.SDIS","$(P)$(Q):DISABLE.VAL") +#! Record("$(P)$(Q):O",1180,824,0,0,"$(P)$(Q):O") +#! Field("$(P)$(Q):O.FLNK",16777215,1,"$(P)$(Q):O.FLNK") +#! Link("$(P)$(Q):O.FLNK","$(P)$(Q):O:RBV") +#! Field("$(P)$(Q):O.SDIS",16777215,1,"$(P)$(Q):O.SDIS") +#! Link("$(P)$(Q):O.SDIS","$(P)$(Q):DISABLE.VAL") +#! Record("$(P)$(Q):O:RBV",1480,740,0,0,"$(P)$(Q):O:RBV") +#! Field("$(P)$(Q):O:RBV.PROC",16777215,0,"$(P)$(Q):O:RBV.PROC") +#! Field("$(P)$(Q):O:RBV.SDIS",16777215,1,"$(P)$(Q):O:RBV.SDIS") +#! Link("$(P)$(Q):O:RBV.SDIS","$(P)$(Q):DISABLE.VAL") +#! Record("$(P)$(Q):PV:RBV",1460,980,0,0,"$(P)$(Q):PV:RBV") +#! Field("$(P)$(Q):PV:RBV.PROC",16777215,0,"$(P)$(Q):PV:RBV.PROC") +#! Field("$(P)$(Q):PV:RBV.SDIS",16777215,1,"$(P)$(Q):PV:RBV.SDIS") +#! Link("$(P)$(Q):PV:RBV.SDIS","$(P)$(Q):DISABLE.VAL") +#! Record("$(P)$(Q):P",1320,1231,0,0,"$(P)$(Q):P") +#! Field("$(P)$(Q):P.FLNK",16777215,1,"$(P)$(Q):P.FLNK") +#! Link("$(P)$(Q):P.FLNK","$(P)$(Q):P:RBV") +#! Field("$(P)$(Q):P.SDIS",16777215,1,"$(P)$(Q):P.SDIS") +#! Link("$(P)$(Q):P.SDIS","$(P)$(Q):DISABLE.VAL") +#! Record("$(P)$(Q):P:RBV",1580,1234,0,0,"$(P)$(Q):P:RBV") +#! Field("$(P)$(Q):P:RBV.PROC",16777215,0,"$(P)$(Q):P:RBV.PROC") +#! Field("$(P)$(Q):P:RBV.SDIS",16777215,1,"$(P)$(Q):P:RBV.SDIS") +#! Link("$(P)$(Q):P:RBV.SDIS","$(P)$(Q):DISABLE.VAL") +#! Record("$(P)$(Q):I",1300,1511,0,0,"$(P)$(Q):I") +#! Field("$(P)$(Q):I.FLNK",16777215,1,"$(P)$(Q):I.FLNK") +#! Link("$(P)$(Q):I.FLNK","$(P)$(Q):I:RBV") +#! Field("$(P)$(Q):I.SDIS",16777215,1,"$(P)$(Q):I.SDIS") +#! Link("$(P)$(Q):I.SDIS","$(P)$(Q):DISABLE.VAL") +#! Record("$(P)$(Q):I:RBV",1580,1514,0,0,"$(P)$(Q):I:RBV") +#! Field("$(P)$(Q):I:RBV.PROC",16777215,0,"$(P)$(Q):I:RBV.PROC") +#! Field("$(P)$(Q):I:RBV.SDIS",16777215,1,"$(P)$(Q):I:RBV.SDIS") +#! Link("$(P)$(Q):I:RBV.SDIS","$(P)$(Q):DISABLE.VAL") +#! Record("$(P)$(Q):D",1300,1731,0,0,"$(P)$(Q):D") +#! Field("$(P)$(Q):D.FLNK",16777215,1,"$(P)$(Q):D.FLNK") +#! Link("$(P)$(Q):D.FLNK","$(P)$(Q):D:RBV") +#! Field("$(P)$(Q):D.SDIS",16777215,1,"$(P)$(Q):D.SDIS") +#! Link("$(P)$(Q):D.SDIS","$(P)$(Q):DISABLE.VAL") +#! Record("$(P)$(Q):D:RBV",1560,1734,0,0,"$(P)$(Q):D:RBV") +#! Field("$(P)$(Q):D:RBV.PROC",16777215,0,"$(P)$(Q):D:RBV.PROC") +#! Field("$(P)$(Q):D:RBV.SDIS",16777215,1,"$(P)$(Q):D:RBV.SDIS") +#! Link("$(P)$(Q):D:RBV.SDIS","$(P)$(Q):DISABLE.VAL") +#! Record("$(P)$(Q):ERR",1480,2234,0,0,"$(P)$(Q):ERR") +#! Field("$(P)$(Q):ERR.SDIS",16777215,1,"$(P)$(Q):ERR.SDIS") +#! Link("$(P)$(Q):ERR.SDIS","$(P)$(Q):DISABLE.VAL") +#! Record("$(P)$(Q):DISABLE",1920,1040,0,1,"$(P)$(Q):DISABLE") +#! Field("$(P)$(Q):DISABLE.VAL",16777215,0,"$(P)$(Q):DISABLE.VAL") +#! Record("$(P)$(Q):MAN",1300,1971,0,1,"$(P)$(Q):MAN") +#! Field("$(P)$(Q):MAN.FLNK",16777215,1,"$(P)$(Q):MAN.FLNK") +#! Link("$(P)$(Q):MAN.FLNK","$(P)$(Q):MAN:RBV_AI") +#! Field("$(P)$(Q):MAN.SDIS",16777215,1,"$(P)$(Q):MAN.SDIS") +#! Link("$(P)$(Q):MAN.SDIS","$(P)$(Q):DISABLE.VAL") +#! Record("$(P)$(Q):MAN:RBV_AI",1560,1954,0,0,"$(P)$(Q):MAN:RBV_AI") +#! Field("$(P)$(Q):MAN:RBV_AI.SDIS",16777215,1,"$(P)$(Q):MAN:RBV_AI.SDIS") +#! Link("$(P)$(Q):MAN:RBV_AI.SDIS","$(P)$(Q):DISABLE.VAL") +#! Field("$(P)$(Q):MAN:RBV_AI.FLNK",16777215,1,"$(P)$(Q):MAN:RBV_AI.FLNK") +#! Link("$(P)$(Q):MAN:RBV_AI.FLNK","$(P)$(Q):MAN:RBV") +#! Field("$(P)$(Q):MAN:RBV_AI.VAL",16777215,1,"$(P)$(Q):MAN:RBV_AI.VAL") +#! Field("$(P)$(Q):MAN:RBV_AI.PROC",16777215,0,"$(P)$(Q):MAN:RBV_AI.PROC") +#! Record("$(P)$(Q):MAN:RBV",1920,1934,0,0,"$(P)$(Q):MAN:RBV") +#! Field("$(P)$(Q):MAN:RBV.INP",16777215,0,"$(P)$(Q):MAN:RBV.INP") +#! Link("$(P)$(Q):MAN:RBV.INP","$(P)$(Q):MAN:RBV_AI.VAL") +#! Record("$(P)$(Q):CONF:MODE",420,1660,0,1,"$(P)$(Q):CONF:MODE") +#! Field("$(P)$(Q):CONF:MODE.PROC",16777215,1,"$(P)$(Q):CONF:MODE.PROC") +#! Record("$(P)$(Q):ADDR",720,1370,0,1,"$(P)$(Q):ADDR") +#! Field("$(P)$(Q):ADDR.VAL",16777215,0,"$(P)$(Q):ADDR.VAL") +#! Field("$(P)$(Q):ADDR.FLNK",16777215,1,"$(P)$(Q):ADDR.FLNK") +#! Link("$(P)$(Q):ADDR.FLNK","$(P)$(Q):CONF:DLY") +#! Record("$(P)$(Q):ADDR:DEVICE",420,1436,0,0,"$(P)$(Q):ADDR:DEVICE") +#! Field("$(P)$(Q):ADDR:DEVICE.OUT",16777215,1,"$(P)$(Q):ADDR:DEVICE.OUT") +#! Link("$(P)$(Q):ADDR:DEVICE.OUT","$(P)$(Q):ADDR.VAL") +#! Record("$(P)$(Q):CONF:SETMODE",120,1154,0,1,"$(P)$(Q):CONF:SETMODE") +#! Field("$(P)$(Q):CONF:SETMODE.FLNK",16777215,1,"$(P)$(Q):CONF:SETMODE.FLNK") +#! Link("$(P)$(Q):CONF:SETMODE.FLNK","$(P)$(Q):CONF:ZEROADDR") +#! Record("$(P)$(Q):CONF:CLEARMODE",120,1394,0,1,"$(P)$(Q):CONF:CLEARMODE") +#! Field("$(P)$(Q):CONF:CLEARMODE.FLNK",16777215,1,"$(P)$(Q):CONF:CLEARMODE.FLNK") +#! Link("$(P)$(Q):CONF:CLEARMODE.FLNK","$(P)$(Q):ADDR:DEVICE") +#! Record("$(P)$(Q):CONF:ZEROADDR",420,1256,0,0,"$(P)$(Q):CONF:ZEROADDR") +#! Field("$(P)$(Q):CONF:ZEROADDR.OUT",16777215,1,"$(P)$(Q):CONF:ZEROADDR.OUT") +#! Link("$(P)$(Q):CONF:ZEROADDR.OUT","$(P)$(Q):ADDR.VAL") +#! Record("$(P)$(Q):ADDR:WR",40,908,0,1,"$(P)$(Q):ADDR:WR") +#! Record("$(P)$(Q):ADDR:RD",260,921,0,1,"$(P)$(Q):ADDR:RD") +#! Record("$(P)$(Q):ADDR:RESP",460,930,0,1,"$(P)$(Q):ADDR:RESP") +#! Record("$(P)$(Q):CONF:DECP",360,438,0,0,"$(P)$(Q):CONF:DECP") +#! Record("$(P)$(Q):CONF:SET:DECP",660,418,0,1,"$(P)$(Q):CONF:SET:DECP") +#! Record("$(P)$(Q):CONF:READ",20,556,0,1,"$(P)$(Q):CONF:READ") +#! Field("$(P)$(Q):CONF:READ.FLNK",16777215,1,"$(P)$(Q):CONF:READ.FLNK") +#! Link("$(P)$(Q):CONF:READ.FLNK","$(P)$(Q):CONF:DECP") +#! Field("$(P)$(Q):CONF:READ.LNK1",16777215,1,"$(P)$(Q):CONF:READ.LNK1") +#! Link("$(P)$(Q):CONF:READ.LNK1","$(P)$(Q):CONF:RREGU") +#! Record("$(P)$(Q):CONF:RREGU",360,658,0,0,"$(P)$(Q):CONF:RREGU") +#! Record("$(P)$(Q):CONF:SET:RREGU",660,658,0,1,"$(P)$(Q):CONF:SET:RREGU") +#! Record("$(P)$(Q):CONF:DLY",760,1674,0,1,"$(P)$(Q):CONF:DLY") +#! Field("$(P)$(Q):CONF:DLY.LNK1",16777215,0,"$(P)$(Q):CONF:DLY.LNK1") +#! Link("$(P)$(Q):CONF:DLY.LNK1","$(P)$(Q):CONF:MODE.PROC") diff -r ec018606c207 -r 68a4f654dc00 db/focusEVC300.db --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/db/focusEVC300.db Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,186 @@ +record(ai, "$(P):$(R):HV"){ + field(DESC, "measured high voltage") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getFloat(HV) $(PORT)") + field(EGU, "V") + field(SCAN, "1 second") +} + +record(ai, "$(P):$(R):HVmax"){ + field(DESC, "max. measured high voltage") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getFloat(HVmax) $(PORT)") + field(EGU, "V") + field(SCAN, "1 second") +} + +record(ai, "$(P):$(R):Emis"){ + field(DESC, "measured emission current") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getFloat(Emis) $(PORT)") + field(EGU, "mA") + field(SCAN, "1 second") +} + +record(ai, "$(P):$(R):Emismax"){ + field(DESC, "max. measured emission current") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getFloat(Emismax) $(PORT)") + field(EGU, "mA") + field(SCAN, "1 second") +} + +record(ai, "$(P):$(R):Fil"){ + field(DESC, "measured filament current") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getFloat(Fil) $(PORT)") + field(EGU, "A") + field(SCAN, "1 second") +} + +record(ai, "$(P):$(R):Filmax"){ + field(DESC, "max. measured filament current") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getFloat(Filmax) $(PORT)") + field(EGU, "A") + field(SCAN, "1 second") +} + +record(ai, "$(P):$(R):Temp"){ + field(DESC, "measured temperature of thermocouple") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getFloat(Temp) $(PORT)") + field(EGU, "°C") + field(SCAN, "1 second") +} + +record(ai, "$(P):$(R):Flux"){ + field(DESC, "measured flux") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getFloat(Flux) $(PORT)") + field(EGU, "A") + field(SCAN, "1 second") +} + +record(ai, "$(P):$(R):Aux"){ + field(DESC, "measured voltage at AUX-input") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getFloat(Aux) $(PORT)") + field(EGU, "V") + field(SCAN, "1 second") +} + +record(stringin, "$(P):$(R):TMR"){ + field(DESC, "reached timer count-down") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getString(TMR) $(PORT)") + field(SCAN, "1 second") +} + +record(stringin, "$(P):$(R):Clk"){ + field(DESC, "accumulated clock-time") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getString(Clk) $(PORT)") + field(SCAN, "1 second") +} + +record(ai, "$(P):$(R):Exp"){ + field(DESC, "reached exposition count-down") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getFloat(Exp) $(PORT)") + field(SCAN, "1 second") +} + +record(ai, "$(P):$(R):Dep"){ + field(DESC, "accumulated deposition") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getFloat(Dep) $(PORT)") + field(SCAN, "1 second") +} + +record(bi, "$(P):$(R):Timer"){ + field(DESC, "timer status") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getBool(Timer) $(PORT)") + field(ONAM, "ON") + field(ZNAM, "OFF") + field(SCAN, "1 second") +} + +record(bi, "$(P):$(R):Clock"){ + field(DESC, "clock status") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getBool(Clock) $(PORT)") + field(ONAM, "ON") + field(ZNAM, "OFF") + field(SCAN, "1 second") +} + +record(bi, "$(P):$(R):Exposure"){ + field(DESC, "exposition status") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getBool(Exposure) $(PORT)") + field(ONAM, "ON") + field(ZNAM, "OFF") +} + +record(bi, "$(P):$(R):Deposition"){ + field(DESC, "deposition status") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getBool(Deposition) $(PORT)") + field(ONAM, "ON") + field(ZNAM, "OFF") + field(SCAN, "1 second") +} + +record(bi, "$(P):$(R):Automodus"){ + field(DESC, "flux regulation status") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getBool(Automodus) $(PORT)") + field(ONAM, "ON") + field(ZNAM, "OFF") + field(SCAN, "1 second") +} + +record(bi, "$(P):$(R):Fluxmode"){ + field(DESC, "automodus status") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getBool(Fluxmode) $(PORT)") + field(ONAM, "ON") + field(ZNAM, "OFF") + field(SCAN, "1 second") +} + +record(stringin, "$(P):$(R):Shutter"){ + field(DESC, "shutter status") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getString(Shutter) $(PORT)") + field(SCAN, "1 second") +} + +record(bi, "$(P):$(R):Emiscon"){ + field(DESC, "emission or filament; status") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getBool(Emiscon) $(PORT)") + field(ONAM, "off: filament control") + field(ZNAM, "on: emission control") + field(SCAN, "1 second") +} + +record(bi, "$(P):$(R):Interlock"){ + field(DESC, "interlock status") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getBool(Interlock) $(PORT)") + field(ONAM, "ok") + field(ZNAM, "failure") + field(SCAN, "1 second") +} + +record(bi, "$(P):$(R):Supr"){ + field(DESC, "suppressor status") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getBool(Timer) $(PORT)") + field(ONAM, "ON") + field(ZNAM, "OFF") + field(SCAN, "1 second") +} \ No newline at end of file diff -r ec018606c207 -r 68a4f654dc00 db/focusEVC300.proto --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/db/focusEVC300.proto Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,16 @@ +Terminator = CR; + +getFloat{ + out "GET \$1"; + in "%f"; +} + +getBool{ + out "GET \$1"; + in "%b"; +} + +getString{ + out "GET \$1"; + in "%#s"; +} \ No newline at end of file diff -r ec018606c207 -r 68a4f654dc00 db/maxigauge.proto --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/db/maxigauge.proto Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,6 @@ +getSensorValue { + out "PR\$1\r"; + in ACK CR 0x00 LF; + out ENQ; + in "%s" CR 0x00 LF; +} diff -r ec018606c207 -r 68a4f654dc00 db/maxigauge.sub --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/db/maxigauge.sub Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,14 @@ +# macros +# P -> Device +# R -> PV +# PORT -> Asyn Link +# CHA -> Physical Port on the Pfeiffer Maxigauge + +file db/maxigauge.template +{ + pattern{ P, R, PORT, CHA } + { "FHI2KSTMAFM:MaxiGauge", "ForeVacuum", "MAXI_01", "1" } + { "FHI2KSTMAFM:MaxiGauge", "ExchangeGas", "MAXI_01", "2" } + { "FHI2KSTMAFM:MaxiGauge", "PrepChamber", "MAXI_01", "3" } + { "FHI2KSTMAFM:MaxiGauge", "MainChamber", "MAXI_01", "4" } +} diff -r ec018606c207 -r 68a4f654dc00 db/maxigauge.template --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/db/maxigauge.template Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,22 @@ +record(stringin, "$(P):$(R):getter"){ + field(DESC, "get Pfeiffer MaxiGauge Sensor Value") + field(DTYP, "stream") + field(INP, "@maxigauge.proto getSensorValue($(CHA)) $(PORT)") + field(SCAN, "1 second") + field(FLNK, "$(P):$(R):Status") +} + +record(scalcout, "$(P):$(R):Status"){ + field(DESC, "extracts the Status from the response") + field(INAA, "$(P):$(R):getter") + field(CALC, "SSCANF(AA, \"%d%*\")") + field(FLNK, "$(P):$(R):Pressure") +} + +record(scalcout, "$(P):$(R):Pressure"){ + field(DESC, "extracts the Pressure from the response") + field(INAA, "$(P):$(R):getter") + field(CALC, "SSCANF(AA, \"%*2c%E\")") + field(PREC, "12") + field(EGU, "mbar") +} diff -r ec018606c207 -r 68a4f654dc00 db/misc.db --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/db/misc.db Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,9 @@ +record(calc, "$(P):$(Q):graphUpdate") +{ +field(DESC, "Just a counter to update graphs") +field(SCAN, "1 second") +field(INPA, "$(P):$(Q):graphUpdate.VAL NPP NMS") +field(INPB, "1") +field(CALC, "B?A+B:B") +field(EGU, "rels") +} diff -r ec018606c207 -r 68a4f654dc00 db/mtm.db --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/db/mtm.db Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,36 @@ +record(ai, "$(P):$(Q):thickness") +{ +field(SCAN, "I/O Intr") +field(DTYP,"stream") +field(INP,"@mtm.proto read($(P):$(Q):sampleNr) $(PORT) -1") +field(EGU,"nm") +field(HOPR,"10") +field(LOPR,"-15") +field (FLNK,"$(P):$(Q):thicknessAVG") +} + +record(longin, "$(P):$(Q):sampleNr") +{ + field (FLNK,"$(P):$(Q):sampleNrMDN") +} + +record(compress,"$(P):$(Q):thicknessAVG") +{ + field(DESC, "thickness average") + field(INP,"$(P):$(Q):thickness.VAL NPP NMS") + field(ALG,"N to 1 Average") + field(NSAM,"1") + field(N,"10") + field(HOPR,"10") + field(LOPR,"-25") + field(EGU,"nm") +} + +record(compress,"$(P):$(Q):sampleNrMDN") +{ + field(DESC, "thickness average") + field(INP,"$(P):$(Q):sampleNr.VAL NPP NMS") + field(ALG,"N to 1 Median") + field(NSAM,"1") + field(N,"10") +} diff -r ec018606c207 -r 68a4f654dc00 db/mtm.proto --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/db/mtm.proto Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,2 @@ +Terminator = CR NUL LF; +read { in "%(\$1)d,%f"; } diff -r ec018606c207 -r 68a4f654dc00 dbd/kstm.dbd --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dbd/kstm.dbd Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,22000 @@ +menu(selSELM) { + choice(selSELM_Specified, "Specified") + choice(selSELM_High_Signal, "High Signal") + choice(selSELM_Low_Signal, "Low Signal") + choice(selSELM_Median_Signal, "Median Signal") +} +menu(menuOmsl) { + choice(menuOmslsupervisory, "supervisory") + choice(menuOmslclosed_loop, "closed_loop") +} +menu(asynAUTOCONNECT) { + choice(asynAUTOCONNECT_noAutoConnect, "noAutoConnect") + choice(asynAUTOCONNECT_autoConnect, "autoConnect") +} +menu(calcoutDOPT) { + choice(calcoutDOPT_Use_VAL, "Use CALC") + choice(calcoutDOPT_Use_OVAL, "Use OCAL") +} +menu(menuScan) { + choice(menuScanPassive, "Passive") + choice(menuScanEvent, "Event") + choice(menuScanI_O_Intr, "I/O Intr") + choice(menuScan10_second, "10 second") + choice(menuScan5_second, "5 second") + choice(menuScan2_second, "2 second") + choice(menuScan1_second, "1 second") + choice(menuScan_5_second, ".5 second") + choice(menuScan_2_second, ".2 second") + choice(menuScan_1_second, ".1 second") +} +menu(transformIVLA) { + choice(transformIVLA_IGNORE, "Ignore error") + choice(transformIVLA_DO_NOTHING, "Do Nothing") +} +menu(gpibUCMD) { + choice(gpibUCMD_None, "None") + choice(gpibUCMD_Device_Clear__DCL_, "Device Clear (DCL)") + choice(gpibUCMD_Local_Lockout__LL0_, "Local Lockout (LL0)") + choice(gpibUCMD_Serial_Poll_Disable__SPD_, "Serial Poll Disable (SPD)") + choice(gpibUCMD_Serial_Poll_Enable__SPE_, "Serial Poll Enable (SPE)") + choice(gpibUCMD_Unlisten__UNL_, "Unlisten (UNL)") + choice(gpibUCMD_Untalk__UNT_, "Untalk (UNT)") +} +menu(menuFtype) { + choice(menuFtypeSTRING, "STRING") + choice(menuFtypeCHAR, "CHAR") + choice(menuFtypeUCHAR, "UCHAR") + choice(menuFtypeSHORT, "SHORT") + choice(menuFtypeUSHORT, "USHORT") + choice(menuFtypeLONG, "LONG") + choice(menuFtypeULONG, "ULONG") + choice(menuFtypeFLOAT, "FLOAT") + choice(menuFtypeDOUBLE, "DOUBLE") + choice(menuFtypeENUM, "ENUM") +} +menu(menuPost) { + choice(menuPost_OnChange, "On Change") + choice(menuPost_Always, "Always") +} +menu(calcoutINAV) { + choice(calcoutINAV_EXT_NC, "Ext PV NC") + choice(calcoutINAV_EXT, "Ext PV OK") + choice(calcoutINAV_LOC, "Local PV") + choice(calcoutINAV_CON, "Constant") +} +menu(serialMCTL) { + choice(serialMCTL_unknown, "Unknown") + choice(serialMCTL_CLOCAL, "CLOCAL") + choice(serialMCTL_Yes, "YES") +} +menu(aaoPOST) { + choice(aaoPOST_Always, "Always") + choice(aaoPOST_OnChange, "On Change") +} +menu(serialSBIT) { + choice(serialSBIT_unknown, "Unknown") + choice(serialSBIT_1, "1") + choice(serialSBIT_2, "2") +} +menu(menuPini) { + choice(menuPiniNO, "NO") + choice(menuPiniYES, "YES") + choice(menuPiniRUN, "RUN") + choice(menuPiniRUNNING, "RUNNING") + choice(menuPiniPAUSE, "PAUSE") + choice(menuPiniPAUSED, "PAUSED") +} +menu(menuYesNo) { + choice(menuYesNoNO, "NO") + choice(menuYesNoYES, "YES") +} +menu(scalcoutOOPT) { + choice(scalcoutOOPT_Every_Time, "Every Time") + choice(scalcoutOOPT_On_Change, "On Change") + choice(scalcoutOOPT_When_Zero, "When Zero") + choice(scalcoutOOPT_When_Non_zero, "When Non-zero") + choice(scalcoutOOPT_Transition_To_Zero, "Transition To Zero") + choice(scalcoutOOPT_Transition_To_Non_zero, "Transition To Non-zero") + choice(scalcoutOOPT_Never, "Never") +} +menu(serialFCTL) { + choice(serialFCTL_unknown, "Unknown") + choice(serialFCTL_None, "None") + choice(serialFCTL_Hardware, "Hardware") +} +menu(scalcoutINAV) { + choice(scalcoutINAV_EXT_NC, "Ext PV NC") + choice(scalcoutINAV_EXT, "Ext PV OK") + choice(scalcoutINAV_LOC, "Local PV") + choice(scalcoutINAV_CON, "Constant") +} +menu(aoOIF) { + choice(aoOIF_Full, "Full") + choice(aoOIF_Incremental, "Incremental") +} +menu(fanoutSELM) { + choice(fanoutSELM_All, "All") + choice(fanoutSELM_Specified, "Specified") + choice(fanoutSELM_Mask, "Mask") +} +menu(asynEOMREASON) { + choice(asynEOMREASONNone, "None") + choice(asynEOMREASONCNT, "Count") + choice(asynEOMREASONEOS, "Eos") + choice(asynEOMREASONCNTEOS, "Count Eos") + choice(asynEOMREASONEND, "End") + choice(asynEOMREASONCNTEND, "Count End") + choice(asynEOMREASONEOSEND, "Eos End") + choice(asynEOMREASONCNTEOSEND, "Count Eos End") +} +menu(acalcoutDOPT) { + choice(acalcoutDOPT_Use_VAL, "Use CALC") + choice(acalcoutDOPT_Use_OVAL, "Use OCAL") +} +menu(scalcoutINAP) { + choice(scalcoutINAP_No, "No PROC on Change") + choice(scalcoutINAP_Yes, "PROC on Change") +} +menu(menuAlarmSevr) { + choice(menuAlarmSevrNO_ALARM, "NO_ALARM") + choice(menuAlarmSevrMINOR, "MINOR") + choice(menuAlarmSevrMAJOR, "MAJOR") + choice(menuAlarmSevrINVALID, "INVALID") +} +menu(swaitINAV) { + choice(swaitINAV_PV_OK, "PV OK") + choice(swaitINAV_PV_BAD, "PV BAD") + choice(swaitINAV_No_PV, "No PV") +} +menu(menuIvoa) { + choice(menuIvoaContinue_normally, "Continue normally") + choice(menuIvoaDon_t_drive_outputs, "Don't drive outputs") + choice(menuIvoaSet_output_to_IVOV, "Set output to IVOV") +} +menu(transformIAV) { + choice(transformIAV_EXT_NC, "Ext PV NC") + choice(transformIAV_EXT, "Ext PV OK") + choice(transformIAV_LOC, "Local PV") + choice(transformIAV_CON, "Constant") +} +menu(acalcoutOOPT) { + choice(acalcoutOOPT_Every_Time, "Every Time") + choice(acalcoutOOPT_On_Change, "On Change") + choice(acalcoutOOPT_When_Zero, "When Zero") + choice(acalcoutOOPT_When_Non_zero, "When Non-zero") + choice(acalcoutOOPT_Transition_To_Zero, "Transition To Zero") + choice(acalcoutOOPT_Transition_To_Non_zero, "Transition To Non-zero") + choice(acalcoutOOPT_Never, "Never") +} +menu(calcoutOOPT) { + choice(calcoutOOPT_Every_Time, "Every Time") + choice(calcoutOOPT_On_Change, "On Change") + choice(calcoutOOPT_When_Zero, "When Zero") + choice(calcoutOOPT_When_Non_zero, "When Non-zero") + choice(calcoutOOPT_Transition_To_Zero, "Transition To Zero") + choice(calcoutOOPT_Transition_To_Non_zero, "Transition To Non-zero") +} +menu(acalcoutWAIT) { + choice(acalcoutWAIT_NoWait, "NoWait") + choice(acalcoutWAIT_Wait, "Wait") +} +menu(asynINTERFACE) { + choice(asynINTERFACE_OCTET, "asynOctet") + choice(asynINTERFACE_INT32, "asynInt32") + choice(asynINTERFACE_UINT32, "asynUInt32Digital") + choice(asynINTERFACE_FLOAT64, "asynFloat64") +} +menu(acalcoutINAP) { + choice(acalcoutINAP_No, "No PROC on Change") + choice(acalcoutINAP_Yes, "PROC on Change") +} +menu(histogramCMD) { + choice(histogramCMD_Read, "Read") + choice(histogramCMD_Clear, "Clear") + choice(histogramCMD_Start, "Start") + choice(histogramCMD_Stop, "Stop") +} +menu(acalcoutINAV) { + choice(acalcoutINAV_EXT_NC, "Ext PV NC") + choice(acalcoutINAV_EXT, "Ext PV OK") + choice(acalcoutINAV_LOC, "Local PV") + choice(acalcoutINAV_CON, "Constant") +} +menu(swaitOOPT) { + choice(swaitOOPT_Every_Time, "Every Time") + choice(swaitOOPT_On_Change, "On Change") + choice(swaitOOPT_When_Zero, "When Zero") + choice(swaitOOPT_When_Non_zero, "When Non-zero") + choice(swaitOOPT_Transition_To_Zero, "Transition To Zero") + choice(swaitOOPT_Transition_To_Non_zero, "Transition To Non-zero") + choice(swaitOOPT_Never, "Never") +} +menu(gpibACMD) { + choice(gpibACMD_None, "None") + choice(gpibACMD_Group_Execute_Trig___GET_, "Group Execute Trig. (GET)") + choice(gpibACMD_Go_To_Local__GTL_, "Go To Local (GTL)") + choice(gpibACMD_Selected_Dev__Clear__SDC_, "Selected Dev. Clear (SDC)") + choice(gpibACMD_Take_Control__TCT_, "Take Control (TCT)") + choice(gpibACMD_Serial_Poll, "Serial Poll") +} +menu(swaitINAP) { + choice(swaitINAP_No, "No") + choice(swaitINAP_Yes, "Yes") +} +menu(transformCOPT) { + choice(transformCOPT_CONDITIONAL, "Conditional") + choice(transformCOPT_ALWAYS, "Always") +} +menu(swaitDOPT) { + choice(swaitDOPT_Use_VAL, "Use VAL") + choice(swaitDOPT_Use_DOL, "Use DOL") +} +menu(menuConvert) { + choice(menuConvertNO_CONVERSION, "NO CONVERSION") + choice(menuConvertSLOPE, "SLOPE") + choice(menuConvertLINEAR, "LINEAR") + choice(menuConverttypeKdegF, "typeKdegF") + choice(menuConverttypeKdegC, "typeKdegC") + choice(menuConverttypeJdegF, "typeJdegF") + choice(menuConverttypeJdegC, "typeJdegC") + choice(menuConverttypeEdegF, "typeEdegF(ixe only)") + choice(menuConverttypeEdegC, "typeEdegC(ixe only)") + choice(menuConverttypeTdegF, "typeTdegF") + choice(menuConverttypeTdegC, "typeTdegC") + choice(menuConverttypeRdegF, "typeRdegF") + choice(menuConverttypeRdegC, "typeRdegC") + choice(menuConverttypeSdegF, "typeSdegF") + choice(menuConverttypeSdegC, "typeSdegC") +} +menu(asynFMT) { + choice(asynFMT_ASCII, "ASCII") + choice(asynFMT_Hybrid, "Hybrid") + choice(asynFMT_Binary, "Binary") +} +menu(serialBAUD) { + choice(serialBAUD_unknown, "Unknown") + choice(serialBAUD_300, "300") + choice(serialBAUD_600, "600") + choice(serialBAUD_1200, "1200") + choice(serialBAUD_2400, "2400") + choice(serialBAUD_4800, "4800") + choice(serialBAUD_9600, "9600") + choice(serialBAUD_19200, "19200") + choice(serialBAUD_38400, "38400") + choice(serialBAUD_57600, "57600") + choice(serialBAUD_115200, "115200") + choice(serialBAUD_230400, "230400") + choice(serialBAUD_460800, "460800") + choice(serialBAUD_576000, "576000") + choice(serialBAUD_921600, "921600") + choice(serialBAUD_1152000, "1152000") +} +menu(asynTMOD) { + choice(asynTMOD_Write_Read, "Write/Read") + choice(asynTMOD_Write, "Write") + choice(asynTMOD_Read, "Read") + choice(asynTMOD_Flush, "Flush") + choice(asynTMOD_NoIO, "NoI/O") +} +menu(menuAlarmStat) { + choice(menuAlarmStatNO_ALARM, "NO_ALARM") + choice(menuAlarmStatREAD, "READ") + choice(menuAlarmStatWRITE, "WRITE") + choice(menuAlarmStatHIHI, "HIHI") + choice(menuAlarmStatHIGH, "HIGH") + choice(menuAlarmStatLOLO, "LOLO") + choice(menuAlarmStatLOW, "LOW") + choice(menuAlarmStatSTATE, "STATE") + choice(menuAlarmStatCOS, "COS") + choice(menuAlarmStatCOMM, "COMM") + choice(menuAlarmStatTIMEOUT, "TIMEOUT") + choice(menuAlarmStatHWLIMIT, "HWLIMIT") + choice(menuAlarmStatCALC, "CALC") + choice(menuAlarmStatSCAN, "SCAN") + choice(menuAlarmStatLINK, "LINK") + choice(menuAlarmStatSOFT, "SOFT") + choice(menuAlarmStatBAD_SUB, "BAD_SUB") + choice(menuAlarmStatUDF, "UDF") + choice(menuAlarmStatDISABLE, "DISABLE") + choice(menuAlarmStatSIMM, "SIMM") + choice(menuAlarmStatREAD_ACCESS, "READ_ACCESS") + choice(menuAlarmStatWRITE_ACCESS, "WRITE_ACCESS") +} +menu(dfanoutSELM) { + choice(dfanoutSELM_All, "All") + choice(dfanoutSELM_Specified, "Specified") + choice(dfanoutSELM_Mask, "Mask") +} +menu(sseqLNKV) { + choice(sseqLNKV_EXT_NC, "Ext PV NC") + choice(sseqLNKV_EXT, "Ext PV OK") + choice(sseqLNKV_LOC, "Local PV") + choice(sseqLNKV_CON, "Constant") +} +menu(asynCONNECT) { + choice(asynCONNECT_Disconnect, "Disconnect") + choice(asynCONNECT_Connect, "Connect") +} +menu(menuPriority) { + choice(menuPriorityLOW, "LOW") + choice(menuPriorityMEDIUM, "MEDIUM") + choice(menuPriorityHIGH, "HIGH") +} +menu(asynENABLE) { + choice(asynENABLE_Disable, "Disable") + choice(asynENABLE_Enable, "Enable") +} +menu(scalcoutWAIT) { + choice(scalcoutWAIT_NoWait, "NoWait") + choice(scalcoutWAIT_Wait, "Wait") +} +menu(menuSimm) { + choice(menuSimmNO, "NO") + choice(menuSimmYES, "YES") + choice(menuSimmRAW, "RAW") +} +menu(sseqWAIT) { + choice(sseqWAIT_NoWait, "NoWait") + choice(sseqWAIT_Wait, "Wait") + choice(sseqWAIT_Wait1, "After1") + choice(sseqWAIT_Wait2, "After2") + choice(sseqWAIT_Wait3, "After3") + choice(sseqWAIT_Wait4, "After4") + choice(sseqWAIT_Wait5, "After5") + choice(sseqWAIT_Wait6, "After6") + choice(sseqWAIT_Wait7, "After7") + choice(sseqWAIT_Wait8, "After8") + choice(sseqWAIT_Wait9, "After9") + choice(sseqWAIT_Wait10, "AfterA") +} +menu(sseqSELM) { + choice(sseqSELM_All, "All") + choice(sseqSELM_Specified, "Specified") + choice(sseqSELM_Mask, "Mask") +} +menu(acalcoutSIZE) { + choice(acalcoutSIZE_NELM, "NELM") + choice(acalcoutSIZE_NUSE, "NUSE") +} +menu(stringoutPOST) { + choice(stringoutPOST_OnChange, "On Change") + choice(stringoutPOST_Always, "Always") +} +menu(compressALG) { + choice(compressALG_N_to_1_Low_Value, "N to 1 Low Value") + choice(compressALG_N_to_1_High_Value, "N to 1 High Value") + choice(compressALG_N_to_1_Average, "N to 1 Average") + choice(compressALG_Average, "Average") + choice(compressALG_Circular_Buffer, "Circular Buffer") + choice(compressALG_N_to_1_Median, "N to 1 Median") +} +menu(seqSELM) { + choice(seqSELM_All, "All") + choice(seqSELM_Specified, "Specified") + choice(seqSELM_Mask, "Mask") +} +menu(serialDBIT) { + choice(serialDBIT_unknown, "Unknown") + choice(serialDBIT_5, "5") + choice(serialDBIT_6, "6") + choice(serialDBIT_7, "7") + choice(serialDBIT_8, "8") +} +menu(aaiPOST) { + choice(aaiPOST_Always, "Always") + choice(aaiPOST_OnChange, "On Change") +} +menu(aSubLFLG) { + choice(aSubLFLG_IGNORE, "IGNORE") + choice(aSubLFLG_READ, "READ") +} +menu(aSubEFLG) { + choice(aSubEFLG_NEVER, "NEVER") + choice(aSubEFLG_ON_CHANGE, "ON CHANGE") + choice(aSubEFLG_ALWAYS, "ALWAYS") +} +menu(serialPRTY) { + choice(serialPRTY_unknown, "Unknown") + choice(serialPRTY_None, "None") + choice(serialPRTY_Even, "Even") + choice(serialPRTY_Odd, "Odd") +} +menu(serialIX) { + choice(serialIX_unknown, "Unknown") + choice(serialIX_No, "No") + choice(serialIX_Yes, "Yes") +} +menu(stringinPOST) { + choice(stringinPOST_OnChange, "On Change") + choice(stringinPOST_Always, "Always") +} +menu(asynTRACE) { + choice(asynTRACE_Off, "Off") + choice(asynTRACE_On, "On") +} +menu(scalcoutDOPT) { + choice(scalcoutDOPT_Use_VAL, "Use CALC") + choice(scalcoutDOPT_Use_OVAL, "Use OCAL") +} +menu(waveformPOST) { + choice(waveformPOST_Always, "Always") + choice(waveformPOST_OnChange, "On Change") +} +recordtype(sub) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + %struct subRecord; + %typedef long (*SUBFUNCPTR)(struct subRecord *); + field(NAME, DBF_STRING) { + prompt("Record Name") + special(SPC_NOMOD) + size(61) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + promptgroup(GUI_COMMON) + size(41) + } + field(ASG, DBF_STRING) { + size(29) + promptgroup(GUI_COMMON) + prompt("Access Security Group") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + special(SPC_SCAN) + menu(menuScan) + prompt("Scan Mechanism") + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup(GUI_SCAN) + interest(1) + } + field(PHAS, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + special(SPC_SCAN) + prompt("Scan Phase") + } + field(EVNT, DBF_STRING) { + special(SPC_SCAN) + prompt("Event Name") + interest(1) + size(40) + promptgroup(GUI_SCAN) + } + field(TSE, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + interest(1) + promptgroup(GUI_SCAN) + } + field(DTYP, DBF_DEVICE) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + promptgroup(GUI_SCAN) + prompt("Disable Value") + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + interest(1) + promptgroup(GUI_SCAN) + } + field(MLOK, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Monitor lock") + interest(4) + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Monitor List") + extra("ELLLIST mlis") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + prompt("Force Processing") + interest(3) + pp(TRUE) + } + field(STAT, DBF_MENU) { + initial("UDF") + menu(menuAlarmStat) + prompt("Alarm Status") + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + menu(menuAlarmStat) + prompt("New Alarm Status") + special(SPC_NOMOD) + interest(2) + } + field(NSEV, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("New Alarm Severity") + interest(2) + } + field(ACKS, DBF_MENU) { + interest(2) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + interest(2) + promptgroup(GUI_ALARMS) + special(SPC_NOMOD) + menu(menuYesNo) + prompt("Alarm Ack Transient") + initial("YES") + } + field(DISS, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + } + field(LCNT, DBF_UCHAR) { + interest(2) + special(SPC_NOMOD) + prompt("Lock Count") + } + field(PACT, DBF_UCHAR) { + interest(1) + prompt("Record active") + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("dbPutField process") + } + field(RPRO, DBF_UCHAR) { + interest(1) + prompt("Reprocess ") + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Access Security Pvt") + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + interest(4) + prompt("pprocessNotify") + special(SPC_NOMOD) + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Scan Private") + interest(4) + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Address of RSET") + interest(4) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("DSET address") + interest(4) + extra("struct dset *dset") + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + prompt("Device Private") + special(SPC_NOMOD) + interest(4) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + special(SPC_NOMOD) + interest(4) + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + prompt("Lock Set") + special(SPC_NOMOD) + interest(4) + } + field(PRIO, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuPriority) + prompt("Scheduling Priority") + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + interest(1) + special(SPC_NOMOD) + prompt("Break Point") + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + initial("1") + interest(1) + promptgroup(GUI_COMMON) + prompt("Undefined") + pp(TRUE) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + interest(1) + promptgroup(GUI_COMMON) + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + } + field(TIME, DBF_NOACCESS) { + interest(2) + special(SPC_NOMOD) + prompt("Time") + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + interest(1) + promptgroup(GUI_LINKS) + } + field(VAL, DBF_DOUBLE) { + prompt("Result") + asl(ASL0) + pp(TRUE) + } + field(INAM, DBF_STRING) { + prompt("Init Routine Name") + special(SPC_NOMOD) + size(40) + promptgroup(GUI_SUB) + interest(1) + } + field(SNAM, DBF_STRING) { + interest(1) + size(40) + promptgroup(GUI_SUB) + special(SPC_MOD) + prompt("Subroutine Name") + } + field(SADR, DBF_NOACCESS) { + extra("SUBFUNCPTR sadr") + interest(4) + special(SPC_NOMOD) + prompt("Subroutine Address") + } + field(INPA, DBF_INLINK) { + prompt("Input A") + promptgroup(GUI_INPUTS) + interest(1) + } + field(INPB, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Input B") + } + field(INPC, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Input C") + } + field(INPD, DBF_INLINK) { + prompt("Input D") + promptgroup(GUI_INPUTS) + interest(1) + } + field(INPE, DBF_INLINK) { + prompt("Input E") + interest(1) + promptgroup(GUI_INPUTS) + } + field(INPF, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input F") + } + field(INPG, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Input G") + } + field(INPH, DBF_INLINK) { + prompt("Input H") + promptgroup(GUI_INPUTS) + interest(1) + } + field(INPI, DBF_INLINK) { + prompt("Input I") + interest(1) + promptgroup(GUI_INPUTS) + } + field(INPJ, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input J") + } + field(INPK, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input K") + } + field(INPL, DBF_INLINK) { + prompt("Input L") + promptgroup(GUI_INPUTS) + interest(1) + } + field(EGU, DBF_STRING) { + prop(YES) + promptgroup(GUI_DISPLAY) + size(16) + interest(1) + prompt("Units Name") + } + field(HOPR, DBF_DOUBLE) { + prop(YES) + interest(1) + promptgroup(GUI_DISPLAY) + prompt("High Operating Rng") + } + field(LOPR, DBF_DOUBLE) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Low Operating Range") + prop(YES) + } + field(HIHI, DBF_DOUBLE) { + pp(TRUE) + prop(YES) + prompt("Hihi Alarm Limit") + interest(1) + promptgroup(GUI_ALARMS) + } + field(LOLO, DBF_DOUBLE) { + prompt("Lolo Alarm Limit") + interest(1) + promptgroup(GUI_ALARMS) + pp(TRUE) + prop(YES) + } + field(HIGH, DBF_DOUBLE) { + prompt("High Alarm Limit") + promptgroup(GUI_ALARMS) + interest(1) + pp(TRUE) + prop(YES) + } + field(LOW, DBF_DOUBLE) { + prompt("Low Alarm Limit") + promptgroup(GUI_ALARMS) + interest(1) + pp(TRUE) + prop(YES) + } + field(PREC, DBF_SHORT) { + prompt("Display Precision") + promptgroup(GUI_DISPLAY) + interest(1) + prop(YES) + } + field(BRSV, DBF_MENU) { + interest(1) + promptgroup(GUI_SUB) + prompt("Bad Return Severity") + menu(menuAlarmSevr) + pp(TRUE) + } + field(HHSV, DBF_MENU) { + prop(YES) + pp(TRUE) + menu(menuAlarmSevr) + prompt("Hihi Severity") + promptgroup(GUI_ALARMS) + interest(1) + } + field(LLSV, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Lolo Severity") + interest(1) + promptgroup(GUI_ALARMS) + pp(TRUE) + prop(YES) + } + field(HSV, DBF_MENU) { + menu(menuAlarmSevr) + prompt("High Severity") + interest(1) + promptgroup(GUI_ALARMS) + pp(TRUE) + prop(YES) + } + field(LSV, DBF_MENU) { + prompt("Low Severity") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_ALARMS) + prop(YES) + pp(TRUE) + } + field(HYST, DBF_DOUBLE) { + prompt("Alarm Deadband") + interest(1) + promptgroup(GUI_ALARMS) + } + field(ADEL, DBF_DOUBLE) { + prompt("Archive Deadband") + interest(1) + promptgroup(GUI_DISPLAY) + } + field(MDEL, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Monitor Deadband") + } + field(A, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input A") + } + field(B, DBF_DOUBLE) { + prompt("Value of Input B") + pp(TRUE) + } + field(C, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input C") + } + field(D, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input D") + } + field(E, DBF_DOUBLE) { + prompt("Value of Input E") + pp(TRUE) + } + field(F, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input F") + } + field(G, DBF_DOUBLE) { + prompt("Value of Input G") + pp(TRUE) + } + field(H, DBF_DOUBLE) { + prompt("Value of Input H") + pp(TRUE) + } + field(I, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input I") + } + field(J, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input J") + } + field(K, DBF_DOUBLE) { + prompt("Value of Input K") + pp(TRUE) + } + field(L, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input L") + } + field(LA, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of A") + special(SPC_NOMOD) + } + field(LB, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of B") + interest(3) + } + field(LC, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of C") + special(SPC_NOMOD) + } + field(LD, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of D") + special(SPC_NOMOD) + } + field(LE, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of E") + interest(3) + } + field(LF, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of F") + interest(3) + } + field(LG, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of G") + special(SPC_NOMOD) + } + field(LH, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of H") + interest(3) + } + field(LI, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of I") + special(SPC_NOMOD) + } + field(LJ, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of J") + interest(3) + } + field(LK, DBF_DOUBLE) { + prompt("Prev Value of K") + special(SPC_NOMOD) + interest(3) + } + field(LL, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Value of L") + } + field(LALM, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Last Value Alarmed") + interest(3) + } + field(ALST, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Last Value Archived") + } + field(MLST, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Last Value Monitored") + interest(3) + } +} +recordtype(state) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + prompt("Record Name") + special(SPC_NOMOD) + size(61) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + size(41) + promptgroup(GUI_COMMON) + } + field(ASG, DBF_STRING) { + size(29) + promptgroup(GUI_COMMON) + prompt("Access Security Group") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scan Mechanism") + menu(menuScan) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuPini) + prompt("Process at iocInit") + } + field(PHAS, DBF_SHORT) { + special(SPC_SCAN) + prompt("Scan Phase") + promptgroup(GUI_SCAN) + interest(1) + } + field(EVNT, DBF_STRING) { + special(SPC_SCAN) + prompt("Event Name") + interest(1) + size(40) + promptgroup(GUI_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup(GUI_SCAN) + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup(GUI_SCAN) + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup(GUI_LINKS) + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + promptgroup(GUI_SCAN) + prompt("Disable Value") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + interest(4) + prompt("Monitor lock") + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + prompt("Monitor List") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + prompt("Force Processing") + interest(3) + pp(TRUE) + } + field(STAT, DBF_MENU) { + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("Alarm Status") + initial("UDF") + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + interest(2) + } + field(NSEV, DBF_MENU) { + interest(2) + prompt("New Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + interest(2) + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + } + field(ACKT, DBF_MENU) { + initial("YES") + special(SPC_NOMOD) + menu(menuYesNo) + prompt("Alarm Ack Transient") + promptgroup(GUI_ALARMS) + interest(2) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_SCAN) + } + field(LCNT, DBF_UCHAR) { + interest(2) + prompt("Lock Count") + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + interest(1) + prompt("Record active") + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + special(SPC_NOMOD) + interest(4) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + special(SPC_NOMOD) + interest(4) + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + extra("struct processNotifyRecord *ppnr") + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + interest(4) + } + field(SPVT, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Scan Private") + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + extra("struct rset *rset") + special(SPC_NOMOD) + prompt("Address of RSET") + interest(4) + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + special(SPC_NOMOD) + prompt("DSET address") + } + field(DPVT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Device Private") + interest(4) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + special(SPC_NOMOD) + interest(4) + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + special(SPC_SCAN) + menu(menuPriority) + prompt("Scheduling Priority") + promptgroup(GUI_SCAN) + interest(1) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + interest(1) + special(SPC_NOMOD) + prompt("Break Point") + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + interest(1) + promptgroup(GUI_COMMON) + prompt("Undefined") + initial("1") + pp(TRUE) + } + field(UDFS, DBF_MENU) { + interest(1) + promptgroup(GUI_COMMON) + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + extra("epicsTimeStamp time") + prompt("Time") + special(SPC_NOMOD) + interest(2) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup(GUI_LINKS) + interest(1) + } + field(VAL, DBF_STRING) { + pp(TRUE) + prompt("Value") + asl(ASL0) + size(20) + promptgroup(GUI_DISPLAY) + } + field(OVAL, DBF_STRING) { + special(SPC_NOMOD) + prompt("Prev Value") + interest(3) + size(20) + } +} +recordtype(waveform) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + size(41) + promptgroup(GUI_COMMON) + } + field(ASG, DBF_STRING) { + prompt("Access Security Group") + special(SPC_AS) + size(29) + promptgroup(GUI_COMMON) + } + field(SCAN, DBF_MENU) { + special(SPC_SCAN) + menu(menuScan) + prompt("Scan Mechanism") + interest(1) + promptgroup(GUI_SCAN) + } + field(PINI, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuPini) + prompt("Process at iocInit") + } + field(PHAS, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scan Phase") + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + special(SPC_SCAN) + prompt("Event Name") + interest(1) + promptgroup(GUI_SCAN) + size(40) + } + field(TSE, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup(GUI_SCAN) + interest(1) + } + field(DTYP, DBF_DEVICE) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + promptgroup(GUI_SCAN) + prompt("Disable Value") + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + special(SPC_NOMOD) + prompt("Monitor lock") + interest(4) + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + special(SPC_NOMOD) + prompt("Monitor List") + interest(4) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + interest(3) + prompt("Force Processing") + } + field(STAT, DBF_MENU) { + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + initial("UDF") + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Alarm Severity") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + menu(menuAlarmStat) + prompt("New Alarm Status") + special(SPC_NOMOD) + interest(2) + } + field(NSEV, DBF_MENU) { + interest(2) + prompt("New Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + special(SPC_NOMOD) + interest(2) + } + field(ACKT, DBF_MENU) { + initial("YES") + interest(2) + promptgroup(GUI_ALARMS) + special(SPC_NOMOD) + menu(menuYesNo) + prompt("Alarm Ack Transient") + } + field(DISS, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + } + field(LCNT, DBF_UCHAR) { + interest(2) + special(SPC_NOMOD) + prompt("Lock Count") + } + field(PACT, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Record active") + } + field(PUTF, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("dbPutField process") + } + field(RPRO, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Reprocess ") + } + field(ASP, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Access Security Pvt") + interest(4) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + interest(4) + prompt("pprocessNotify") + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + extra("struct processNotifyRecord *ppnr") + interest(4) + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + special(SPC_NOMOD) + interest(4) + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + interest(4) + prompt("Address of RSET") + special(SPC_NOMOD) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + prompt("DSET address") + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + interest(4) + prompt("Device Private") + special(SPC_NOMOD) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Address of dbRecordType") + interest(4) + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + special(SPC_NOMOD) + interest(4) + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + interest(1) + prompt("Break Point") + special(SPC_NOMOD) + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + interest(1) + promptgroup(GUI_COMMON) + prompt("Undefined") + initial("1") + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup(GUI_COMMON) + interest(1) + } + field(TIME, DBF_NOACCESS) { + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + prompt("Time") + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + interest(1) + promptgroup(GUI_LINKS) + } + field(VAL, DBF_NOACCESS) { + extra("void * val") + special(SPC_DBADDR) + asl(ASL0) + prompt("Value") + pp(TRUE) + } + field(RARM, DBF_SHORT) { + pp(TRUE) + prompt("Rearm the waveform") + promptgroup(GUI_WAVE) + interest(1) + } + field(PREC, DBF_SHORT) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Display Precision") + prop(YES) + } + field(INP, DBF_INLINK) { + prompt("Input Specification") + interest(1) + promptgroup(GUI_INPUTS) + } + field(EGU, DBF_STRING) { + prompt("Engineering Units Name") + promptgroup(GUI_DISPLAY) + size(16) + interest(1) + prop(YES) + } + field(HOPR, DBF_DOUBLE) { + prompt("High Operating Range") + interest(1) + promptgroup(GUI_DISPLAY) + prop(YES) + } + field(LOPR, DBF_DOUBLE) { + prop(YES) + prompt("Low Operating Range") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(NELM, DBF_ULONG) { + initial("1") + prompt("Number of Elements") + special(SPC_NOMOD) + interest(1) + promptgroup(GUI_WAVE) + } + field(FTVL, DBF_MENU) { + interest(1) + promptgroup(GUI_WAVE) + menu(menuFtype) + prompt("Field Type of Value") + special(SPC_NOMOD) + } + field(BUSY, DBF_SHORT) { + prompt("Busy Indicator") + special(SPC_NOMOD) + } + field(NORD, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Number elements read") + } + field(BPTR, DBF_NOACCESS) { + prompt("Buffer Pointer") + special(SPC_NOMOD) + interest(4) + extra("void * bptr") + } + field(SIOL, DBF_INLINK) { + prompt("Sim Input Specifctn") + interest(1) + promptgroup(GUI_INPUTS) + } + field(SIML, DBF_INLINK) { + prompt("Sim Mode Location") + promptgroup(GUI_INPUTS) + interest(1) + } + field(SIMM, DBF_MENU) { + menu(menuYesNo) + prompt("Simulation Mode") + interest(1) + } + field(SIMS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Sim mode Alarm Svrty") + interest(2) + promptgroup(GUI_INPUTS) + } + field(MPST, DBF_MENU) { + prompt("Post Value Monitors") + menu(waveformPOST) + interest(1) + promptgroup(GUI_DISPLAY) + } + field(APST, DBF_MENU) { + prompt("Post Archive Monitors") + menu(waveformPOST) + interest(1) + promptgroup(GUI_DISPLAY) + } + field(HASH, DBF_ULONG) { + interest(3) + prompt("Hash of OnChange data.") + } +} +device(waveform, CONSTANT, devWfSoft, "Soft Channel") +device(waveform, INST_IO, asynWfOctetCmdResponse, "asynOctetCmdResponse") +device(waveform, INST_IO, asynWfOctetWriteRead, "asynOctetWriteRead") +device(waveform, INST_IO, asynWfOctetRead, "asynOctetRead") +device(waveform, INST_IO, asynWfOctetWrite, "asynOctetWrite") +device(waveform, INST_IO, asynInt8ArrayWfIn, "asynInt8ArrayIn") +device(waveform, INST_IO, asynInt8ArrayWfOut, "asynInt8ArrayOut") +device(waveform, INST_IO, asynInt16ArrayWfIn, "asynInt16ArrayIn") +device(waveform, INST_IO, asynInt16ArrayWfOut, "asynInt16ArrayOut") +device(waveform, INST_IO, asynInt32ArrayWfIn, "asynInt32ArrayIn") +device(waveform, INST_IO, asynInt32ArrayWfOut, "asynInt32ArrayOut") +device(waveform, INST_IO, asynInt32TimeSeries, "asynInt32TimeSeries") +device(waveform, INST_IO, asynFloat32ArrayWfIn, "asynFloat32ArrayIn") +device(waveform, INST_IO, asynFloat32ArrayWfOut, "asynFloat32ArrayOut") +device(waveform, INST_IO, asynFloat64ArrayWfIn, "asynFloat64ArrayIn") +device(waveform, INST_IO, asynFloat64ArrayWfOut, "asynFloat64ArrayOut") +device(waveform, INST_IO, asynFloat64TimeSeries, "asynFloat64TimeSeries") +device(waveform, INST_IO, devwaveformStream, "stream") +recordtype(mbbo) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + prompt("Record Name") + special(SPC_NOMOD) + size(61) + } + field(DESC, DBF_STRING) { + size(41) + promptgroup(GUI_COMMON) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + size(29) + promptgroup(GUI_COMMON) + prompt("Access Security Group") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuScan) + prompt("Scan Mechanism") + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + menu(menuPini) + prompt("Process at iocInit") + promptgroup(GUI_SCAN) + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(EVNT, DBF_STRING) { + interest(1) + promptgroup(GUI_SCAN) + size(40) + special(SPC_SCAN) + prompt("Event Name") + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + interest(1) + promptgroup(GUI_SCAN) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup(GUI_SCAN) + interest(1) + } + field(DTYP, DBF_DEVICE) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + promptgroup(GUI_SCAN) + prompt("Disable Value") + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Monitor lock") + interest(4) + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + prompt("Monitor List") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + prompt("Force Processing") + interest(3) + pp(TRUE) + } + field(STAT, DBF_MENU) { + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + initial("UDF") + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Alarm Severity") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + interest(2) + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("New Alarm Status") + } + field(NSEV, DBF_MENU) { + interest(2) + menu(menuAlarmSevr) + prompt("New Alarm Severity") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + interest(2) + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + } + field(ACKT, DBF_MENU) { + promptgroup(GUI_ALARMS) + interest(2) + prompt("Alarm Ack Transient") + menu(menuYesNo) + special(SPC_NOMOD) + initial("YES") + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup(GUI_SCAN) + interest(1) + } + field(LCNT, DBF_UCHAR) { + interest(2) + prompt("Lock Count") + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + interest(1) + prompt("Record active") + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + special(SPC_NOMOD) + interest(1) + } + field(ASP, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Access Security Pvt") + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + interest(4) + prompt("pprocessNotify") + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + interest(4) + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + special(SPC_NOMOD) + prompt("Scan Private") + interest(4) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + special(SPC_NOMOD) + interest(4) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + interest(4) + prompt("DSET address") + special(SPC_NOMOD) + extra("struct dset *dset") + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + prompt("Device Private") + special(SPC_NOMOD) + interest(4) + } + field(RDES, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Lock Set") + interest(4) + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scheduling Priority") + menu(menuPriority) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + interest(1) + prompt("Break Point") + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + prompt("Undefined") + interest(1) + promptgroup(GUI_COMMON) + pp(TRUE) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + interest(1) + promptgroup(GUI_COMMON) + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + } + field(TIME, DBF_NOACCESS) { + extra("epicsTimeStamp time") + prompt("Time") + special(SPC_NOMOD) + interest(2) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + interest(1) + promptgroup(GUI_LINKS) + } + field(VAL, DBF_ENUM) { + pp(TRUE) + asl(ASL0) + prompt("Desired Value") + special(SPC_DBADDR) + promptgroup(GUI_OUTPUT) + } + field(DOL, DBF_INLINK) { + promptgroup(GUI_MBB) + interest(1) + prompt("Desired Output Loc") + } + field(OMSL, DBF_MENU) { + promptgroup(GUI_MBB) + interest(1) + prompt("Output Mode Select") + menu(menuOmsl) + } + field(NOBT, DBF_SHORT) { + promptgroup(GUI_MBB) + interest(1) + prompt("Number of Bits") + special(SPC_NOMOD) + } + field(OUT, DBF_OUTLINK) { + promptgroup(GUI_MBB) + interest(1) + prompt("Output Specification") + } + field(ZRVL, DBF_ULONG) { + prompt("Zero Value") + base(HEX) + special(SPC_MOD) + interest(1) + promptgroup(GUI_BITS1) + pp(TRUE) + } + field(ONVL, DBF_ULONG) { + pp(TRUE) + interest(1) + promptgroup(GUI_BITS1) + base(HEX) + special(SPC_MOD) + prompt("One Value") + } + field(TWVL, DBF_ULONG) { + promptgroup(GUI_BITS1) + interest(1) + prompt("Two Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + } + field(THVL, DBF_ULONG) { + pp(TRUE) + base(HEX) + special(SPC_MOD) + prompt("Three Value") + promptgroup(GUI_BITS1) + interest(1) + } + field(FRVL, DBF_ULONG) { + pp(TRUE) + interest(1) + promptgroup(GUI_BITS1) + prompt("Four Value") + base(HEX) + special(SPC_MOD) + } + field(FVVL, DBF_ULONG) { + pp(TRUE) + prompt("Five Value") + base(HEX) + special(SPC_MOD) + interest(1) + promptgroup(GUI_BITS1) + } + field(SXVL, DBF_ULONG) { + pp(TRUE) + prompt("Six Value") + base(HEX) + special(SPC_MOD) + interest(1) + promptgroup(GUI_BITS1) + } + field(SVVL, DBF_ULONG) { + prompt("Seven Value") + base(HEX) + special(SPC_MOD) + promptgroup(GUI_BITS1) + interest(1) + pp(TRUE) + } + field(EIVL, DBF_ULONG) { + pp(TRUE) + prompt("Eight Value") + base(HEX) + special(SPC_MOD) + promptgroup(GUI_BITS2) + interest(1) + } + field(NIVL, DBF_ULONG) { + pp(TRUE) + interest(1) + promptgroup(GUI_BITS2) + prompt("Nine Value") + base(HEX) + special(SPC_MOD) + } + field(TEVL, DBF_ULONG) { + promptgroup(GUI_BITS2) + interest(1) + prompt("Ten Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + } + field(ELVL, DBF_ULONG) { + promptgroup(GUI_BITS2) + interest(1) + base(HEX) + prompt("Eleven Value") + special(SPC_MOD) + pp(TRUE) + } + field(TVVL, DBF_ULONG) { + pp(TRUE) + prompt("Twelve Value") + base(HEX) + special(SPC_MOD) + promptgroup(GUI_BITS2) + interest(1) + } + field(TTVL, DBF_ULONG) { + pp(TRUE) + base(HEX) + special(SPC_MOD) + prompt("Thirteen Value") + interest(1) + promptgroup(GUI_BITS2) + } + field(FTVL, DBF_ULONG) { + interest(1) + promptgroup(GUI_BITS2) + prompt("Fourteen Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + } + field(FFVL, DBF_ULONG) { + pp(TRUE) + interest(1) + promptgroup(GUI_BITS2) + prompt("Fifteen Value") + base(HEX) + special(SPC_MOD) + } + field(ZRST, DBF_STRING) { + prompt("Zero String") + special(SPC_MOD) + size(26) + promptgroup(GUI_BITS1) + interest(1) + pp(TRUE) + } + field(ONST, DBF_STRING) { + pp(TRUE) + size(26) + interest(1) + promptgroup(GUI_BITS1) + prompt("One String") + special(SPC_MOD) + } + field(TWST, DBF_STRING) { + special(SPC_MOD) + prompt("Two String") + interest(1) + size(26) + promptgroup(GUI_BITS1) + pp(TRUE) + } + field(THST, DBF_STRING) { + size(26) + interest(1) + promptgroup(GUI_BITS1) + prompt("Three String") + special(SPC_MOD) + pp(TRUE) + } + field(FRST, DBF_STRING) { + pp(TRUE) + special(SPC_MOD) + prompt("Four String") + size(26) + interest(1) + promptgroup(GUI_BITS1) + } + field(FVST, DBF_STRING) { + pp(TRUE) + promptgroup(GUI_BITS1) + size(26) + interest(1) + special(SPC_MOD) + prompt("Five String") + } + field(SXST, DBF_STRING) { + pp(TRUE) + special(SPC_MOD) + prompt("Six String") + interest(1) + size(26) + promptgroup(GUI_BITS1) + } + field(SVST, DBF_STRING) { + special(SPC_MOD) + prompt("Seven String") + size(26) + interest(1) + promptgroup(GUI_BITS1) + pp(TRUE) + } + field(EIST, DBF_STRING) { + pp(TRUE) + special(SPC_MOD) + prompt("Eight String") + interest(1) + size(26) + promptgroup(GUI_BITS2) + } + field(NIST, DBF_STRING) { + special(SPC_MOD) + prompt("Nine String") + size(26) + promptgroup(GUI_BITS2) + interest(1) + pp(TRUE) + } + field(TEST, DBF_STRING) { + prompt("Ten String") + special(SPC_MOD) + size(26) + interest(1) + promptgroup(GUI_BITS2) + pp(TRUE) + } + field(ELST, DBF_STRING) { + pp(TRUE) + size(26) + interest(1) + promptgroup(GUI_BITS2) + prompt("Eleven String") + special(SPC_MOD) + } + field(TVST, DBF_STRING) { + pp(TRUE) + prompt("Twelve String") + special(SPC_MOD) + size(26) + promptgroup(GUI_BITS2) + interest(1) + } + field(TTST, DBF_STRING) { + size(26) + interest(1) + promptgroup(GUI_BITS2) + prompt("Thirteen String") + special(SPC_MOD) + pp(TRUE) + } + field(FTST, DBF_STRING) { + special(SPC_MOD) + prompt("Fourteen String") + promptgroup(GUI_BITS2) + size(26) + interest(1) + pp(TRUE) + } + field(FFST, DBF_STRING) { + pp(TRUE) + prompt("Fifteen String") + special(SPC_MOD) + size(26) + interest(1) + promptgroup(GUI_BITS2) + } + field(ZRSV, DBF_MENU) { + pp(TRUE) + interest(1) + promptgroup(GUI_BITS1) + menu(menuAlarmSevr) + prompt("State Zero Severity") + } + field(ONSV, DBF_MENU) { + promptgroup(GUI_BITS1) + interest(1) + menu(menuAlarmSevr) + prompt("State One Severity") + pp(TRUE) + } + field(TWSV, DBF_MENU) { + prompt("State Two Severity") + menu(menuAlarmSevr) + promptgroup(GUI_BITS1) + interest(1) + pp(TRUE) + } + field(THSV, DBF_MENU) { + promptgroup(GUI_BITS1) + interest(1) + menu(menuAlarmSevr) + prompt("State Three Severity") + pp(TRUE) + } + field(FRSV, DBF_MENU) { + interest(1) + promptgroup(GUI_BITS1) + menu(menuAlarmSevr) + prompt("State Four Severity") + pp(TRUE) + } + field(FVSV, DBF_MENU) { + pp(TRUE) + promptgroup(GUI_BITS1) + interest(1) + prompt("State Five Severity") + menu(menuAlarmSevr) + } + field(SXSV, DBF_MENU) { + menu(menuAlarmSevr) + prompt("State Six Severity") + promptgroup(GUI_BITS1) + interest(1) + pp(TRUE) + } + field(SVSV, DBF_MENU) { + pp(TRUE) + promptgroup(GUI_BITS1) + interest(1) + menu(menuAlarmSevr) + prompt("State Seven Severity") + } + field(EISV, DBF_MENU) { + promptgroup(GUI_BITS2) + interest(1) + prompt("State Eight Severity") + menu(menuAlarmSevr) + pp(TRUE) + } + field(NISV, DBF_MENU) { + pp(TRUE) + menu(menuAlarmSevr) + prompt("State Nine Severity") + interest(1) + promptgroup(GUI_BITS2) + } + field(TESV, DBF_MENU) { + prompt("State Ten Severity") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_BITS2) + pp(TRUE) + } + field(ELSV, DBF_MENU) { + menu(menuAlarmSevr) + prompt("State Eleven Severity") + interest(1) + promptgroup(GUI_BITS2) + pp(TRUE) + } + field(TVSV, DBF_MENU) { + prompt("State Twelve Severity") + menu(menuAlarmSevr) + promptgroup(GUI_BITS2) + interest(1) + pp(TRUE) + } + field(TTSV, DBF_MENU) { + pp(TRUE) + menu(menuAlarmSevr) + prompt("State Thirteen Sevr") + promptgroup(GUI_BITS2) + interest(1) + } + field(FTSV, DBF_MENU) { + pp(TRUE) + menu(menuAlarmSevr) + prompt("State Fourteen Sevr") + interest(1) + promptgroup(GUI_BITS2) + } + field(FFSV, DBF_MENU) { + promptgroup(GUI_BITS2) + interest(1) + menu(menuAlarmSevr) + prompt("State Fifteen Sevr") + pp(TRUE) + } + field(UNSV, DBF_MENU) { + promptgroup(GUI_MBB) + interest(1) + prompt("Unknown State Sevr") + menu(menuAlarmSevr) + pp(TRUE) + } + field(COSV, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Change of State Sevr") + promptgroup(GUI_MBB) + interest(1) + pp(TRUE) + } + field(RVAL, DBF_ULONG) { + pp(TRUE) + prompt("Raw Value") + } + field(ORAW, DBF_ULONG) { + prompt("Prev Raw Value") + special(SPC_NOMOD) + interest(3) + } + field(RBV, DBF_ULONG) { + prompt("Readback Value") + special(SPC_NOMOD) + } + field(ORBV, DBF_ULONG) { + prompt("Prev Readback Value") + special(SPC_NOMOD) + interest(3) + } + field(MASK, DBF_ULONG) { + interest(1) + prompt("Hardware Mask") + special(SPC_NOMOD) + } + field(MLST, DBF_USHORT) { + special(SPC_NOMOD) + prompt("Last Value Monitored") + interest(3) + } + field(LALM, DBF_USHORT) { + interest(3) + prompt("Last Value Alarmed") + special(SPC_NOMOD) + } + field(SDEF, DBF_SHORT) { + special(SPC_NOMOD) + prompt("States Defined") + interest(3) + } + field(SHFT, DBF_USHORT) { + prompt("Shift") + interest(1) + promptgroup(GUI_MBB) + } + field(SIOL, DBF_OUTLINK) { + promptgroup(GUI_MBB) + interest(1) + prompt("Sim Output Specifctn") + } + field(SIML, DBF_INLINK) { + prompt("Sim Mode Location") + promptgroup(GUI_MBB) + interest(1) + } + field(SIMM, DBF_MENU) { + prompt("Simulation Mode") + menu(menuYesNo) + interest(1) + } + field(SIMS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Sim mode Alarm Svrty") + promptgroup(GUI_MBB) + interest(2) + } + field(IVOA, DBF_MENU) { + interest(2) + promptgroup(GUI_MBB) + menu(menuIvoa) + prompt("INVALID outpt action") + } + field(IVOV, DBF_USHORT) { + prompt("INVALID output value") + promptgroup(GUI_MBB) + interest(2) + } +} +device(mbbo, CONSTANT, devMbboSoft, "Soft Channel") +device(mbbo, CONSTANT, devMbboSoftRaw, "Raw Soft Channel") +device(mbbo, CONSTANT, devMbboSoftCallback, "Async Soft Channel") +device(mbbo, INST_IO, asynMbboInt32, "asynInt32") +device(mbbo, INST_IO, asynMbboUInt32Digital, "asynUInt32Digital") +device(mbbo, INST_IO, devmbboStream, "stream") +recordtype(ai) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + special(SPC_NOMOD) + prompt("Record Name") + size(61) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + promptgroup(GUI_COMMON) + size(41) + } + field(ASG, DBF_STRING) { + size(29) + promptgroup(GUI_COMMON) + prompt("Access Security Group") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + special(SPC_SCAN) + menu(menuScan) + prompt("Scan Mechanism") + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup(GUI_SCAN) + interest(1) + } + field(PHAS, DBF_SHORT) { + special(SPC_SCAN) + prompt("Scan Phase") + interest(1) + promptgroup(GUI_SCAN) + } + field(EVNT, DBF_STRING) { + promptgroup(GUI_SCAN) + interest(1) + size(40) + prompt("Event Name") + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup(GUI_LINKS) + interest(1) + } + field(DISV, DBF_SHORT) { + promptgroup(GUI_SCAN) + prompt("Disable Value") + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Monitor lock") + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + prompt("Monitor List") + special(SPC_NOMOD) + interest(4) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("Alarm Status") + initial("UDF") + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + interest(2) + prompt("New Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + interest(2) + prompt("New Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + interest(2) + } + field(ACKT, DBF_MENU) { + promptgroup(GUI_ALARMS) + interest(2) + menu(menuYesNo) + special(SPC_NOMOD) + prompt("Alarm Ack Transient") + initial("YES") + } + field(DISS, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + } + field(LCNT, DBF_UCHAR) { + interest(2) + prompt("Lock Count") + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + interest(1) + prompt("Record active") + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("dbPutField process") + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + special(SPC_NOMOD) + prompt("Access Security Pvt") + interest(4) + } + field(PPN, DBF_NOACCESS) { + interest(4) + prompt("pprocessNotify") + special(SPC_NOMOD) + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + interest(4) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + special(SPC_NOMOD) + prompt("Scan Private") + interest(4) + } + field(RSET, DBF_NOACCESS) { + extra("struct rset *rset") + special(SPC_NOMOD) + prompt("Address of RSET") + interest(4) + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + prompt("DSET address") + special(SPC_NOMOD) + interest(4) + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + prompt("Device Private") + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + special(SPC_NOMOD) + interest(4) + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + prompt("Lock Set") + special(SPC_NOMOD) + interest(4) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + interest(1) + special(SPC_NOMOD) + prompt("Break Point") + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + prompt("Undefined") + promptgroup(GUI_COMMON) + interest(1) + initial("1") + } + field(UDFS, DBF_MENU) { + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_COMMON) + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + interest(2) + special(SPC_NOMOD) + prompt("Time") + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Process Link") + } + field(VAL, DBF_DOUBLE) { + pp(TRUE) + promptgroup(GUI_INPUTS) + prompt("Current EGU Value") + asl(ASL0) + } + field(INP, DBF_INLINK) { + prompt("Input Specification") + interest(1) + promptgroup(GUI_INPUTS) + } + field(PREC, DBF_SHORT) { + prop(YES) + prompt("Display Precision") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(LINR, DBF_MENU) { + pp(TRUE) + promptgroup(GUI_CONVERT) + interest(1) + menu(menuConvert) + special(SPC_LINCONV) + prompt("Linearization") + } + field(EGUF, DBF_DOUBLE) { + pp(TRUE) + prompt("Engineer Units Full") + special(SPC_LINCONV) + interest(1) + promptgroup(GUI_CONVERT) + } + field(EGUL, DBF_DOUBLE) { + pp(TRUE) + special(SPC_LINCONV) + prompt("Engineer Units Low") + promptgroup(GUI_CONVERT) + interest(1) + } + field(EGU, DBF_STRING) { + prop(YES) + prompt("Engineering Units") + interest(1) + size(16) + promptgroup(GUI_DISPLAY) + } + field(HOPR, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("High Operating Range") + prop(YES) + } + field(LOPR, DBF_DOUBLE) { + prop(YES) + prompt("Low Operating Range") + interest(1) + promptgroup(GUI_DISPLAY) + } + field(AOFF, DBF_DOUBLE) { + pp(TRUE) + prompt("Adjustment Offset") + promptgroup(GUI_CONVERT) + interest(1) + } + field(ASLO, DBF_DOUBLE) { + prompt("Adjustment Slope") + promptgroup(GUI_CONVERT) + interest(1) + initial("1") + pp(TRUE) + } + field(SMOO, DBF_DOUBLE) { + prompt("Smoothing") + promptgroup(GUI_CONVERT) + interest(1) + } + field(HIHI, DBF_DOUBLE) { + pp(TRUE) + prop(YES) + interest(1) + promptgroup(GUI_ALARMS) + prompt("Hihi Alarm Limit") + } + field(LOLO, DBF_DOUBLE) { + promptgroup(GUI_ALARMS) + interest(1) + prompt("Lolo Alarm Limit") + prop(YES) + pp(TRUE) + } + field(HIGH, DBF_DOUBLE) { + prompt("High Alarm Limit") + promptgroup(GUI_ALARMS) + interest(1) + pp(TRUE) + prop(YES) + } + field(LOW, DBF_DOUBLE) { + pp(TRUE) + prop(YES) + promptgroup(GUI_ALARMS) + interest(1) + prompt("Low Alarm Limit") + } + field(HHSV, DBF_MENU) { + prompt("Hihi Severity") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_ALARMS) + prop(YES) + pp(TRUE) + } + field(LLSV, DBF_MENU) { + prop(YES) + pp(TRUE) + interest(1) + promptgroup(GUI_ALARMS) + prompt("Lolo Severity") + menu(menuAlarmSevr) + } + field(HSV, DBF_MENU) { + menu(menuAlarmSevr) + prompt("High Severity") + promptgroup(GUI_ALARMS) + interest(1) + pp(TRUE) + prop(YES) + } + field(LSV, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Low Severity") + interest(1) + promptgroup(GUI_ALARMS) + pp(TRUE) + prop(YES) + } + field(HYST, DBF_DOUBLE) { + prompt("Alarm Deadband") + promptgroup(GUI_ALARMS) + interest(1) + } + field(AFTC, DBF_DOUBLE) { + promptgroup(GUI_ALARMS) + interest(1) + prompt("Alarm Filter Time Constant") + } + field(ADEL, DBF_DOUBLE) { + prompt("Archive Deadband") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(MDEL, DBF_DOUBLE) { + prompt("Monitor Deadband") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(LALM, DBF_DOUBLE) { + interest(3) + prompt("Last Value Alarmed") + special(SPC_NOMOD) + } + field(AFVL, DBF_DOUBLE) { + prompt("Alarm Filter Value") + special(SPC_NOMOD) + interest(3) + } + field(ALST, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Last Value Archived") + } + field(MLST, DBF_DOUBLE) { + prompt("Last Val Monitored") + special(SPC_NOMOD) + interest(3) + } + field(ESLO, DBF_DOUBLE) { + initial("1") + promptgroup(GUI_CONVERT) + interest(2) + prompt("Raw to EGU Slope") + pp(TRUE) + } + field(EOFF, DBF_DOUBLE) { + promptgroup(GUI_CONVERT) + interest(2) + prompt("Raw to EGU Offset") + pp(TRUE) + } + field(ROFF, DBF_ULONG) { + pp(TRUE) + prompt("Raw Offset") + interest(2) + } + field(PBRK, DBF_NOACCESS) { + extra("void * pbrk") + special(SPC_NOMOD) + prompt("Ptrto brkTable") + interest(4) + } + field(INIT, DBF_SHORT) { + prompt("Initialized?") + special(SPC_NOMOD) + interest(3) + } + field(LBRK, DBF_SHORT) { + prompt("LastBreak Point") + special(SPC_NOMOD) + interest(3) + } + field(RVAL, DBF_LONG) { + prompt("Current Raw Value") + pp(TRUE) + } + field(ORAW, DBF_LONG) { + interest(3) + prompt("Previous Raw Value") + special(SPC_NOMOD) + } + field(SIOL, DBF_INLINK) { + prompt("Sim. Input Specification") + promptgroup(GUI_INPUTS) + interest(1) + } + field(SVAL, DBF_DOUBLE) { + prompt("Simulation Value") + } + field(SIML, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Sim. Mode Location") + } + field(SIMM, DBF_MENU) { + menu(menuSimm) + prompt("Simulation Mode") + interest(1) + } + field(SIMS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Simulation Mode Severity") + promptgroup(GUI_INPUTS) + interest(2) + } +} +device(ai, CONSTANT, devAiSoft, "Soft Channel") +device(ai, CONSTANT, devAiSoftRaw, "Raw Soft Channel") +device(ai, CONSTANT, devAiSoftCallback, "Async Soft Channel") +device(ai, INST_IO, devTimestampAI, "Soft Timestamp") +device(ai, INST_IO, devAiGeneralTime, "General Time") +device(ai, INST_IO, asynAiInt32, "asynInt32") +device(ai, INST_IO, asynAiInt32Average, "asynInt32Average") +device(ai, INST_IO, asynAiFloat64, "asynFloat64") +device(ai, INST_IO, asynAiFloat64Average, "asynFloat64Average") +device(ai, INST_IO, devaiStream, "stream") +recordtype(sseq) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + prompt("Record Name") + special(SPC_NOMOD) + size(61) + } + field(DESC, DBF_STRING) { + size(41) + promptgroup(GUI_COMMON) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + size(29) + promptgroup(GUI_COMMON) + prompt("Access Security Group") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + special(SPC_SCAN) + menu(menuScan) + prompt("Scan Mechanism") + } + field(PINI, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Process at iocInit") + menu(menuPini) + } + field(PHAS, DBF_SHORT) { + special(SPC_SCAN) + prompt("Scan Phase") + promptgroup(GUI_SCAN) + interest(1) + } + field(EVNT, DBF_STRING) { + size(40) + interest(1) + promptgroup(GUI_SCAN) + special(SPC_SCAN) + prompt("Event Name") + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + interest(1) + promptgroup(GUI_SCAN) + } + field(TSEL, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + interest(1) + promptgroup(GUI_LINKS) + } + field(DISV, DBF_SHORT) { + promptgroup(GUI_SCAN) + prompt("Disable Value") + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + special(SPC_NOMOD) + interest(4) + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + prompt("Monitor List") + special(SPC_NOMOD) + interest(4) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + interest(3) + prompt("Force Processing") + } + field(STAT, DBF_MENU) { + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + initial("UDF") + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + menu(menuAlarmStat) + prompt("New Alarm Status") + special(SPC_NOMOD) + interest(2) + } + field(NSEV, DBF_MENU) { + interest(2) + menu(menuAlarmSevr) + prompt("New Alarm Severity") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + interest(2) + } + field(ACKT, DBF_MENU) { + initial("YES") + special(SPC_NOMOD) + menu(menuYesNo) + prompt("Alarm Ack Transient") + promptgroup(GUI_ALARMS) + interest(2) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup(GUI_SCAN) + interest(1) + } + field(LCNT, DBF_UCHAR) { + interest(2) + prompt("Lock Count") + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + interest(1) + prompt("Record active") + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + interest(4) + prompt("Access Security Pvt") + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + special(SPC_NOMOD) + prompt("pprocessNotify") + interest(4) + } + field(PPNR, DBF_NOACCESS) { + extra("struct processNotifyRecord *ppnr") + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + interest(4) + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + special(SPC_NOMOD) + prompt("Scan Private") + interest(4) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + special(SPC_NOMOD) + interest(4) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + prompt("DSET address") + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Device Private") + interest(4) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + prompt("Address of dbRecordType") + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + interest(4) + prompt("Lock Set") + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + special(SPC_SCAN) + interest(1) + promptgroup(GUI_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + prompt("Break Point") + special(SPC_NOMOD) + interest(1) + } + field(UDF, DBF_UCHAR) { + initial("1") + interest(1) + promptgroup(GUI_COMMON) + prompt("Undefined") + pp(TRUE) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_COMMON) + } + field(TIME, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Time") + interest(2) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Forward Process Link") + } + field(VAL, DBF_LONG) { + pp(TRUE) + asl(ASL0) + prompt("Used to trigger") + } + field(SELM, DBF_MENU) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Select Mechanism") + menu(sseqSELM) + } + field(SELN, DBF_USHORT) { + initial("1") + interest(1) + prompt("Link Selection") + } + field(SELL, DBF_INLINK) { + prompt("Link Selection Loc") + promptgroup(GUI_INPUTS) + interest(1) + } + field(PREC, DBF_SHORT) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Display Precision") + } + field(DLY1, DBF_DOUBLE) { + promptgroup(GUI_SEQ1) + interest(1) + prompt("Delay 1") + special(SPC_MOD) + } + field(DOL1, DBF_INLINK) { + prompt("Input link1") + special(SPC_MOD) + promptgroup(GUI_SEQ1) + interest(1) + } + field(DO1, DBF_DOUBLE) { + special(SPC_MOD) + prompt("Constant input 1") + promptgroup(GUI_SEQ1) + interest(1) + } + field(LNK1, DBF_OUTLINK) { + special(SPC_MOD) + prompt("Output Link 1") + interest(1) + promptgroup(GUI_SEQ1) + } + field(STR1, DBF_STRING) { + interest(4) + size(40) + promptgroup(GUI_SEQ1) + prompt("String value 1") + special(SPC_MOD) + } + field(DT1, DBF_SHORT) { + prompt("DOL link type") + special(SPC_NOMOD) + interest(4) + } + field(LT1, DBF_SHORT) { + interest(4) + special(SPC_NOMOD) + prompt("LNK link type") + } + field(WAIT1, DBF_MENU) { + interest(1) + promptgroup(GUI_SEQ1) + special(SPC_MOD) + prompt("Wait for completion?") + menu(sseqWAIT) + } + field(WERR1, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + } + field(WTG1, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + } + field(IX1, DBF_SHORT) { + interest(2) + special(SPC_NOMOD) + initial("0") + } + field(DOL1V, DBF_MENU) { + initial("1") + special(SPC_NOMOD) + menu(sseqLNKV) + prompt("DOL LINK Status") + interest(1) + } + field(LNK1V, DBF_MENU) { + initial("1") + special(SPC_NOMOD) + menu(sseqLNKV) + prompt("LNK LINK Status") + interest(1) + } + field(DLY2, DBF_DOUBLE) { + promptgroup(GUI_SEQ1) + interest(1) + special(SPC_MOD) + prompt("Delay 2") + } + field(DOL2, DBF_INLINK) { + interest(1) + promptgroup(GUI_SEQ1) + prompt("Input link 2") + special(SPC_MOD) + } + field(DO2, DBF_DOUBLE) { + special(SPC_MOD) + prompt("Constant input 2") + promptgroup(GUI_SEQ1) + interest(1) + } + field(LNK2, DBF_OUTLINK) { + prompt("Output Link 2") + special(SPC_MOD) + interest(1) + promptgroup(GUI_SEQ1) + } + field(STR2, DBF_STRING) { + special(SPC_MOD) + prompt("String value 2") + promptgroup(GUI_SEQ1) + size(40) + interest(4) + } + field(DT2, DBF_SHORT) { + prompt("DOL link type") + special(SPC_NOMOD) + interest(4) + } + field(LT2, DBF_SHORT) { + interest(4) + prompt("LNK link type") + special(SPC_NOMOD) + } + field(WAIT2, DBF_MENU) { + interest(1) + promptgroup(GUI_SEQ1) + special(SPC_MOD) + prompt("Wait for completion?") + menu(sseqWAIT) + } + field(WERR2, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + } + field(WTG2, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + } + field(IX2, DBF_SHORT) { + interest(2) + special(SPC_NOMOD) + initial("1") + } + field(DOL2V, DBF_MENU) { + initial("1") + special(SPC_NOMOD) + menu(sseqLNKV) + prompt("DOL LINK Status") + interest(1) + } + field(LNK2V, DBF_MENU) { + initial("1") + interest(1) + prompt("LNK LINK Status") + menu(sseqLNKV) + special(SPC_NOMOD) + } + field(DLY3, DBF_DOUBLE) { + promptgroup(GUI_SEQ1) + interest(1) + special(SPC_MOD) + prompt("Delay 3") + } + field(DOL3, DBF_INLINK) { + special(SPC_MOD) + prompt("Input link 3") + promptgroup(GUI_SEQ1) + interest(1) + } + field(DO3, DBF_DOUBLE) { + prompt("Constant input 3") + special(SPC_MOD) + interest(1) + promptgroup(GUI_SEQ1) + } + field(LNK3, DBF_OUTLINK) { + promptgroup(GUI_SEQ1) + interest(1) + special(SPC_MOD) + prompt("Output Link 3") + } + field(STR3, DBF_STRING) { + special(SPC_MOD) + prompt("String value 3") + size(40) + interest(4) + promptgroup(GUI_SEQ1) + } + field(DT3, DBF_SHORT) { + interest(4) + prompt("DOL link type") + special(SPC_NOMOD) + } + field(LT3, DBF_SHORT) { + interest(4) + prompt("LNK link type") + special(SPC_NOMOD) + } + field(WAIT3, DBF_MENU) { + special(SPC_MOD) + menu(sseqWAIT) + prompt("Wait for completion?") + promptgroup(GUI_SEQ1) + interest(1) + } + field(WERR3, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + } + field(WTG3, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + } + field(IX3, DBF_SHORT) { + interest(2) + special(SPC_NOMOD) + initial("2") + } + field(DOL3V, DBF_MENU) { + prompt("DOL LINK Status") + menu(sseqLNKV) + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(LNK3V, DBF_MENU) { + interest(1) + menu(sseqLNKV) + prompt("LNK LINK Status") + special(SPC_NOMOD) + initial("1") + } + field(DLY4, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_SEQ2) + prompt("Delay 4") + special(SPC_MOD) + } + field(DOL4, DBF_INLINK) { + promptgroup(GUI_SEQ2) + interest(1) + special(SPC_MOD) + prompt("Input link 4") + } + field(DO4, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_SEQ1) + special(SPC_MOD) + prompt("Constant input 4") + } + field(LNK4, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_SEQ2) + prompt("Output Link 4") + special(SPC_MOD) + } + field(STR4, DBF_STRING) { + promptgroup(GUI_SEQ1) + size(40) + interest(4) + special(SPC_MOD) + prompt("String value 4") + } + field(DT4, DBF_SHORT) { + interest(4) + prompt("DOL link type") + special(SPC_NOMOD) + } + field(LT4, DBF_SHORT) { + prompt("LNK link type") + special(SPC_NOMOD) + interest(4) + } + field(WAIT4, DBF_MENU) { + special(SPC_MOD) + menu(sseqWAIT) + prompt("Wait for completion?") + promptgroup(GUI_SEQ1) + interest(1) + } + field(WERR4, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + } + field(WTG4, DBF_SHORT) { + special(SPC_NOMOD) + interest(1) + } + field(IX4, DBF_SHORT) { + initial("3") + special(SPC_NOMOD) + interest(2) + } + field(DOL4V, DBF_MENU) { + menu(sseqLNKV) + special(SPC_NOMOD) + prompt("DOL LINK Status") + interest(1) + initial("1") + } + field(LNK4V, DBF_MENU) { + initial("1") + interest(1) + prompt("LNK LINK Status") + menu(sseqLNKV) + special(SPC_NOMOD) + } + field(DLY5, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_SEQ2) + prompt("Delay 5") + special(SPC_MOD) + } + field(DOL5, DBF_INLINK) { + interest(1) + promptgroup(GUI_SEQ2) + prompt("Input link 5") + special(SPC_MOD) + } + field(DO5, DBF_DOUBLE) { + promptgroup(GUI_SEQ1) + interest(1) + special(SPC_MOD) + prompt("Constant input 5") + } + field(LNK5, DBF_OUTLINK) { + promptgroup(GUI_SEQ2) + interest(1) + special(SPC_MOD) + prompt("Output Link 5") + } + field(STR5, DBF_STRING) { + special(SPC_MOD) + prompt("String value 5") + size(40) + promptgroup(GUI_SEQ1) + interest(4) + } + field(DT5, DBF_SHORT) { + interest(4) + special(SPC_NOMOD) + prompt("DOL link type") + } + field(LT5, DBF_SHORT) { + prompt("LNK link type") + special(SPC_NOMOD) + interest(4) + } + field(WAIT5, DBF_MENU) { + special(SPC_MOD) + prompt("Wait for completion?") + menu(sseqWAIT) + promptgroup(GUI_SEQ1) + interest(1) + } + field(WERR5, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + } + field(WTG5, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + } + field(IX5, DBF_SHORT) { + special(SPC_NOMOD) + interest(2) + initial("4") + } + field(DOL5V, DBF_MENU) { + initial("1") + interest(1) + menu(sseqLNKV) + special(SPC_NOMOD) + prompt("DOL LINK Status") + } + field(LNK5V, DBF_MENU) { + initial("1") + interest(1) + menu(sseqLNKV) + prompt("LNK LINK Status") + special(SPC_NOMOD) + } + field(DLY6, DBF_DOUBLE) { + promptgroup(GUI_SEQ2) + interest(1) + special(SPC_MOD) + prompt("Delay 6") + } + field(DOL6, DBF_INLINK) { + prompt("Input link 6") + special(SPC_MOD) + promptgroup(GUI_SEQ2) + interest(1) + } + field(DO6, DBF_DOUBLE) { + promptgroup(GUI_SEQ1) + interest(1) + special(SPC_MOD) + prompt("Constant input 6") + } + field(LNK6, DBF_OUTLINK) { + promptgroup(GUI_SEQ2) + interest(1) + prompt("Output Link 6") + special(SPC_MOD) + } + field(STR6, DBF_STRING) { + size(40) + interest(4) + promptgroup(GUI_SEQ1) + special(SPC_MOD) + prompt("String value 6") + } + field(DT6, DBF_SHORT) { + interest(4) + prompt("DOL link type") + special(SPC_NOMOD) + } + field(LT6, DBF_SHORT) { + special(SPC_NOMOD) + prompt("LNK link type") + interest(4) + } + field(WAIT6, DBF_MENU) { + promptgroup(GUI_SEQ1) + interest(1) + special(SPC_MOD) + menu(sseqWAIT) + prompt("Wait for completion?") + } + field(WERR6, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + } + field(WTG6, DBF_SHORT) { + special(SPC_NOMOD) + interest(1) + } + field(IX6, DBF_SHORT) { + initial("5") + special(SPC_NOMOD) + interest(2) + } + field(DOL6V, DBF_MENU) { + interest(1) + menu(sseqLNKV) + prompt("DOL LINK Status") + special(SPC_NOMOD) + initial("1") + } + field(LNK6V, DBF_MENU) { + initial("1") + menu(sseqLNKV) + prompt("LNK LINK Status") + special(SPC_NOMOD) + interest(1) + } + field(DLY7, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_SEQ3) + special(SPC_MOD) + prompt("Delay 7") + } + field(DOL7, DBF_INLINK) { + interest(1) + promptgroup(GUI_SEQ3) + prompt("Input link 7") + special(SPC_MOD) + } + field(DO7, DBF_DOUBLE) { + special(SPC_MOD) + prompt("Constant input 7") + interest(1) + promptgroup(GUI_SEQ1) + } + field(LNK7, DBF_OUTLINK) { + special(SPC_MOD) + prompt("Output Link 7") + promptgroup(GUI_SEQ3) + interest(1) + } + field(STR7, DBF_STRING) { + prompt("String value 7") + special(SPC_MOD) + interest(4) + size(40) + promptgroup(GUI_SEQ1) + } + field(DT7, DBF_SHORT) { + interest(4) + special(SPC_NOMOD) + prompt("DOL link type") + } + field(LT7, DBF_SHORT) { + interest(4) + special(SPC_NOMOD) + prompt("LNK link type") + } + field(WAIT7, DBF_MENU) { + promptgroup(GUI_SEQ1) + interest(1) + special(SPC_MOD) + menu(sseqWAIT) + prompt("Wait for completion?") + } + field(WERR7, DBF_SHORT) { + special(SPC_NOMOD) + interest(1) + } + field(WTG7, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + } + field(IX7, DBF_SHORT) { + special(SPC_NOMOD) + interest(2) + initial("6") + } + field(DOL7V, DBF_MENU) { + menu(sseqLNKV) + prompt("DOL LINK Status") + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(LNK7V, DBF_MENU) { + initial("1") + prompt("LNK LINK Status") + menu(sseqLNKV) + special(SPC_NOMOD) + interest(1) + } + field(DLY8, DBF_DOUBLE) { + prompt("Delay 8") + special(SPC_MOD) + promptgroup(GUI_SEQ3) + interest(1) + } + field(DOL8, DBF_INLINK) { + prompt("Input link 8") + special(SPC_MOD) + interest(1) + promptgroup(GUI_SEQ3) + } + field(DO8, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_SEQ1) + prompt("Constant input 8") + special(SPC_MOD) + } + field(LNK8, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_SEQ3) + prompt("Output Link 8") + special(SPC_MOD) + } + field(STR8, DBF_STRING) { + size(40) + interest(4) + promptgroup(GUI_SEQ1) + special(SPC_MOD) + prompt("String value 8") + } + field(DT8, DBF_SHORT) { + interest(4) + special(SPC_NOMOD) + prompt("DOL link type") + } + field(LT8, DBF_SHORT) { + interest(4) + special(SPC_NOMOD) + prompt("LNK link type") + } + field(WAIT8, DBF_MENU) { + special(SPC_MOD) + menu(sseqWAIT) + prompt("Wait for completion?") + interest(1) + promptgroup(GUI_SEQ1) + } + field(WERR8, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + } + field(WTG8, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + } + field(IX8, DBF_SHORT) { + special(SPC_NOMOD) + interest(2) + initial("7") + } + field(DOL8V, DBF_MENU) { + interest(1) + menu(sseqLNKV) + prompt("DOL LINK Status") + special(SPC_NOMOD) + initial("1") + } + field(LNK8V, DBF_MENU) { + initial("1") + interest(1) + prompt("LNK LINK Status") + menu(sseqLNKV) + special(SPC_NOMOD) + } + field(DLY9, DBF_DOUBLE) { + prompt("Delay 9") + special(SPC_MOD) + interest(1) + promptgroup(GUI_SEQ3) + } + field(DOL9, DBF_INLINK) { + prompt("Input link 9") + special(SPC_MOD) + interest(1) + promptgroup(GUI_SEQ3) + } + field(DO9, DBF_DOUBLE) { + prompt("Constant input 9") + special(SPC_MOD) + promptgroup(GUI_SEQ1) + interest(1) + } + field(LNK9, DBF_OUTLINK) { + special(SPC_MOD) + prompt("Output Link 9") + interest(1) + promptgroup(GUI_SEQ3) + } + field(STR9, DBF_STRING) { + interest(4) + size(40) + promptgroup(GUI_SEQ1) + special(SPC_MOD) + prompt("String value 9") + } + field(DT9, DBF_SHORT) { + interest(4) + prompt("DOL link type") + special(SPC_NOMOD) + } + field(LT9, DBF_SHORT) { + prompt("LNK link type") + special(SPC_NOMOD) + interest(4) + } + field(WAIT9, DBF_MENU) { + special(SPC_MOD) + menu(sseqWAIT) + prompt("Wait for completion?") + interest(1) + promptgroup(GUI_SEQ1) + } + field(WERR9, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + } + field(WTG9, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + } + field(IX9, DBF_SHORT) { + initial("8") + special(SPC_NOMOD) + interest(2) + } + field(DOL9V, DBF_MENU) { + initial("1") + menu(sseqLNKV) + special(SPC_NOMOD) + prompt("DOL LINK Status") + interest(1) + } + field(LNK9V, DBF_MENU) { + initial("1") + interest(1) + menu(sseqLNKV) + prompt("LNK LINK Status") + special(SPC_NOMOD) + } + field(DLYA, DBF_DOUBLE) { + special(SPC_MOD) + prompt("Delay 10") + promptgroup(GUI_SEQ3) + interest(1) + } + field(DOLA, DBF_INLINK) { + special(SPC_MOD) + prompt("Input link 10") + promptgroup(GUI_SEQ3) + interest(1) + } + field(DOA, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_SEQ1) + prompt("Constant input 10") + special(SPC_MOD) + } + field(LNKA, DBF_OUTLINK) { + special(SPC_MOD) + prompt("Output Link 10") + interest(1) + promptgroup(GUI_SEQ3) + } + field(STRA, DBF_STRING) { + prompt("String value A") + special(SPC_MOD) + size(40) + interest(4) + promptgroup(GUI_SEQ1) + } + field(DTA, DBF_SHORT) { + interest(4) + prompt("DOL link type") + special(SPC_NOMOD) + } + field(LTA, DBF_SHORT) { + prompt("LNK link type") + special(SPC_NOMOD) + interest(4) + } + field(WAITA, DBF_MENU) { + special(SPC_MOD) + prompt("Wait for completion?") + menu(sseqWAIT) + promptgroup(GUI_SEQ1) + interest(1) + } + field(WERRA, DBF_SHORT) { + special(SPC_NOMOD) + interest(1) + } + field(WTGA, DBF_SHORT) { + interest(1) + } + field(IXA, DBF_SHORT) { + initial("9") + interest(2) + } + field(DOLAV, DBF_MENU) { + interest(1) + menu(sseqLNKV) + special(SPC_NOMOD) + prompt("DOL LINK Status") + initial("1") + } + field(LNKAV, DBF_MENU) { + menu(sseqLNKV) + special(SPC_NOMOD) + prompt("LNK LINK Status") + interest(1) + initial("1") + } + field(ABORT, DBF_SHORT) { + prompt("Abort sequence") + special(SPC_MOD) + interest(1) + } + field(ABORTING, DBF_SHORT) { + interest(1) + special(SPC_MOD) + prompt("Aborting") + } + field(BUSY, DBF_SHORT) { + prompt("Sequence active") + special(SPC_NOMOD) + interest(1) + } +} +recordtype(acalcout) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + size(61) + special(SPC_NOMOD) + prompt("Record Name") + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + size(41) + promptgroup(GUI_COMMON) + } + field(ASG, DBF_STRING) { + size(29) + promptgroup(GUI_COMMON) + prompt("Access Security Group") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuScan) + special(SPC_SCAN) + prompt("Scan Mechanism") + } + field(PINI, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Process at iocInit") + menu(menuPini) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(EVNT, DBF_STRING) { + interest(1) + promptgroup(GUI_SCAN) + size(40) + prompt("Event Name") + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup(GUI_SCAN) + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + interest(1) + promptgroup(GUI_LINKS) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup(GUI_SCAN) + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup(GUI_SCAN) + interest(1) + } + field(MLOK, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Monitor lock") + interest(4) + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + interest(4) + prompt("Monitor List") + special(SPC_NOMOD) + extra("ELLLIST mlis") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + interest(3) + prompt("Force Processing") + } + field(STAT, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("Alarm Status") + initial("UDF") + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("Alarm Severity") + } + field(NSTA, DBF_MENU) { + interest(2) + prompt("New Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + interest(2) + menu(menuAlarmSevr) + prompt("New Alarm Severity") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + interest(2) + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + menu(menuYesNo) + special(SPC_NOMOD) + prompt("Alarm Ack Transient") + interest(2) + promptgroup(GUI_ALARMS) + initial("YES") + } + field(DISS, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + } + field(LCNT, DBF_UCHAR) { + interest(2) + prompt("Lock Count") + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Record active") + } + field(PUTF, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("dbPutField process") + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + special(SPC_NOMOD) + interest(1) + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + prompt("Access Security Pvt") + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + prompt("pprocessNotify") + special(SPC_NOMOD) + interest(4) + } + field(PPNR, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + interest(4) + prompt("Scan Private") + special(SPC_NOMOD) + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + extra("struct rset *rset") + interest(4) + prompt("Address of RSET") + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + prompt("DSET address") + special(SPC_NOMOD) + interest(4) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + special(SPC_NOMOD) + interest(4) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Address of dbRecordType") + interest(4) + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + prompt("Lock Set") + special(SPC_NOMOD) + interest(4) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + interest(1) + special(SPC_NOMOD) + prompt("Break Point") + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + initial("1") + prompt("Undefined") + interest(1) + promptgroup(GUI_COMMON) + } + field(UDFS, DBF_MENU) { + interest(1) + promptgroup(GUI_COMMON) + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + special(SPC_NOMOD) + interest(2) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Process Link") + } + field(VERS, DBF_DOUBLE) { + prompt("Code Version") + special(SPC_NOMOD) + initial("1") + } + field(RPVT, DBF_NOACCESS) { + extra("void *rpvt") + special(SPC_NOMOD) + prompt("Record Private") + size(4) + interest(4) + } + field(VAL, DBF_DOUBLE) { + prompt("Result") + asl(ASL0) + } + field(AVAL, DBF_NOACCESS) { + pp(TRUE) + extra("double *aval") + prompt("Array Value") + special(SPC_DBADDR) + asl(ASL0) + } + field(NELM, DBF_ULONG) { + initial("1") + prompt("Number of Elements") + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + } + field(NUSE, DBF_ULONG) { + pp(TRUE) + initial("0") + prompt("# elem's in use") + special(SPC_MOD) + interest(1) + promptgroup(GUI_WAVE) + } + field(PVAL, DBF_DOUBLE) { + prompt("Previous Value") + } + field(PAVL, DBF_NOACCESS) { + pp(TRUE) + extra("double *pavl") + asl(ASL0) + prompt("Prev. Array Value") + } + field(CALC, DBF_STRING) { + prompt("Calculation") + special(SPC_MOD) + promptgroup(GUI_CALC) + size(80) + pp(TRUE) + } + field(CLCV, DBF_LONG) { + prompt("CALC Valid") + interest(1) + } + field(INPA, DBF_INLINK) { + special(SPC_MOD) + prompt("Input A") + promptgroup(GUI_CALC) + interest(1) + } + field(INPB, DBF_INLINK) { + special(SPC_MOD) + prompt("Input B") + promptgroup(GUI_CALC) + interest(1) + } + field(INPC, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + special(SPC_MOD) + prompt("Input C") + } + field(INPD, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + special(SPC_MOD) + prompt("Input D") + } + field(INPE, DBF_INLINK) { + special(SPC_MOD) + prompt("Input E") + interest(1) + promptgroup(GUI_CALC) + } + field(INPF, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + prompt("Input F") + special(SPC_MOD) + } + field(INPG, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + special(SPC_MOD) + prompt("Input G") + } + field(INPH, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + special(SPC_MOD) + prompt("Input H") + } + field(INPI, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + prompt("Input I") + special(SPC_MOD) + } + field(INPJ, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + prompt("Input J") + special(SPC_MOD) + } + field(INPK, DBF_INLINK) { + special(SPC_MOD) + prompt("Input K") + interest(1) + promptgroup(GUI_CALC) + } + field(INPL, DBF_INLINK) { + special(SPC_MOD) + prompt("Input L") + interest(1) + promptgroup(GUI_CALC) + } + field(INAA, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + special(SPC_MOD) + prompt("Array input AA") + } + field(INBB, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + special(SPC_MOD) + prompt("Array input BB") + } + field(INCC, DBF_INLINK) { + special(SPC_MOD) + prompt("Array input CC") + promptgroup(GUI_CALC) + interest(1) + } + field(INDD, DBF_INLINK) { + prompt("Array input DD") + special(SPC_MOD) + interest(1) + promptgroup(GUI_CALC) + } + field(INEE, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + special(SPC_MOD) + prompt("Array input EE") + } + field(INFF, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + prompt("Array input FF") + special(SPC_MOD) + } + field(INGG, DBF_INLINK) { + special(SPC_MOD) + prompt("Array input GG") + promptgroup(GUI_CALC) + interest(1) + } + field(INHH, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + prompt("Array input HH") + special(SPC_MOD) + } + field(INII, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + special(SPC_MOD) + prompt("Array input II") + } + field(INJJ, DBF_INLINK) { + prompt("Array input JJ") + special(SPC_MOD) + promptgroup(GUI_CALC) + interest(1) + } + field(INKK, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + prompt("Array input KK") + special(SPC_MOD) + } + field(INLL, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + prompt("Array input LL") + special(SPC_MOD) + } + field(OUT, DBF_OUTLINK) { + special(SPC_MOD) + prompt("Output Link") + promptgroup(GUI_OUTPUT) + interest(1) + } + field(INAV, DBF_MENU) { + special(SPC_NOMOD) + menu(acalcoutINAV) + prompt("INPA PV Status") + interest(1) + initial("1") + } + field(INBV, DBF_MENU) { + initial("1") + interest(1) + menu(acalcoutINAV) + special(SPC_NOMOD) + prompt("INPB PV Status") + } + field(INCV, DBF_MENU) { + interest(1) + menu(acalcoutINAV) + prompt("INPC PV Status") + special(SPC_NOMOD) + initial("1") + } + field(INDV, DBF_MENU) { + initial("1") + interest(1) + menu(acalcoutINAV) + special(SPC_NOMOD) + prompt("INPD PV Status") + } + field(INEV, DBF_MENU) { + special(SPC_NOMOD) + menu(acalcoutINAV) + prompt("INPE PV Status") + interest(1) + initial("1") + } + field(INFV, DBF_MENU) { + initial("1") + interest(1) + menu(acalcoutINAV) + special(SPC_NOMOD) + prompt("INPF PV Status") + } + field(INGV, DBF_MENU) { + initial("1") + interest(1) + menu(acalcoutINAV) + special(SPC_NOMOD) + prompt("INPG PV Status") + } + field(INHV, DBF_MENU) { + initial("1") + menu(acalcoutINAV) + special(SPC_NOMOD) + prompt("INPH PV Status") + interest(1) + } + field(INIV, DBF_MENU) { + interest(1) + prompt("INPI PV Status") + menu(acalcoutINAV) + special(SPC_NOMOD) + initial("1") + } + field(INJV, DBF_MENU) { + interest(1) + prompt("INPJ PV Status") + menu(acalcoutINAV) + special(SPC_NOMOD) + initial("1") + } + field(INKV, DBF_MENU) { + prompt("INPK PV Status") + menu(acalcoutINAV) + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(INLV, DBF_MENU) { + menu(acalcoutINAV) + prompt("INPL PV Status") + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(IAAV, DBF_MENU) { + initial("1") + interest(1) + special(SPC_NOMOD) + menu(acalcoutINAV) + prompt("INAA PV Status") + } + field(IBBV, DBF_MENU) { + prompt("INBB PV Status") + menu(acalcoutINAV) + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(ICCV, DBF_MENU) { + interest(1) + menu(acalcoutINAV) + prompt("INCC PV Status") + special(SPC_NOMOD) + initial("1") + } + field(IDDV, DBF_MENU) { + menu(acalcoutINAV) + special(SPC_NOMOD) + prompt("INDD PV Status") + interest(1) + initial("1") + } + field(IEEV, DBF_MENU) { + interest(1) + menu(acalcoutINAV) + prompt("INEE PV Status") + special(SPC_NOMOD) + initial("1") + } + field(IFFV, DBF_MENU) { + menu(acalcoutINAV) + special(SPC_NOMOD) + prompt("INFF PV Status") + interest(1) + initial("1") + } + field(IGGV, DBF_MENU) { + menu(acalcoutINAV) + prompt("INGG PV Status") + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(IHHV, DBF_MENU) { + menu(acalcoutINAV) + special(SPC_NOMOD) + prompt("INHH PV Status") + interest(1) + initial("1") + } + field(IIIV, DBF_MENU) { + interest(1) + menu(acalcoutINAV) + special(SPC_NOMOD) + prompt("INII PV Status") + initial("1") + } + field(IJJV, DBF_MENU) { + menu(acalcoutINAV) + prompt("INJJ PV Status") + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(IKKV, DBF_MENU) { + special(SPC_NOMOD) + menu(acalcoutINAV) + prompt("INKK PV Status") + interest(1) + initial("1") + } + field(ILLV, DBF_MENU) { + interest(1) + prompt("INLL PV Status") + menu(acalcoutINAV) + special(SPC_NOMOD) + initial("1") + } + field(OUTV, DBF_MENU) { + special(SPC_NOMOD) + menu(acalcoutINAV) + prompt("OUT PV Status") + interest(1) + } + field(OOPT, DBF_MENU) { + promptgroup(GUI_CALC) + interest(1) + menu(acalcoutOOPT) + prompt("Output Execute Opt") + } + field(ODLY, DBF_DOUBLE) { + promptgroup(GUI_ALARMS) + interest(1) + prompt("Output Execute Delay") + asl(ASL0) + } + field(WAIT, DBF_MENU) { + interest(1) + prompt("Wait for completion?") + menu(acalcoutWAIT) + } + field(DLYA, DBF_USHORT) { + special(SPC_NOMOD) + asl(ASL0) + prompt("Output Delay Active") + } + field(DOPT, DBF_MENU) { + promptgroup(GUI_CALC) + interest(1) + menu(acalcoutDOPT) + prompt("Output Data Opt") + } + field(OCAL, DBF_STRING) { + pp(TRUE) + prompt("Output Calculation") + special(SPC_MOD) + size(80) + promptgroup(GUI_CALC) + } + field(OCLV, DBF_LONG) { + interest(1) + prompt("OCAL Valid") + } + field(OEVT, DBF_USHORT) { + promptgroup(GUI_CLOCK) + asl(ASL0) + prompt("Event To Issue") + } + field(IVOA, DBF_MENU) { + menu(menuIvoa) + prompt("INVALID output action") + promptgroup(GUI_OUTPUT) + interest(2) + } + field(IVOV, DBF_DOUBLE) { + interest(2) + promptgroup(GUI_OUTPUT) + prompt("INVALID output value") + } + field(EGU, DBF_STRING) { + prompt("Units Name") + size(16) + interest(1) + promptgroup(GUI_DISPLAY) + } + field(PREC, DBF_SHORT) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Display Precision") + } + field(HOPR, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("High Operating Rng") + } + field(LOPR, DBF_DOUBLE) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Low Operating Range") + } + field(HIHI, DBF_DOUBLE) { + prompt("Hihi Alarm Limit") + interest(1) + promptgroup(GUI_ALARMS) + pp(TRUE) + } + field(LOLO, DBF_DOUBLE) { + pp(TRUE) + prompt("Lolo Alarm Limit") + promptgroup(GUI_ALARMS) + interest(1) + } + field(HIGH, DBF_DOUBLE) { + pp(TRUE) + prompt("High Alarm Limit") + promptgroup(GUI_ALARMS) + interest(1) + } + field(LOW, DBF_DOUBLE) { + pp(TRUE) + promptgroup(GUI_ALARMS) + interest(1) + prompt("Low Alarm Limit") + } + field(HHSV, DBF_MENU) { + pp(TRUE) + promptgroup(GUI_ALARMS) + interest(1) + menu(menuAlarmSevr) + prompt("Hihi Severity") + } + field(LLSV, DBF_MENU) { + pp(TRUE) + menu(menuAlarmSevr) + prompt("Lolo Severity") + promptgroup(GUI_ALARMS) + interest(1) + } + field(HSV, DBF_MENU) { + pp(TRUE) + promptgroup(GUI_ALARMS) + interest(1) + menu(menuAlarmSevr) + prompt("High Severity") + } + field(LSV, DBF_MENU) { + pp(TRUE) + prompt("Low Severity") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_ALARMS) + } + field(HYST, DBF_DOUBLE) { + prompt("Alarm Deadband") + interest(1) + promptgroup(GUI_ALARMS) + } + field(ADEL, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Archive Deadband") + } + field(MDEL, DBF_DOUBLE) { + prompt("Monitor Deadband") + interest(1) + promptgroup(GUI_DISPLAY) + } + field(A, DBF_DOUBLE) { + prompt("Value of Input A") + pp(TRUE) + } + field(B, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input B") + } + field(C, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input C") + } + field(D, DBF_DOUBLE) { + prompt("Value of Input D") + pp(TRUE) + } + field(E, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input E") + } + field(F, DBF_DOUBLE) { + prompt("Value of Input F") + pp(TRUE) + } + field(G, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input G") + } + field(H, DBF_DOUBLE) { + prompt("Value of Input H") + pp(TRUE) + } + field(I, DBF_DOUBLE) { + prompt("Value of Input I") + pp(TRUE) + } + field(J, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input J") + } + field(K, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input K") + } + field(L, DBF_DOUBLE) { + prompt("Value of Input L") + pp(TRUE) + } + field(AA, DBF_NOACCESS) { + extra("double *aa") + special(SPC_DBADDR) + prompt("Value of array input") + asl(ASL0) + pp(TRUE) + } + field(BB, DBF_NOACCESS) { + extra("double *bb") + prompt("Value of array input") + special(SPC_DBADDR) + asl(ASL0) + pp(TRUE) + } + field(CC, DBF_NOACCESS) { + pp(TRUE) + extra("double *cc") + special(SPC_DBADDR) + asl(ASL0) + prompt("Value of array input") + } + field(DD, DBF_NOACCESS) { + pp(TRUE) + special(SPC_DBADDR) + asl(ASL0) + prompt("Value of array input") + extra("double *dd") + } + field(EE, DBF_NOACCESS) { + pp(TRUE) + extra("double *ee") + prompt("Value of array input") + special(SPC_DBADDR) + asl(ASL0) + } + field(FF, DBF_NOACCESS) { + pp(TRUE) + special(SPC_DBADDR) + prompt("Value of array input") + asl(ASL0) + extra("double *ff") + } + field(GG, DBF_NOACCESS) { + pp(TRUE) + asl(ASL0) + special(SPC_DBADDR) + prompt("Value of array input") + extra("double *gg") + } + field(HH, DBF_NOACCESS) { + special(SPC_DBADDR) + prompt("Value of array input") + asl(ASL0) + extra("double *hh") + pp(TRUE) + } + field(II, DBF_NOACCESS) { + pp(TRUE) + asl(ASL0) + special(SPC_DBADDR) + prompt("Value of array input") + extra("double *ii") + } + field(JJ, DBF_NOACCESS) { + pp(TRUE) + extra("double *jj") + special(SPC_DBADDR) + asl(ASL0) + prompt("Value of array input") + } + field(KK, DBF_NOACCESS) { + extra("double *kk") + special(SPC_DBADDR) + prompt("Value of array input") + asl(ASL0) + pp(TRUE) + } + field(LL, DBF_NOACCESS) { + pp(TRUE) + extra("double *ll") + special(SPC_DBADDR) + prompt("Value of array input") + asl(ASL0) + } + field(PAA, DBF_NOACCESS) { + extra("double *paa") + prompt("Prev Val of array input") + asl(ASL0) + } + field(NEWM, DBF_ULONG) { + special(SPC_NOMOD) + asl(ASL0) + prompt("new array value mask") + } + field(OVAL, DBF_DOUBLE) { + asl(ASL0) + prompt("Output Value") + } + field(OAV, DBF_NOACCESS) { + special(SPC_DBADDR) + asl(ASL0) + prompt("Output array value") + extra("double *oav") + pp(TRUE) + } + field(POAV, DBF_NOACCESS) { + pp(TRUE) + extra("double *poav") + asl(ASL0) + prompt("Output array value") + } + field(PA, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Value of A") + } + field(PB, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of B") + interest(3) + } + field(PC, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of C") + special(SPC_NOMOD) + } + field(PD, DBF_DOUBLE) { + prompt("Prev Value of D") + special(SPC_NOMOD) + interest(3) + } + field(PE, DBF_DOUBLE) { + prompt("Prev Value of E") + special(SPC_NOMOD) + interest(3) + } + field(PF, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Value of F") + } + field(PG, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Value of G") + } + field(PH, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of H") + interest(3) + } + field(PI, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of I") + special(SPC_NOMOD) + } + field(PJ, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Value of J") + } + field(PK, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of K") + interest(3) + } + field(PL, DBF_DOUBLE) { + prompt("Prev Value of L") + special(SPC_NOMOD) + interest(3) + } + field(POVL, DBF_DOUBLE) { + prompt("Prev Value of OVAL") + asl(ASL0) + } + field(LALM, DBF_DOUBLE) { + interest(3) + prompt("Last Value Alarmed") + special(SPC_NOMOD) + } + field(ALST, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Last Value Archived") + } + field(MLST, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Last Val Monitored") + interest(3) + } + field(RPCL, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Reverse Polish Calc") + extra("unsigned char rpcl[282]") + } + field(ORPC, DBF_NOACCESS) { + interest(4) + prompt("Reverse Polish OCalc") + special(SPC_NOMOD) + extra("unsigned char orpc[282]") + } + field(CACT, DBF_UCHAR) { + interest(1) + prompt("Calc active") + special(SPC_NOMOD) + } + field(CSTAT, DBF_LONG) { + prompt("Calc status") + special(SPC_NOMOD) + interest(1) + } + field(AMASK, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Array mod") + interest(1) + } + field(SIZE, DBF_MENU) { + menu(acalcoutSIZE) + prompt("Array size reported to clients") + interest(1) + } +} +device(acalcout, CONSTANT, devaCalcoutSoft, "Soft Channel") +recordtype(compress) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + special(SPC_NOMOD) + prompt("Record Name") + size(61) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + promptgroup(GUI_COMMON) + size(41) + } + field(ASG, DBF_STRING) { + prompt("Access Security Group") + special(SPC_AS) + size(29) + promptgroup(GUI_COMMON) + } + field(SCAN, DBF_MENU) { + menu(menuScan) + prompt("Scan Mechanism") + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(PINI, DBF_MENU) { + menu(menuPini) + prompt("Process at iocInit") + promptgroup(GUI_SCAN) + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + special(SPC_SCAN) + interest(1) + promptgroup(GUI_SCAN) + } + field(EVNT, DBF_STRING) { + interest(1) + size(40) + promptgroup(GUI_SCAN) + special(SPC_SCAN) + prompt("Event Name") + } + field(TSE, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup(GUI_SCAN) + interest(1) + } + field(DTYP, DBF_DEVICE) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + initial("1") + promptgroup(GUI_SCAN) + prompt("Disable Value") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + interest(1) + promptgroup(GUI_SCAN) + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + prompt("Monitor lock") + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + special(SPC_NOMOD) + interest(4) + extra("ELLLIST mlis") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + interest(3) + prompt("Force Processing") + } + field(STAT, DBF_MENU) { + initial("UDF") + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("Alarm Status") + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + interest(2) + } + field(NSEV, DBF_MENU) { + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("New Alarm Severity") + interest(2) + } + field(ACKS, DBF_MENU) { + interest(2) + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + special(SPC_NOMOD) + menu(menuYesNo) + prompt("Alarm Ack Transient") + promptgroup(GUI_ALARMS) + interest(2) + } + field(DISS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + interest(1) + promptgroup(GUI_SCAN) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + special(SPC_NOMOD) + interest(2) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + special(SPC_NOMOD) + interest(1) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + special(SPC_NOMOD) + interest(1) + } + field(RPRO, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Reprocess ") + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + prompt("Access Security Pvt") + special(SPC_NOMOD) + interest(4) + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + special(SPC_NOMOD) + prompt("pprocessNotify") + interest(4) + } + field(PPNR, DBF_NOACCESS) { + interest(4) + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + special(SPC_NOMOD) + prompt("Scan Private") + interest(4) + } + field(RSET, DBF_NOACCESS) { + interest(4) + prompt("Address of RSET") + special(SPC_NOMOD) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + prompt("DSET address") + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + interest(4) + prompt("Device Private") + special(SPC_NOMOD) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + special(SPC_NOMOD) + prompt("Address of dbRecordType") + interest(4) + } + field(LSET, DBF_NOACCESS) { + interest(4) + prompt("Lock Set") + special(SPC_NOMOD) + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + menu(menuPriority) + prompt("Scheduling Priority") + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + interest(1) + special(SPC_NOMOD) + prompt("Break Point") + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + initial("1") + prompt("Undefined") + interest(1) + promptgroup(GUI_COMMON) + } + field(UDFS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + promptgroup(GUI_COMMON) + interest(1) + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + special(SPC_NOMOD) + interest(2) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup(GUI_LINKS) + interest(1) + } + field(VAL, DBF_NOACCESS) { + special(SPC_DBADDR) + asl(ASL0) + prompt("Value") + extra("void * val") + pp(TRUE) + } + field(INP, DBF_INLINK) { + prompt("Input Specification") + promptgroup(GUI_COMPRESS) + interest(1) + } + field(RES, DBF_SHORT) { + special(SPC_RESET) + prompt("Reset") + asl(ASL0) + interest(3) + } + field(ALG, DBF_MENU) { + prompt("Compression Algorithm") + menu(compressALG) + special(SPC_RESET) + promptgroup(GUI_ALARMS) + interest(1) + } + field(NSAM, DBF_ULONG) { + promptgroup(GUI_COMPRESS) + interest(1) + special(SPC_NOMOD) + prompt("Number of Values") + initial("1") + } + field(N, DBF_ULONG) { + initial("1") + special(SPC_RESET) + prompt("N to 1 Compression") + promptgroup(GUI_COMPRESS) + interest(1) + } + field(IHIL, DBF_DOUBLE) { + prompt("Init High Interest Lim") + promptgroup(GUI_COMPRESS) + interest(1) + } + field(ILIL, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_COMPRESS) + prompt("Init Low Interest Lim") + } + field(HOPR, DBF_DOUBLE) { + prompt("High Operating Range") + promptgroup(GUI_DISPLAY) + interest(1) + prop(YES) + } + field(LOPR, DBF_DOUBLE) { + prop(YES) + prompt("Low Operating Range") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(PREC, DBF_SHORT) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Display Precision") + prop(YES) + } + field(EGU, DBF_STRING) { + prompt("EngineeringUnits") + interest(1) + size(16) + promptgroup(GUI_DISPLAY) + prop(YES) + } + field(OFF, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Offset") + } + field(NUSE, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Number Used") + } + field(OUSE, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Old Number Used") + } + field(BPTR, DBF_NOACCESS) { + prompt("Buffer Pointer") + special(SPC_NOMOD) + interest(4) + extra("double *bptr") + } + field(SPTR, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Summing Buffer Ptr") + extra("double *sptr") + } + field(WPTR, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Working Buffer Ptr") + extra("double *wptr") + } + field(INPN, DBF_LONG) { + interest(4) + prompt("Number of elements in Working Buffer") + special(SPC_NOMOD) + } + field(CVB, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Compress Value Buffer") + interest(3) + } + field(INX, DBF_ULONG) { + interest(3) + special(SPC_NOMOD) + prompt("Compressed Array Inx") + } +} +recordtype(fanout) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + special(SPC_NOMOD) + prompt("Record Name") + size(61) + } + field(DESC, DBF_STRING) { + size(41) + promptgroup(GUI_COMMON) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + prompt("Access Security Group") + special(SPC_AS) + size(29) + promptgroup(GUI_COMMON) + } + field(SCAN, DBF_MENU) { + menu(menuScan) + prompt("Scan Mechanism") + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(PINI, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Process at iocInit") + menu(menuPini) + } + field(PHAS, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scan Phase") + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + special(SPC_SCAN) + prompt("Event Name") + interest(1) + size(40) + promptgroup(GUI_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup(GUI_SCAN) + interest(1) + } + field(TSEL, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + interest(1) + promptgroup(GUI_LINKS) + } + field(DISV, DBF_SHORT) { + initial("1") + promptgroup(GUI_SCAN) + prompt("Disable Value") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + prompt("Monitor lock") + special(SPC_NOMOD) + interest(4) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + special(SPC_NOMOD) + interest(4) + extra("ELLLIST mlis") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("Alarm Status") + initial("UDF") + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("Alarm Severity") + } + field(NSTA, DBF_MENU) { + interest(2) + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("New Alarm Status") + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + interest(2) + } + field(ACKS, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + interest(2) + } + field(ACKT, DBF_MENU) { + menu(menuYesNo) + special(SPC_NOMOD) + prompt("Alarm Ack Transient") + promptgroup(GUI_ALARMS) + interest(2) + initial("YES") + } + field(DISS, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + } + field(LCNT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Lock Count") + interest(2) + } + field(PACT, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Record active") + } + field(PUTF, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("dbPutField process") + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + interest(4) + prompt("Access Security Pvt") + special(SPC_NOMOD) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("pprocessNotify") + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + interest(4) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + interest(4) + prompt("Scan Private") + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + extra("struct rset *rset") + interest(4) + prompt("Address of RSET") + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + prompt("DSET address") + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + interest(4) + prompt("Device Private") + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + special(SPC_NOMOD) + interest(4) + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + prompt("Lock Set") + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + special(SPC_SCAN) + interest(1) + promptgroup(GUI_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + interest(1) + special(SPC_NOMOD) + prompt("Break Point") + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + prompt("Undefined") + interest(1) + promptgroup(GUI_COMMON) + initial("1") + pp(TRUE) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup(GUI_COMMON) + interest(1) + } + field(TIME, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Time") + interest(2) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Forward Process Link") + } + field(VAL, DBF_LONG) { + asl(ASL0) + prompt("Used to trigger") + pp(TRUE) + } + field(SELM, DBF_MENU) { + menu(fanoutSELM) + prompt("Select Mechanism") + promptgroup(GUI_LINKS) + interest(1) + } + field(SELN, DBF_USHORT) { + prompt("Link Selection") + interest(1) + initial("1") + } + field(SELL, DBF_INLINK) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Link Selection Loc") + } + field(OFFS, DBF_SHORT) { + initial("0") + interest(1) + prompt("Offset for Specified") + } + field(SHFT, DBF_SHORT) { + prompt("Shift for Mask mode") + interest(1) + initial("-1") + } + field(LNK0, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Link 0") + } + field(LNK1, DBF_FWDLINK) { + prompt("Forward Link 1") + promptgroup(GUI_LINKS) + interest(1) + } + field(LNK2, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Link 2") + } + field(LNK3, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Link 3") + } + field(LNK4, DBF_FWDLINK) { + prompt("Forward Link 4") + promptgroup(GUI_LINKS) + interest(1) + } + field(LNK5, DBF_FWDLINK) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Forward Link 5") + } + field(LNK6, DBF_FWDLINK) { + prompt("Forward Link 6") + interest(1) + promptgroup(GUI_LINKS) + } + field(LNK7, DBF_FWDLINK) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Forward Link 7") + } + field(LNK8, DBF_FWDLINK) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Forward Link 8") + } + field(LNK9, DBF_FWDLINK) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Forward Link 9") + } + field(LNKA, DBF_FWDLINK) { + prompt("Forward Link 10") + interest(1) + promptgroup(GUI_LINKS) + } + field(LNKB, DBF_FWDLINK) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Forward Link 11") + } + field(LNKC, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Link 12") + } + field(LNKD, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Link 13") + } + field(LNKE, DBF_FWDLINK) { + prompt("Forward Link 14") + interest(1) + promptgroup(GUI_LINKS) + } + field(LNKF, DBF_FWDLINK) { + prompt("Forward Link 15") + promptgroup(GUI_LINKS) + interest(1) + } +} +recordtype(histogram) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + size(61) + special(SPC_NOMOD) + prompt("Record Name") + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + size(41) + promptgroup(GUI_COMMON) + } + field(ASG, DBF_STRING) { + size(29) + promptgroup(GUI_COMMON) + special(SPC_AS) + prompt("Access Security Group") + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuScan) + special(SPC_SCAN) + prompt("Scan Mechanism") + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + interest(1) + promptgroup(GUI_SCAN) + } + field(PHAS, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + special(SPC_SCAN) + prompt("Scan Phase") + } + field(EVNT, DBF_STRING) { + interest(1) + promptgroup(GUI_SCAN) + size(40) + special(SPC_SCAN) + prompt("Event Name") + } + field(TSE, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + promptgroup(GUI_SCAN) + prompt("Disable Value") + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + interest(1) + promptgroup(GUI_SCAN) + } + field(MLOK, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Monitor lock") + interest(4) + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + prompt("Monitor List") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("Alarm Status") + initial("UDF") + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Alarm Severity") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + menu(menuAlarmStat) + prompt("New Alarm Status") + special(SPC_NOMOD) + interest(2) + } + field(NSEV, DBF_MENU) { + interest(2) + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("New Alarm Severity") + } + field(ACKS, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + interest(2) + } + field(ACKT, DBF_MENU) { + special(SPC_NOMOD) + menu(menuYesNo) + prompt("Alarm Ack Transient") + interest(2) + promptgroup(GUI_ALARMS) + initial("YES") + } + field(DISS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + interest(1) + promptgroup(GUI_SCAN) + } + field(LCNT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Lock Count") + interest(2) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + special(SPC_NOMOD) + interest(1) + } + field(PUTF, DBF_UCHAR) { + interest(1) + prompt("dbPutField process") + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Access Security Pvt") + interest(4) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("pprocessNotify") + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + interest(4) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Scan Private") + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + special(SPC_NOMOD) + interest(4) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + special(SPC_NOMOD) + prompt("DSET address") + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + special(SPC_NOMOD) + interest(4) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + prompt("Address of dbRecordType") + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + special(SPC_NOMOD) + interest(4) + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuPriority) + special(SPC_SCAN) + prompt("Scheduling Priority") + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + interest(1) + prompt("Break Point") + special(SPC_NOMOD) + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + initial("1") + promptgroup(GUI_COMMON) + interest(1) + prompt("Undefined") + } + field(UDFS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + interest(1) + promptgroup(GUI_COMMON) + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + interest(2) + prompt("Time") + special(SPC_NOMOD) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + interest(1) + promptgroup(GUI_LINKS) + } + field(VAL, DBF_NOACCESS) { + extra("void * val") + special(SPC_DBADDR) + prompt("Value") + asl(ASL0) + } + field(NELM, DBF_USHORT) { + initial("1") + interest(1) + promptgroup(GUI_HIST) + prompt("Num of Array Elements") + special(SPC_NOMOD) + } + field(CSTA, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + prompt("Collection Status") + initial("1") + } + field(CMD, DBF_MENU) { + asl(ASL0) + menu(histogramCMD) + special(SPC_CALC) + prompt("Collection Control") + interest(1) + } + field(ULIM, DBF_DOUBLE) { + promptgroup(GUI_HIST) + interest(1) + prompt("Upper Signal Limit") + special(SPC_RESET) + prop(YES) + } + field(LLIM, DBF_DOUBLE) { + prop(YES) + interest(1) + promptgroup(GUI_HIST) + special(SPC_RESET) + prompt("Lower Signal Limit ") + } + field(WDTH, DBF_DOUBLE) { + interest(3) + prompt("Element Width") + special(SPC_NOMOD) + } + field(SGNL, DBF_DOUBLE) { + special(SPC_MOD) + prompt("Signal Value") + } + field(PREC, DBF_SHORT) { + prompt("Display Precision") + interest(1) + promptgroup(GUI_DISPLAY) + prop(YES) + } + field(SVL, DBF_INLINK) { + prompt("Signal Value Location") + interest(1) + promptgroup(GUI_INPUTS) + } + field(BPTR, DBF_NOACCESS) { + prompt("Buffer Pointer") + special(SPC_NOMOD) + interest(4) + extra("epicsUInt32 *bptr") + } + field(WDOG, DBF_NOACCESS) { + extra("void * wdog") + interest(4) + prompt("Watchdog callback") + special(SPC_NOMOD) + } + field(MDEL, DBF_SHORT) { + interest(1) + promptgroup(GUI_HIST) + prompt("Monitor Count Deadband") + } + field(MCNT, DBF_SHORT) { + special(SPC_NOMOD) + prompt("Counts Since Monitor") + interest(3) + } + field(SDEL, DBF_DOUBLE) { + prompt("Monitor Seconds Dband") + special(SPC_RESET) + promptgroup(GUI_HIST) + interest(1) + } + field(SIOL, DBF_INLINK) { + prompt("Sim Input Specifctn") + promptgroup(GUI_INPUTS) + interest(1) + } + field(SVAL, DBF_DOUBLE) { + prompt("Simulation Value") + } + field(SIML, DBF_INLINK) { + prompt("Sim Mode Location") + interest(1) + promptgroup(GUI_INPUTS) + } + field(SIMM, DBF_MENU) { + interest(1) + prompt("Simulation Mode") + menu(menuYesNo) + } + field(SIMS, DBF_MENU) { + promptgroup(GUI_INPUTS) + interest(2) + menu(menuAlarmSevr) + prompt("Sim mode Alarm Svrty") + } + field(HOPR, DBF_ULONG) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("High Operating Range") + prop(YES) + } + field(LOPR, DBF_ULONG) { + prop(YES) + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Low Operating Range") + } +} +device(histogram, CONSTANT, devHistogramSoft, "Soft Channel") +recordtype(longout) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + special(SPC_NOMOD) + prompt("Record Name") + size(61) + } + field(DESC, DBF_STRING) { + promptgroup(GUI_COMMON) + size(41) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + promptgroup(GUI_COMMON) + size(29) + special(SPC_AS) + prompt("Access Security Group") + } + field(SCAN, DBF_MENU) { + special(SPC_SCAN) + menu(menuScan) + prompt("Scan Mechanism") + promptgroup(GUI_SCAN) + interest(1) + } + field(PINI, DBF_MENU) { + menu(menuPini) + prompt("Process at iocInit") + interest(1) + promptgroup(GUI_SCAN) + } + field(PHAS, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scan Phase") + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + prompt("Event Name") + special(SPC_SCAN) + size(40) + interest(1) + promptgroup(GUI_SCAN) + } + field(TSE, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup(GUI_SCAN) + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup(GUI_LINKS) + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + promptgroup(GUI_SCAN) + prompt("Disable Value") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + interest(4) + prompt("Monitor lock") + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + interest(4) + prompt("Monitor List") + special(SPC_NOMOD) + extra("ELLLIST mlis") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + prompt("Force Processing") + interest(3) + pp(TRUE) + } + field(STAT, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("Alarm Status") + initial("UDF") + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + interest(2) + } + field(NSEV, DBF_MENU) { + interest(2) + prompt("New Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + interest(2) + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + promptgroup(GUI_ALARMS) + interest(2) + prompt("Alarm Ack Transient") + menu(menuYesNo) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup(GUI_SCAN) + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + special(SPC_NOMOD) + interest(2) + } + field(PACT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Record active") + interest(1) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + special(SPC_NOMOD) + interest(1) + } + field(RPRO, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Reprocess ") + } + field(ASP, DBF_NOACCESS) { + interest(4) + prompt("Access Security Pvt") + special(SPC_NOMOD) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + special(SPC_NOMOD) + interest(4) + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + extra("struct processNotifyRecord *ppnr") + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + interest(4) + } + field(SPVT, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Scan Private") + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + extra("struct rset *rset") + interest(4) + special(SPC_NOMOD) + prompt("Address of RSET") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + prompt("DSET address") + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + interest(4) + prompt("Device Private") + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + interest(4) + prompt("Address of dbRecordType") + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + special(SPC_NOMOD) + interest(4) + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + special(SPC_SCAN) + menu(menuPriority) + prompt("Scheduling Priority") + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + special(SPC_NOMOD) + prompt("Break Point") + interest(1) + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + initial("1") + promptgroup(GUI_COMMON) + interest(1) + prompt("Undefined") + } + field(UDFS, DBF_MENU) { + initial("INVALID") + interest(1) + promptgroup(GUI_COMMON) + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + } + field(TIME, DBF_NOACCESS) { + extra("epicsTimeStamp time") + interest(2) + prompt("Time") + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Process Link") + } + field(VAL, DBF_LONG) { + pp(TRUE) + asl(ASL0) + prompt("Desired Output") + promptgroup(GUI_OUTPUT) + } + field(OUT, DBF_OUTLINK) { + promptgroup(GUI_OUTPUT) + interest(1) + prompt("Output Specification") + } + field(DOL, DBF_INLINK) { + interest(1) + promptgroup(GUI_OUTPUT) + prompt("Desired Output Loc") + } + field(OMSL, DBF_MENU) { + interest(1) + promptgroup(GUI_OUTPUT) + prompt("Output Mode Select") + menu(menuOmsl) + } + field(EGU, DBF_STRING) { + size(16) + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Units name") + prop(YES) + } + field(DRVH, DBF_LONG) { + pp(TRUE) + prop(YES) + promptgroup(GUI_OUTPUT) + interest(1) + prompt("Drive High Limit") + } + field(DRVL, DBF_LONG) { + prop(YES) + pp(TRUE) + prompt("Drive Low Limit") + interest(1) + promptgroup(GUI_OUTPUT) + } + field(HOPR, DBF_LONG) { + prop(YES) + prompt("High Operating Range") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(LOPR, DBF_LONG) { + prop(YES) + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Low Operating Range") + } + field(HIHI, DBF_LONG) { + prop(YES) + pp(TRUE) + interest(1) + promptgroup(GUI_ALARMS) + prompt("Hihi Alarm Limit") + } + field(LOLO, DBF_LONG) { + prompt("Lolo Alarm Limit") + interest(1) + promptgroup(GUI_ALARMS) + prop(YES) + pp(TRUE) + } + field(HIGH, DBF_LONG) { + prop(YES) + pp(TRUE) + interest(1) + promptgroup(GUI_ALARMS) + prompt("High Alarm Limit") + } + field(LOW, DBF_LONG) { + pp(TRUE) + prop(YES) + prompt("Low Alarm Limit") + promptgroup(GUI_ALARMS) + interest(1) + } + field(HHSV, DBF_MENU) { + pp(TRUE) + interest(1) + promptgroup(GUI_ALARMS) + prompt("Hihi Severity") + menu(menuAlarmSevr) + } + field(LLSV, DBF_MENU) { + prompt("Lolo Severity") + menu(menuAlarmSevr) + promptgroup(GUI_ALARMS) + interest(1) + pp(TRUE) + } + field(HSV, DBF_MENU) { + interest(1) + promptgroup(GUI_ALARMS) + menu(menuAlarmSevr) + prompt("High Severity") + pp(TRUE) + } + field(LSV, DBF_MENU) { + pp(TRUE) + menu(menuAlarmSevr) + prompt("Low Severity") + interest(1) + promptgroup(GUI_ALARMS) + } + field(HYST, DBF_LONG) { + promptgroup(GUI_ALARMS) + interest(1) + prompt("Alarm Deadband") + } + field(ADEL, DBF_LONG) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Archive Deadband") + } + field(MDEL, DBF_LONG) { + prompt("Monitor Deadband") + interest(1) + promptgroup(GUI_DISPLAY) + } + field(LALM, DBF_LONG) { + special(SPC_NOMOD) + prompt("Last Value Alarmed") + interest(3) + } + field(ALST, DBF_LONG) { + interest(3) + prompt("Last Value Archived") + special(SPC_NOMOD) + } + field(MLST, DBF_LONG) { + special(SPC_NOMOD) + prompt("Last Val Monitored") + interest(3) + } + field(SIOL, DBF_OUTLINK) { + prompt("Sim Output Specifctn") + interest(1) + promptgroup(GUI_INPUTS) + } + field(SIML, DBF_INLINK) { + prompt("Sim Mode Location") + interest(1) + promptgroup(GUI_INPUTS) + } + field(SIMM, DBF_MENU) { + interest(1) + prompt("Simulation Mode") + menu(menuYesNo) + } + field(SIMS, DBF_MENU) { + prompt("Sim mode Alarm Svrty") + menu(menuAlarmSevr) + interest(2) + promptgroup(GUI_INPUTS) + } + field(IVOA, DBF_MENU) { + promptgroup(GUI_OUTPUT) + interest(2) + prompt("INVALID output action") + menu(menuIvoa) + } + field(IVOV, DBF_LONG) { + promptgroup(GUI_OUTPUT) + interest(2) + prompt("INVALID output value") + } +} +device(longout, CONSTANT, devLoSoft, "Soft Channel") +device(longout, CONSTANT, devLoSoftCallback, "Async Soft Channel") +device(longout, INST_IO, asynLoInt32, "asynInt32") +device(longout, INST_IO, asynLoUInt32Digital, "asynUInt32Digital") +device(longout, INST_IO, devlongoutStream, "stream") +recordtype(subArray) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + prompt("Record Name") + special(SPC_NOMOD) + size(61) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + promptgroup(GUI_COMMON) + size(41) + } + field(ASG, DBF_STRING) { + size(29) + promptgroup(GUI_COMMON) + special(SPC_AS) + prompt("Access Security Group") + } + field(SCAN, DBF_MENU) { + menu(menuScan) + special(SPC_SCAN) + prompt("Scan Mechanism") + promptgroup(GUI_SCAN) + interest(1) + } + field(PINI, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuPini) + prompt("Process at iocInit") + } + field(PHAS, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scan Phase") + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + special(SPC_SCAN) + prompt("Event Name") + interest(1) + promptgroup(GUI_SCAN) + size(40) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + interest(1) + promptgroup(GUI_SCAN) + } + field(TSEL, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + initial("1") + promptgroup(GUI_SCAN) + prompt("Disable Value") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Monitor lock") + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + interest(4) + prompt("Monitor List") + special(SPC_NOMOD) + extra("ELLLIST mlis") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + interest(3) + prompt("Force Processing") + pp(TRUE) + } + field(STAT, DBF_MENU) { + initial("UDF") + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("Alarm Status") + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("Alarm Severity") + } + field(NSTA, DBF_MENU) { + interest(2) + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("New Alarm Status") + } + field(NSEV, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("New Alarm Severity") + interest(2) + } + field(ACKS, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + interest(2) + } + field(ACKT, DBF_MENU) { + initial("YES") + menu(menuYesNo) + prompt("Alarm Ack Transient") + special(SPC_NOMOD) + interest(2) + promptgroup(GUI_ALARMS) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_SCAN) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + special(SPC_NOMOD) + interest(2) + } + field(PACT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Record active") + interest(1) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + special(SPC_NOMOD) + interest(1) + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + prompt("Access Security Pvt") + special(SPC_NOMOD) + interest(4) + } + field(PPN, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("pprocessNotify") + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + extra("struct processNotifyRecord *ppnr") + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + interest(4) + } + field(SPVT, DBF_NOACCESS) { + interest(4) + prompt("Scan Private") + special(SPC_NOMOD) + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Address of RSET") + interest(4) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + special(SPC_NOMOD) + prompt("DSET address") + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + prompt("Device Private") + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + special(SPC_NOMOD) + interest(4) + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + special(SPC_NOMOD) + prompt("Lock Set") + interest(4) + } + field(PRIO, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuPriority) + prompt("Scheduling Priority") + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + special(SPC_NOMOD) + interest(1) + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + initial("1") + interest(1) + promptgroup(GUI_COMMON) + prompt("Undefined") + pp(TRUE) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + interest(1) + promptgroup(GUI_COMMON) + } + field(TIME, DBF_NOACCESS) { + extra("epicsTimeStamp time") + interest(2) + prompt("Time") + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Forward Process Link") + } + field(VAL, DBF_NOACCESS) { + pp(TRUE) + extra("void * val") + special(SPC_DBADDR) + asl(ASL0) + prompt("Value") + } + field(PREC, DBF_SHORT) { + promptgroup(GUI_COMMON) + interest(1) + prompt("Display Precision") + prop(YES) + } + field(FTVL, DBF_MENU) { + promptgroup(GUI_ALARMS) + interest(1) + prompt("Field Type of Value") + menu(menuFtype) + special(SPC_NOMOD) + } + field(INP, DBF_INLINK) { + interest(1) + promptgroup(GUI_BITS1) + prompt("Input Specification") + } + field(EGU, DBF_STRING) { + size(16) + interest(1) + promptgroup(GUI_BITS2) + prompt("Engineering Units Name") + prop(YES) + } + field(HOPR, DBF_DOUBLE) { + prop(YES) + interest(1) + promptgroup(GUI_CALC) + prompt("High Operating Range") + } + field(LOPR, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_CLOCK) + prompt("Low Operating Range") + prop(YES) + } + field(MALM, DBF_ULONG) { + initial("1") + special(SPC_NOMOD) + prompt("Maximum Elements ") + interest(1) + promptgroup(GUI_CLOCK) + } + field(NELM, DBF_ULONG) { + promptgroup(GUI_COMPRESS) + prompt("Number of Elements") + initial("1") + pp(TRUE) + } + field(INDX, DBF_ULONG) { + promptgroup(GUI_CONVERT) + prompt("Substring Index") + pp(TRUE) + } + field(BUSY, DBF_SHORT) { + special(SPC_NOMOD) + prompt("Busy Indicator") + } + field(NORD, DBF_LONG) { + prompt("Number elements read") + special(SPC_NOMOD) + } + field(BPTR, DBF_NOACCESS) { + extra("void * bptr") + interest(4) + special(SPC_NOMOD) + prompt("Buffer Pointer") + } +} +device(subArray, CONSTANT, devSASoft, "Soft Channel") +recordtype(sel) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + special(SPC_NOMOD) + prompt("Record Name") + size(61) + } + field(DESC, DBF_STRING) { + size(41) + promptgroup(GUI_COMMON) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + size(29) + promptgroup(GUI_COMMON) + special(SPC_AS) + prompt("Access Security Group") + } + field(SCAN, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + special(SPC_SCAN) + menu(menuScan) + prompt("Scan Mechanism") + } + field(PINI, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuPini) + prompt("Process at iocInit") + } + field(PHAS, DBF_SHORT) { + special(SPC_SCAN) + prompt("Scan Phase") + promptgroup(GUI_SCAN) + interest(1) + } + field(EVNT, DBF_STRING) { + interest(1) + promptgroup(GUI_SCAN) + size(40) + prompt("Event Name") + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup(GUI_LINKS) + interest(1) + } + field(DISV, DBF_SHORT) { + promptgroup(GUI_SCAN) + prompt("Disable Value") + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Monitor lock") + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + interest(4) + prompt("Monitor List") + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + prompt("Force Processing") + interest(3) + pp(TRUE) + } + field(STAT, DBF_MENU) { + initial("UDF") + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("Alarm Status") + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + interest(2) + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("New Alarm Status") + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + interest(2) + } + field(ACKS, DBF_MENU) { + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("Alarm Ack Severity") + interest(2) + } + field(ACKT, DBF_MENU) { + prompt("Alarm Ack Transient") + menu(menuYesNo) + special(SPC_NOMOD) + promptgroup(GUI_ALARMS) + interest(2) + initial("YES") + } + field(DISS, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + } + field(LCNT, DBF_UCHAR) { + interest(2) + special(SPC_NOMOD) + prompt("Lock Count") + } + field(PACT, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Record active") + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + interest(4) + prompt("Access Security Pvt") + special(SPC_NOMOD) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("pprocessNotify") + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + prompt("Scan Private") + } + field(RSET, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Address of RSET") + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + prompt("DSET address") + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + interest(4) + prompt("Device Private") + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + special(SPC_NOMOD) + prompt("Address of dbRecordType") + interest(4) + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + special(SPC_NOMOD) + prompt("Lock Set") + interest(4) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + interest(1) + prompt("Break Point") + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + promptgroup(GUI_COMMON) + interest(1) + prompt("Undefined") + initial("1") + pp(TRUE) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + promptgroup(GUI_COMMON) + interest(1) + } + field(TIME, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Time") + interest(2) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Forward Process Link") + } + field(VAL, DBF_DOUBLE) { + special(SPC_NOMOD) + asl(ASL0) + prompt("Result") + } + field(SELM, DBF_MENU) { + prompt("Select Mechanism") + menu(selSELM) + promptgroup(GUI_INPUTS) + } + field(SELN, DBF_USHORT) { + prompt("Index value") + } + field(PREC, DBF_SHORT) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Display Precision") + } + field(NVL, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Index Value Location") + } + field(INPA, DBF_INLINK) { + interest(1) + promptgroup(GUI_SELECT) + prompt("Input A") + } + field(INPB, DBF_INLINK) { + prompt("Input B") + promptgroup(GUI_SELECT) + interest(1) + } + field(INPC, DBF_INLINK) { + promptgroup(GUI_SELECT) + interest(1) + prompt("Input C") + } + field(INPD, DBF_INLINK) { + prompt("Input D") + promptgroup(GUI_SELECT) + interest(1) + } + field(INPE, DBF_INLINK) { + prompt("Input E") + promptgroup(GUI_SELECT) + interest(1) + } + field(INPF, DBF_INLINK) { + prompt("Input F") + promptgroup(GUI_SELECT) + interest(1) + } + field(INPG, DBF_INLINK) { + prompt("Input G") + interest(1) + promptgroup(GUI_SELECT) + } + field(INPH, DBF_INLINK) { + prompt("Input H") + promptgroup(GUI_SELECT) + interest(1) + } + field(INPI, DBF_INLINK) { + interest(1) + promptgroup(GUI_SELECT) + prompt("Input I") + } + field(INPJ, DBF_INLINK) { + prompt("Input J") + promptgroup(GUI_SELECT) + interest(1) + } + field(INPK, DBF_INLINK) { + prompt("Input K") + interest(1) + promptgroup(GUI_SELECT) + } + field(INPL, DBF_INLINK) { + promptgroup(GUI_SELECT) + interest(1) + prompt("Input L") + } + field(EGU, DBF_STRING) { + size(16) + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Units Name") + prop(YES) + } + field(HOPR, DBF_DOUBLE) { + prompt("High Operating Rng") + promptgroup(GUI_DISPLAY) + interest(1) + prop(YES) + } + field(LOPR, DBF_DOUBLE) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Low Operating Range") + prop(YES) + } + field(HIHI, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_ALARMS) + prompt("Hihi Alarm Limit") + prop(YES) + pp(TRUE) + } + field(LOLO, DBF_DOUBLE) { + prompt("Lolo Alarm Limit") + interest(1) + promptgroup(GUI_ALARMS) + pp(TRUE) + prop(YES) + } + field(HIGH, DBF_DOUBLE) { + prompt("High Alarm Limit") + promptgroup(GUI_ALARMS) + interest(1) + prop(YES) + pp(TRUE) + } + field(LOW, DBF_DOUBLE) { + prop(YES) + pp(TRUE) + prompt("Low Alarm Limit") + promptgroup(GUI_ALARMS) + interest(1) + } + field(HHSV, DBF_MENU) { + prop(YES) + pp(TRUE) + promptgroup(GUI_ALARMS) + interest(1) + menu(menuAlarmSevr) + prompt("Hihi Severity") + } + field(LLSV, DBF_MENU) { + pp(TRUE) + prop(YES) + prompt("Lolo Severity") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_ALARMS) + } + field(HSV, DBF_MENU) { + pp(TRUE) + prop(YES) + interest(1) + promptgroup(GUI_ALARMS) + prompt("High Severity") + menu(menuAlarmSevr) + } + field(LSV, DBF_MENU) { + pp(TRUE) + prop(YES) + prompt("Low Severity") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_ALARMS) + } + field(HYST, DBF_DOUBLE) { + prompt("Alarm Deadband") + promptgroup(GUI_ALARMS) + interest(1) + } + field(ADEL, DBF_DOUBLE) { + prompt("Archive Deadband") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(MDEL, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Monitor Deadband") + } + field(A, DBF_DOUBLE) { + prompt("Value of Input A") + pp(TRUE) + } + field(B, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input B") + } + field(C, DBF_DOUBLE) { + prompt("Value of Input C") + pp(TRUE) + } + field(D, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input D") + } + field(E, DBF_DOUBLE) { + prompt("Value of Input E") + pp(TRUE) + } + field(F, DBF_DOUBLE) { + prompt("Value of Input F") + pp(TRUE) + } + field(G, DBF_DOUBLE) { + prompt("Value of Input G") + pp(TRUE) + } + field(H, DBF_DOUBLE) { + prompt("Value of Input H") + pp(TRUE) + } + field(I, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input I") + } + field(J, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input J") + } + field(K, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input K") + } + field(L, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input L") + } + field(LA, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Value of A") + } + field(LB, DBF_DOUBLE) { + prompt("Prev Value of B") + special(SPC_NOMOD) + interest(3) + } + field(LC, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of C") + interest(3) + } + field(LD, DBF_DOUBLE) { + prompt("Prev Value of D") + special(SPC_NOMOD) + interest(3) + } + field(LE, DBF_DOUBLE) { + prompt("Prev Value of E") + special(SPC_NOMOD) + interest(3) + } + field(LF, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of F") + interest(3) + } + field(LG, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Value of G") + } + field(LH, DBF_DOUBLE) { + prompt("Prev Value of H") + special(SPC_NOMOD) + interest(3) + } + field(LI, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of I") + special(SPC_NOMOD) + } + field(LJ, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of J") + interest(3) + } + field(LK, DBF_DOUBLE) { + prompt("Prev Value of K") + special(SPC_NOMOD) + interest(3) + } + field(LL, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of L") + interest(3) + } + field(LALM, DBF_DOUBLE) { + interest(3) + prompt("Last Value Alarmed") + special(SPC_NOMOD) + } + field(ALST, DBF_DOUBLE) { + prompt("Last Value Archived") + special(SPC_NOMOD) + interest(3) + } + field(MLST, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Last Val Monitored") + } + field(NLST, DBF_USHORT) { + special(SPC_NOMOD) + prompt("Last Index Monitored") + interest(3) + } +} +recordtype(ao) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + size(41) + promptgroup(GUI_COMMON) + } + field(ASG, DBF_STRING) { + prompt("Access Security Group") + special(SPC_AS) + size(29) + promptgroup(GUI_COMMON) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(PINI, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuPini) + prompt("Process at iocInit") + } + field(PHAS, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + special(SPC_SCAN) + prompt("Scan Phase") + } + field(EVNT, DBF_STRING) { + size(40) + interest(1) + promptgroup(GUI_SCAN) + special(SPC_SCAN) + prompt("Event Name") + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + interest(1) + promptgroup(GUI_SCAN) + } + field(TSEL, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + initial("1") + promptgroup(GUI_SCAN) + prompt("Disable Value") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup(GUI_SCAN) + interest(1) + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + special(SPC_NOMOD) + prompt("Monitor lock") + interest(4) + } + field(MLIS, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Monitor List") + extra("ELLLIST mlis") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + interest(3) + prompt("Force Processing") + } + field(STAT, DBF_MENU) { + initial("UDF") + menu(menuAlarmStat) + prompt("Alarm Status") + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("Alarm Severity") + } + field(NSTA, DBF_MENU) { + menu(menuAlarmStat) + prompt("New Alarm Status") + special(SPC_NOMOD) + interest(2) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + interest(2) + } + field(ACKS, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + interest(2) + } + field(ACKT, DBF_MENU) { + initial("YES") + menu(menuYesNo) + special(SPC_NOMOD) + prompt("Alarm Ack Transient") + promptgroup(GUI_ALARMS) + interest(2) + } + field(DISS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + promptgroup(GUI_SCAN) + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + special(SPC_NOMOD) + interest(2) + } + field(PACT, DBF_UCHAR) { + interest(1) + prompt("Record active") + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + special(SPC_NOMOD) + interest(1) + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + special(SPC_NOMOD) + prompt("Access Security Pvt") + interest(4) + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + prompt("pprocessNotify") + special(SPC_NOMOD) + interest(4) + } + field(PPNR, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + interest(4) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + prompt("Scan Private") + } + field(RSET, DBF_NOACCESS) { + extra("struct rset *rset") + interest(4) + special(SPC_NOMOD) + prompt("Address of RSET") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + special(SPC_NOMOD) + prompt("DSET address") + interest(4) + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + prompt("Device Private") + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + prompt("Address of dbRecordType") + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + special(SPC_NOMOD) + interest(4) + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scheduling Priority") + menu(menuPriority) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + interest(1) + prompt("Break Point") + special(SPC_NOMOD) + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + initial("1") + prompt("Undefined") + interest(1) + promptgroup(GUI_COMMON) + pp(TRUE) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup(GUI_COMMON) + interest(1) + } + field(TIME, DBF_NOACCESS) { + interest(2) + prompt("Time") + special(SPC_NOMOD) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Forward Process Link") + } + field(VAL, DBF_DOUBLE) { + pp(TRUE) + prompt("Desired Output") + asl(ASL0) + promptgroup(GUI_OUTPUT) + } + field(OVAL, DBF_DOUBLE) { + prompt("Output Value") + } + field(OUT, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_OUTPUT) + prompt("Output Specification") + } + field(OROC, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_OUTPUT) + prompt("Output Rate of Change") + } + field(DOL, DBF_INLINK) { + prompt("Desired Output Loc") + interest(1) + promptgroup(GUI_OUTPUT) + } + field(OMSL, DBF_MENU) { + menu(menuOmsl) + prompt("Output Mode Select") + promptgroup(GUI_OUTPUT) + interest(1) + } + field(OIF, DBF_MENU) { + promptgroup(GUI_OUTPUT) + interest(1) + menu(aoOIF) + prompt("Out Full/Incremental") + } + field(PREC, DBF_SHORT) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Display Precision") + prop(YES) + } + field(LINR, DBF_MENU) { + promptgroup(GUI_CONVERT) + interest(1) + special(SPC_LINCONV) + menu(menuConvert) + prompt("Linearization") + pp(TRUE) + } + field(EGUF, DBF_DOUBLE) { + promptgroup(GUI_CONVERT) + interest(1) + special(SPC_LINCONV) + prompt("Eng Units Full") + pp(TRUE) + } + field(EGUL, DBF_DOUBLE) { + pp(TRUE) + promptgroup(GUI_CONVERT) + interest(1) + special(SPC_LINCONV) + prompt("Eng Units Low") + } + field(EGU, DBF_STRING) { + interest(1) + size(16) + promptgroup(GUI_DISPLAY) + prompt("Engineering Units") + prop(YES) + } + field(ROFF, DBF_ULONG) { + prompt("Raw Offset") + interest(2) + pp(TRUE) + } + field(EOFF, DBF_DOUBLE) { + pp(TRUE) + interest(2) + promptgroup(GUI_CONVERT) + prompt("EGU to Raw Offset") + } + field(ESLO, DBF_DOUBLE) { + prompt("EGU to Raw Slope") + promptgroup(GUI_CONVERT) + interest(2) + initial("1") + pp(TRUE) + } + field(DRVH, DBF_DOUBLE) { + prompt("Drive High Limit") + promptgroup(GUI_OUTPUT) + interest(1) + prop(YES) + pp(TRUE) + } + field(DRVL, DBF_DOUBLE) { + prompt("Drive Low Limit") + promptgroup(GUI_OUTPUT) + interest(1) + pp(TRUE) + prop(YES) + } + field(HOPR, DBF_DOUBLE) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("High Operating Range") + prop(YES) + } + field(LOPR, DBF_DOUBLE) { + prompt("Low Operating Range") + interest(1) + promptgroup(GUI_DISPLAY) + prop(YES) + } + field(AOFF, DBF_DOUBLE) { + prompt("Adjustment Offset") + interest(1) + promptgroup(GUI_CONVERT) + pp(TRUE) + } + field(ASLO, DBF_DOUBLE) { + pp(TRUE) + prompt("Adjustment Slope") + promptgroup(GUI_CONVERT) + interest(1) + } + field(HIHI, DBF_DOUBLE) { + prompt("Hihi Alarm Limit") + interest(1) + promptgroup(GUI_ALARMS) + prop(YES) + pp(TRUE) + } + field(LOLO, DBF_DOUBLE) { + pp(TRUE) + prop(YES) + prompt("Lolo Alarm Limit") + interest(1) + promptgroup(GUI_ALARMS) + } + field(HIGH, DBF_DOUBLE) { + prop(YES) + pp(TRUE) + prompt("High Alarm Limit") + interest(1) + promptgroup(GUI_ALARMS) + } + field(LOW, DBF_DOUBLE) { + prompt("Low Alarm Limit") + interest(1) + promptgroup(GUI_ALARMS) + pp(TRUE) + prop(YES) + } + field(HHSV, DBF_MENU) { + prompt("Hihi Severity") + menu(menuAlarmSevr) + promptgroup(GUI_ALARMS) + interest(1) + pp(TRUE) + prop(YES) + } + field(LLSV, DBF_MENU) { + pp(TRUE) + prop(YES) + promptgroup(GUI_ALARMS) + interest(1) + prompt("Lolo Severity") + menu(menuAlarmSevr) + } + field(HSV, DBF_MENU) { + pp(TRUE) + prop(YES) + menu(menuAlarmSevr) + prompt("High Severity") + promptgroup(GUI_ALARMS) + interest(1) + } + field(LSV, DBF_MENU) { + pp(TRUE) + prop(YES) + menu(menuAlarmSevr) + prompt("Low Severity") + promptgroup(GUI_ALARMS) + interest(1) + } + field(HYST, DBF_DOUBLE) { + prompt("Alarm Deadband") + promptgroup(GUI_ALARMS) + interest(1) + } + field(ADEL, DBF_DOUBLE) { + prompt("Archive Deadband") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(MDEL, DBF_DOUBLE) { + prompt("Monitor Deadband") + interest(1) + promptgroup(GUI_DISPLAY) + } + field(RVAL, DBF_LONG) { + pp(TRUE) + prompt("Current Raw Value") + } + field(ORAW, DBF_LONG) { + interest(3) + special(SPC_NOMOD) + prompt("Previous Raw Value") + } + field(RBV, DBF_LONG) { + prompt("Readback Value") + special(SPC_NOMOD) + } + field(ORBV, DBF_LONG) { + special(SPC_NOMOD) + prompt("Prev Readback Value") + interest(3) + } + field(PVAL, DBF_DOUBLE) { + prompt("Previous value") + special(SPC_NOMOD) + interest(3) + } + field(LALM, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Last Value Alarmed") + } + field(ALST, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Last Value Archived") + } + field(MLST, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Last Val Monitored") + } + field(PBRK, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Ptrto brkTable") + extra("void * pbrk") + } + field(INIT, DBF_SHORT) { + special(SPC_NOMOD) + prompt("Initialized?") + interest(3) + } + field(LBRK, DBF_SHORT) { + interest(3) + special(SPC_NOMOD) + prompt("LastBreak Point") + } + field(SIOL, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Sim Output Specifctn") + } + field(SIML, DBF_INLINK) { + prompt("Sim Mode Location") + interest(1) + promptgroup(GUI_INPUTS) + } + field(SIMM, DBF_MENU) { + prompt("Simulation Mode") + menu(menuYesNo) + interest(1) + } + field(SIMS, DBF_MENU) { + promptgroup(GUI_INPUTS) + interest(2) + menu(menuAlarmSevr) + prompt("Sim mode Alarm Svrty") + } + field(IVOA, DBF_MENU) { + interest(2) + promptgroup(GUI_OUTPUT) + menu(menuIvoa) + prompt("INVALID output action") + } + field(IVOV, DBF_DOUBLE) { + prompt("INVALID output value") + promptgroup(GUI_OUTPUT) + interest(2) + } + field(OMOD, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Was OVAL modified?") + } +} +device(ao, CONSTANT, devAoSoft, "Soft Channel") +device(ao, CONSTANT, devAoSoftRaw, "Raw Soft Channel") +device(ao, CONSTANT, devAoSoftCallback, "Async Soft Channel") +device(ao, INST_IO, asynAoInt32, "asynInt32") +device(ao, INST_IO, asynAoFloat64, "asynFloat64") +device(ao, INST_IO, devaoStream, "stream") +recordtype(stringin) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + special(SPC_NOMOD) + prompt("Record Name") + size(61) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + size(41) + promptgroup(GUI_COMMON) + } + field(ASG, DBF_STRING) { + size(29) + promptgroup(GUI_COMMON) + special(SPC_AS) + prompt("Access Security Group") + } + field(SCAN, DBF_MENU) { + menu(menuScan) + prompt("Scan Mechanism") + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(PINI, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Process at iocInit") + menu(menuPini) + } + field(PHAS, DBF_SHORT) { + special(SPC_SCAN) + prompt("Scan Phase") + interest(1) + promptgroup(GUI_SCAN) + } + field(EVNT, DBF_STRING) { + special(SPC_SCAN) + prompt("Event Name") + size(40) + interest(1) + promptgroup(GUI_SCAN) + } + field(TSE, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + interest(1) + promptgroup(GUI_LINKS) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup(GUI_SCAN) + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup(GUI_SCAN) + interest(1) + } + field(MLOK, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Monitor lock") + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + special(SPC_NOMOD) + prompt("Monitor List") + interest(4) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + initial("UDF") + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Alarm Severity") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + interest(2) + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("New Alarm Status") + } + field(NSEV, DBF_MENU) { + interest(2) + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("New Alarm Severity") + } + field(ACKS, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + interest(2) + } + field(ACKT, DBF_MENU) { + initial("YES") + promptgroup(GUI_ALARMS) + interest(2) + menu(menuYesNo) + prompt("Alarm Ack Transient") + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_SCAN) + } + field(LCNT, DBF_UCHAR) { + interest(2) + prompt("Lock Count") + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + special(SPC_NOMOD) + interest(1) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + special(SPC_NOMOD) + interest(1) + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + special(SPC_NOMOD) + interest(4) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + special(SPC_NOMOD) + prompt("pprocessNotify") + interest(4) + } + field(PPNR, DBF_NOACCESS) { + interest(4) + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Scan Private") + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + interest(4) + prompt("Address of RSET") + special(SPC_NOMOD) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + prompt("DSET address") + special(SPC_NOMOD) + interest(4) + } + field(DPVT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Device Private") + interest(4) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + prompt("Address of dbRecordType") + } + field(LSET, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Lock Set") + interest(4) + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuPriority) + prompt("Scheduling Priority") + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Break Point") + interest(1) + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + initial("1") + interest(1) + promptgroup(GUI_COMMON) + prompt("Undefined") + pp(TRUE) + } + field(UDFS, DBF_MENU) { + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_COMMON) + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + interest(2) + prompt("Time") + special(SPC_NOMOD) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Forward Process Link") + } + field(VAL, DBF_STRING) { + pp(TRUE) + promptgroup(GUI_INPUTS) + size(40) + prompt("Current Value") + asl(ASL0) + } + field(OVAL, DBF_STRING) { + special(SPC_NOMOD) + prompt("Previous Value") + size(40) + interest(3) + } + field(INP, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input Specification") + } + field(MPST, DBF_MENU) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Post Value Monitors") + menu(stringinPOST) + } + field(APST, DBF_MENU) { + interest(1) + promptgroup(GUI_DISPLAY) + menu(stringinPOST) + prompt("Post Archive Monitors") + } + field(SIOL, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Sim Input Specifctn") + } + field(SVAL, DBF_STRING) { + size(40) + prompt("Simulation Value") + pp(TRUE) + } + field(SIML, DBF_INLINK) { + prompt("Sim Mode Location") + interest(1) + promptgroup(GUI_INPUTS) + } + field(SIMM, DBF_MENU) { + interest(1) + prompt("Simulation Mode") + menu(menuYesNo) + } + field(SIMS, DBF_MENU) { + promptgroup(GUI_INPUTS) + interest(2) + menu(menuAlarmSevr) + prompt("Sim mode Alarm Svrty") + } +} +device(stringin, CONSTANT, devSiSoft, "Soft Channel") +device(stringin, CONSTANT, devSiSoftCallback, "Async Soft Channel") +device(stringin, INST_IO, devTimestampSI, "Soft Timestamp") +device(stringin, INST_IO, devSiGeneralTime, "General Time") +device(stringin, INST_IO, asynSiOctetCmdResponse, "asynOctetCmdResponse") +device(stringin, INST_IO, asynSiOctetWriteRead, "asynOctetWriteRead") +device(stringin, INST_IO, asynSiOctetRead, "asynOctetRead") +device(stringin, INST_IO, devstringinStream, "stream") +recordtype(swait) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + special(SPC_NOMOD) + prompt("Record Name") + size(61) + } + field(DESC, DBF_STRING) { + size(41) + promptgroup(GUI_COMMON) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + promptgroup(GUI_COMMON) + size(29) + special(SPC_AS) + prompt("Access Security Group") + } + field(SCAN, DBF_MENU) { + special(SPC_SCAN) + menu(menuScan) + prompt("Scan Mechanism") + interest(1) + promptgroup(GUI_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + interest(1) + promptgroup(GUI_SCAN) + } + field(PHAS, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + special(SPC_SCAN) + prompt("Scan Phase") + } + field(EVNT, DBF_STRING) { + prompt("Event Name") + special(SPC_SCAN) + interest(1) + promptgroup(GUI_SCAN) + size(40) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup(GUI_SCAN) + interest(1) + } + field(TSEL, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup(GUI_SCAN) + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + special(SPC_NOMOD) + prompt("Monitor lock") + interest(4) + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + interest(4) + prompt("Monitor List") + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + interest(3) + prompt("Force Processing") + } + field(STAT, DBF_MENU) { + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("Alarm Status") + initial("UDF") + } + field(SEVR, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Severity") + } + field(NSTA, DBF_MENU) { + interest(2) + prompt("New Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("New Alarm Severity") + interest(2) + } + field(ACKS, DBF_MENU) { + interest(2) + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + special(SPC_NOMOD) + promptgroup(GUI_ALARMS) + interest(2) + } + field(DISS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + interest(1) + promptgroup(GUI_SCAN) + } + field(LCNT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Lock Count") + interest(2) + } + field(PACT, DBF_UCHAR) { + interest(1) + prompt("Record active") + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + interest(1) + prompt("dbPutField process") + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + special(SPC_NOMOD) + interest(4) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("pprocessNotify") + interest(4) + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + interest(4) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + special(SPC_NOMOD) + prompt("Scan Private") + interest(4) + } + field(RSET, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Address of RSET") + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("DSET address") + interest(4) + extra("struct dset *dset") + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + prompt("Device Private") + special(SPC_NOMOD) + interest(4) + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + special(SPC_NOMOD) + prompt("Address of dbRecordType") + interest(4) + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + prompt("Lock Set") + special(SPC_NOMOD) + interest(4) + } + field(PRIO, DBF_MENU) { + menu(menuPriority) + prompt("Scheduling Priority") + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + special(SPC_NOMOD) + interest(1) + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + promptgroup(GUI_COMMON) + interest(1) + prompt("Undefined") + initial("1") + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_COMMON) + } + field(TIME, DBF_NOACCESS) { + extra("epicsTimeStamp time") + special(SPC_NOMOD) + prompt("Time") + interest(2) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + interest(1) + promptgroup(GUI_LINKS) + } + field(VERS, DBF_FLOAT) { + initial("1") + prompt("Code Version") + special(SPC_NOMOD) + } + field(HOPR, DBF_FLOAT) { + prompt("High Operating Range") + asl(ASL0) + interest(1) + promptgroup(GUI_ALARMS) + } + field(LOPR, DBF_FLOAT) { + interest(1) + promptgroup(GUI_BITS1) + asl(ASL0) + prompt("Low Operating Range") + } + field(INIT, DBF_SHORT) { + special(SPC_NOMOD) + prompt("Initialized?") + interest(3) + } + field(CBST, DBF_NOACCESS) { + size(4) + interest(4) + prompt("Pointer to cbStruct") + special(SPC_NOMOD) + extra("void * cbst") + } + field(INAN, DBF_STRING) { + prompt("INPA PV Name") + special(SPC_MOD) + asl(ASL0) + size(40) + interest(1) + promptgroup(GUI_CALC) + } + field(INBN, DBF_STRING) { + size(40) + promptgroup(GUI_CALC) + interest(1) + special(SPC_MOD) + prompt("INPB PV Name") + asl(ASL0) + } + field(INCN, DBF_STRING) { + prompt("INPC PV Name") + special(SPC_MOD) + asl(ASL0) + promptgroup(GUI_CALC) + size(40) + interest(1) + } + field(INDN, DBF_STRING) { + special(SPC_MOD) + asl(ASL0) + prompt("INPD PV Name") + promptgroup(GUI_CALC) + size(40) + interest(1) + } + field(INEN, DBF_STRING) { + prompt("INPE PV Name") + special(SPC_MOD) + asl(ASL0) + size(40) + promptgroup(GUI_CALC) + interest(1) + } + field(INFN, DBF_STRING) { + size(40) + interest(1) + promptgroup(GUI_CALC) + prompt("INPF PV Name") + special(SPC_MOD) + asl(ASL0) + } + field(INGN, DBF_STRING) { + special(SPC_MOD) + prompt("INPG PV Name") + asl(ASL0) + promptgroup(GUI_CALC) + size(40) + interest(1) + } + field(INHN, DBF_STRING) { + size(40) + promptgroup(GUI_CALC) + interest(1) + special(SPC_MOD) + prompt("INPH PV Name") + asl(ASL0) + } + field(ININ, DBF_STRING) { + special(SPC_MOD) + asl(ASL0) + prompt("INPI PV Name") + interest(1) + size(40) + promptgroup(GUI_CALC) + } + field(INJN, DBF_STRING) { + size(40) + interest(1) + promptgroup(GUI_CALC) + special(SPC_MOD) + prompt("INPJ PV Name") + asl(ASL0) + } + field(INKN, DBF_STRING) { + special(SPC_MOD) + asl(ASL0) + prompt("INPK PV Name") + size(40) + promptgroup(GUI_CALC) + interest(1) + } + field(INLN, DBF_STRING) { + promptgroup(GUI_CALC) + size(40) + interest(1) + special(SPC_MOD) + asl(ASL0) + prompt("INPL PV Name") + } + field(DOLN, DBF_STRING) { + special(SPC_MOD) + prompt("DOL PV Name") + asl(ASL0) + promptgroup(GUI_CALC) + size(40) + interest(1) + } + field(OUTN, DBF_STRING) { + interest(1) + size(40) + promptgroup(GUI_CALC) + prompt("OUT PV Name") + special(SPC_MOD) + asl(ASL0) + } + field(INAV, DBF_MENU) { + prompt("INPA PV Status") + menu(swaitINAV) + special(SPC_NOMOD) + interest(1) + } + field(INBV, DBF_MENU) { + interest(1) + menu(swaitINAV) + prompt("INPB PV Status") + special(SPC_NOMOD) + } + field(INCV, DBF_MENU) { + menu(swaitINAV) + prompt("INPC PV Status") + special(SPC_NOMOD) + interest(1) + } + field(INDV, DBF_MENU) { + prompt("INPD PV Status") + menu(swaitINAV) + special(SPC_NOMOD) + interest(1) + } + field(INEV, DBF_MENU) { + prompt("INPE PV Status") + menu(swaitINAV) + special(SPC_NOMOD) + interest(1) + } + field(INFV, DBF_MENU) { + interest(1) + menu(swaitINAV) + prompt("INPF PV Status") + special(SPC_NOMOD) + } + field(INGV, DBF_MENU) { + interest(1) + menu(swaitINAV) + prompt("INPG PV Status") + special(SPC_NOMOD) + } + field(INHV, DBF_MENU) { + prompt("INPH PV Status") + menu(swaitINAV) + special(SPC_NOMOD) + interest(1) + } + field(INIV, DBF_MENU) { + interest(1) + special(SPC_NOMOD) + menu(swaitINAV) + prompt("INPI PV Status") + } + field(INJV, DBF_MENU) { + interest(1) + menu(swaitINAV) + special(SPC_NOMOD) + prompt("INPJ PV Status") + } + field(INKV, DBF_MENU) { + interest(1) + menu(swaitINAV) + special(SPC_NOMOD) + prompt("INPK PV Status") + } + field(INLV, DBF_MENU) { + interest(1) + prompt("INPL PV Status") + menu(swaitINAV) + special(SPC_NOMOD) + } + field(DOLV, DBF_MENU) { + interest(1) + menu(swaitINAV) + prompt("DOL PV Status") + special(SPC_NOMOD) + } + field(OUTV, DBF_MENU) { + prompt("OUT PV Status") + menu(swaitINAV) + special(SPC_NOMOD) + interest(1) + } + field(A, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input A") + } + field(B, DBF_DOUBLE) { + prompt("Value of Input B") + pp(TRUE) + } + field(C, DBF_DOUBLE) { + prompt("Value of Input C") + pp(TRUE) + } + field(D, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input D") + } + field(E, DBF_DOUBLE) { + prompt("Value of Input E") + pp(TRUE) + } + field(F, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input F") + } + field(G, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input G") + } + field(H, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input H") + } + field(I, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input I") + } + field(J, DBF_DOUBLE) { + prompt("Value of Input J") + pp(TRUE) + } + field(K, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input K") + } + field(L, DBF_DOUBLE) { + prompt("Value of Input L") + pp(TRUE) + } + field(LA, DBF_DOUBLE) { + prompt("Last Val of Input A") + } + field(LB, DBF_DOUBLE) { + prompt("Last Val of Input B") + } + field(LC, DBF_DOUBLE) { + prompt("Last Val of Input C") + } + field(LD, DBF_DOUBLE) { + prompt("Last Val of Input D") + } + field(LE, DBF_DOUBLE) { + prompt("Last Val of Input E") + } + field(LF, DBF_DOUBLE) { + prompt("Last Val of Input F") + } + field(LG, DBF_DOUBLE) { + prompt("Last Val of Input G") + } + field(LH, DBF_DOUBLE) { + prompt("Last Val of Input H") + } + field(LI, DBF_DOUBLE) { + prompt("Last Val of Input I") + } + field(LJ, DBF_DOUBLE) { + prompt("Last Val of Input J") + } + field(LK, DBF_DOUBLE) { + prompt("Last Val of Input K") + } + field(LL, DBF_DOUBLE) { + prompt("Last Val of Input L") + } + field(INAP, DBF_MENU) { + menu(swaitINAP) + prompt("INPA causes I/O INTR") + interest(1) + promptgroup(GUI_CALC) + initial("Yes") + } + field(INBP, DBF_MENU) { + initial("Yes") + promptgroup(GUI_CALC) + interest(1) + menu(swaitINAP) + prompt("INPB causes I/O INTR") + } + field(INCP, DBF_MENU) { + prompt("INPC causes I/O INTR") + menu(swaitINAP) + interest(1) + promptgroup(GUI_CALC) + initial("Yes") + } + field(INDP, DBF_MENU) { + interest(1) + promptgroup(GUI_CALC) + prompt("INPD causes I/O INTR") + menu(swaitINAP) + initial("Yes") + } + field(INEP, DBF_MENU) { + promptgroup(GUI_CALC) + interest(1) + menu(swaitINAP) + prompt("INPE causes I/O INTR") + initial("Yes") + } + field(INFP, DBF_MENU) { + menu(swaitINAP) + prompt("INPF causes I/O INTR") + promptgroup(GUI_CALC) + interest(1) + initial("Yes") + } + field(INGP, DBF_MENU) { + promptgroup(GUI_CALC) + interest(1) + prompt("INPG causes I/O INTR") + menu(swaitINAP) + initial("Yes") + } + field(INHP, DBF_MENU) { + interest(1) + promptgroup(GUI_CALC) + menu(swaitINAP) + prompt("INPH causes I/O INTR") + initial("Yes") + } + field(INIP, DBF_MENU) { + initial("Yes") + menu(swaitINAP) + prompt("INPI causes I/O INTR") + interest(1) + promptgroup(GUI_CALC) + } + field(INJP, DBF_MENU) { + initial("Yes") + interest(1) + promptgroup(GUI_CALC) + menu(swaitINAP) + prompt("INPJ causes I/O INTR") + } + field(INKP, DBF_MENU) { + initial("Yes") + prompt("INPK causes I/O INTR") + menu(swaitINAP) + promptgroup(GUI_CALC) + interest(1) + } + field(INLP, DBF_MENU) { + menu(swaitINAP) + prompt("INPL causes I/O INTR") + interest(1) + promptgroup(GUI_CALC) + initial("Yes") + } + field(CALC, DBF_STRING) { + initial("0") + promptgroup(GUI_CLOCK) + size(36) + special(SPC_CALC) + asl(ASL0) + prompt("Calculation") + } + field(RPCL, DBF_NOACCESS) { + size(184) + interest(4) + prompt("Reverse Polish Calc") + special(SPC_NOMOD) + extra("char rpcl[184]") + } + field(CLCV, DBF_LONG) { + interest(1) + prompt("CALC Valid") + } + field(VAL, DBF_DOUBLE) { + prompt("Value Field") + } + field(OVAL, DBF_DOUBLE) { + prompt("Old Value") + } + field(PREC, DBF_SHORT) { + promptgroup(GUI_COMMON) + interest(1) + prompt("Display Precision") + } + field(OOPT, DBF_MENU) { + promptgroup(GUI_CALC) + interest(1) + menu(swaitOOPT) + prompt("Output Execute Opt") + } + field(ODLY, DBF_FLOAT) { + promptgroup(GUI_ALARMS) + interest(1) + asl(ASL0) + prompt("Output Execute Delay") + } + field(DOPT, DBF_MENU) { + menu(swaitDOPT) + prompt("Output Data Option") + promptgroup(GUI_CALC) + interest(1) + } + field(DOLD, DBF_DOUBLE) { + prompt("Desired Output Data") + asl(ASL0) + promptgroup(GUI_CLOCK) + interest(1) + } + field(OEVT, DBF_USHORT) { + asl(ASL0) + prompt("Event To Issue") + promptgroup(GUI_CLOCK) + } + field(ADEL, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_CLOCK) + prompt("Archive Deadband") + } + field(MDEL, DBF_DOUBLE) { + prompt("Monitor Deadband") + promptgroup(GUI_CLOCK) + interest(1) + } + field(ALST, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Last Value Archived") + } + field(MLST, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Last Val Monitored") + interest(3) + } + field(SIOL, DBF_INLINK) { + prompt("Sim Input Specifctn") + promptgroup(GUI_PULSE) + interest(1) + } + field(SVAL, DBF_DOUBLE) { + prompt("Simulation Value") + } + field(SIML, DBF_INLINK) { + prompt("Sim Mode Location") + interest(1) + promptgroup(GUI_PULSE) + } + field(SIMM, DBF_MENU) { + menu(menuYesNo) + prompt("Simulation Mode") + interest(1) + } + field(SIMS, DBF_MENU) { + prompt("Sim mode Alarm Svrty") + menu(menuAlarmSevr) + interest(2) + promptgroup(GUI_SELECT) + } +} +device(swait, CONSTANT, devSWaitIoEvent, "Soft Channel") +recordtype(mbboDirect) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + prompt("Record Name") + special(SPC_NOMOD) + size(61) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + size(41) + promptgroup(GUI_COMMON) + } + field(ASG, DBF_STRING) { + special(SPC_AS) + prompt("Access Security Group") + size(29) + promptgroup(GUI_COMMON) + } + field(SCAN, DBF_MENU) { + special(SPC_SCAN) + menu(menuScan) + prompt("Scan Mechanism") + promptgroup(GUI_SCAN) + interest(1) + } + field(PINI, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuPini) + prompt("Process at iocInit") + } + field(PHAS, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + special(SPC_SCAN) + prompt("Scan Phase") + } + field(EVNT, DBF_STRING) { + prompt("Event Name") + special(SPC_SCAN) + interest(1) + promptgroup(GUI_SCAN) + size(40) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup(GUI_SCAN) + interest(1) + } + field(TSEL, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup(GUI_SCAN) + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + interest(4) + prompt("Monitor lock") + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + special(SPC_NOMOD) + interest(4) + extra("ELLLIST mlis") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + interest(3) + prompt("Force Processing") + } + field(STAT, DBF_MENU) { + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + initial("UDF") + } + field(SEVR, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Severity") + } + field(NSTA, DBF_MENU) { + interest(2) + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("New Alarm Status") + } + field(NSEV, DBF_MENU) { + interest(2) + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("New Alarm Severity") + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + interest(2) + } + field(ACKT, DBF_MENU) { + promptgroup(GUI_ALARMS) + interest(2) + special(SPC_NOMOD) + menu(menuYesNo) + prompt("Alarm Ack Transient") + initial("YES") + } + field(DISS, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + } + field(LCNT, DBF_UCHAR) { + interest(2) + prompt("Lock Count") + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + special(SPC_NOMOD) + interest(1) + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + interest(4) + prompt("Access Security Pvt") + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + special(SPC_NOMOD) + prompt("pprocessNotify") + interest(4) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + interest(4) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Scan Private") + interest(4) + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + special(SPC_NOMOD) + interest(4) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + prompt("DSET address") + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + special(SPC_NOMOD) + interest(4) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + interest(4) + prompt("Address of dbRecordType") + special(SPC_NOMOD) + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + prompt("Lock Set") + } + field(PRIO, DBF_MENU) { + menu(menuPriority) + prompt("Scheduling Priority") + special(SPC_SCAN) + interest(1) + promptgroup(GUI_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + special(SPC_NOMOD) + interest(1) + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + initial("1") + promptgroup(GUI_COMMON) + interest(1) + prompt("Undefined") + } + field(UDFS, DBF_MENU) { + initial("INVALID") + promptgroup(GUI_COMMON) + interest(1) + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + } + field(TIME, DBF_NOACCESS) { + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + prompt("Time") + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup(GUI_LINKS) + interest(1) + } + field(VAL, DBF_USHORT) { + promptgroup(GUI_OUTPUT) + prompt("Word") + asl(ASL0) + pp(TRUE) + } + field(OMSL, DBF_MENU) { + prompt("Output Mode Select") + menu(menuOmsl) + special(SPC_RESET) + interest(1) + promptgroup(GUI_MBB) + pp(TRUE) + } + field(NOBT, DBF_SHORT) { + interest(1) + promptgroup(GUI_MBB) + special(SPC_NOMOD) + prompt("Number of Bits") + } + field(DOL, DBF_INLINK) { + prompt("Desired Output Loc") + promptgroup(GUI_MBB) + interest(1) + } + field(OUT, DBF_OUTLINK) { + promptgroup(GUI_MBB) + interest(1) + prompt("Output Specification") + } + field(B0, DBF_UCHAR) { + pp(TRUE) + promptgroup(GUI_BITS1) + interest(1) + special(SPC_MOD) + prompt("Bit 0") + } + field(B1, DBF_UCHAR) { + pp(TRUE) + interest(1) + promptgroup(GUI_BITS1) + prompt("Bit 1") + special(SPC_MOD) + } + field(B2, DBF_UCHAR) { + pp(TRUE) + interest(1) + promptgroup(GUI_BITS1) + prompt("Bit 2") + special(SPC_MOD) + } + field(B3, DBF_UCHAR) { + special(SPC_MOD) + prompt("Bit 3") + interest(1) + promptgroup(GUI_BITS1) + pp(TRUE) + } + field(B4, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 4") + special(SPC_MOD) + promptgroup(GUI_BITS1) + interest(1) + } + field(B5, DBF_UCHAR) { + pp(TRUE) + special(SPC_MOD) + prompt("Bit 5") + promptgroup(GUI_BITS1) + interest(1) + } + field(B6, DBF_UCHAR) { + pp(TRUE) + promptgroup(GUI_BITS1) + interest(1) + special(SPC_MOD) + prompt("Bit 6") + } + field(B7, DBF_UCHAR) { + pp(TRUE) + interest(1) + promptgroup(GUI_BITS1) + special(SPC_MOD) + prompt("Bit 7") + } + field(B8, DBF_UCHAR) { + special(SPC_MOD) + prompt("Bit 8") + promptgroup(GUI_BITS2) + interest(1) + pp(TRUE) + } + field(B9, DBF_UCHAR) { + pp(TRUE) + promptgroup(GUI_BITS2) + interest(1) + prompt("Bit 9") + special(SPC_MOD) + } + field(BA, DBF_UCHAR) { + special(SPC_MOD) + prompt("Bit 10") + promptgroup(GUI_BITS2) + interest(1) + pp(TRUE) + } + field(BB, DBF_UCHAR) { + pp(TRUE) + special(SPC_MOD) + prompt("Bit 11") + interest(1) + promptgroup(GUI_BITS2) + } + field(BC, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 12") + special(SPC_MOD) + interest(1) + promptgroup(GUI_BITS2) + } + field(BD, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 13") + special(SPC_MOD) + interest(1) + promptgroup(GUI_BITS2) + } + field(BE, DBF_UCHAR) { + pp(TRUE) + special(SPC_MOD) + prompt("Bit 14") + promptgroup(GUI_BITS2) + interest(1) + } + field(BF, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 15") + special(SPC_MOD) + promptgroup(GUI_BITS2) + interest(1) + } + field(RVAL, DBF_ULONG) { + pp(TRUE) + prompt("Raw Value") + special(SPC_NOMOD) + } + field(ORAW, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Prev Raw Value") + interest(3) + } + field(RBV, DBF_ULONG) { + prompt("Readback Value") + special(SPC_NOMOD) + } + field(ORBV, DBF_ULONG) { + interest(3) + prompt("Prev Readback Value") + special(SPC_NOMOD) + } + field(MASK, DBF_ULONG) { + interest(1) + special(SPC_NOMOD) + prompt("Hardware Mask") + } + field(MLST, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Last Value Monitored") + interest(3) + } + field(SHFT, DBF_ULONG) { + promptgroup(GUI_MBB) + interest(1) + prompt("Shift") + } + field(SIOL, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_MBB) + prompt("Sim Output Specifctn") + } + field(SIML, DBF_INLINK) { + promptgroup(GUI_MBB) + interest(1) + prompt("Sim Mode Location") + } + field(SIMM, DBF_MENU) { + prompt("Simulation Mode") + menu(menuYesNo) + interest(1) + } + field(SIMS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Sim mode Alarm Svrty") + interest(2) + promptgroup(GUI_MBB) + } + field(IVOA, DBF_MENU) { + promptgroup(GUI_MBB) + interest(2) + prompt("INVALID outpt action") + menu(menuIvoa) + } + field(IVOV, DBF_USHORT) { + prompt("INVALID output value") + promptgroup(GUI_MBB) + interest(2) + } +} +device(mbboDirect, CONSTANT, devMbboDirectSoft, "Soft Channel") +device(mbboDirect, CONSTANT, devMbboDirectSoftRaw, "Raw Soft Channel") +device(mbboDirect, CONSTANT, devMbboDirectSoftCallback, "Async Soft Channel") +device(mbboDirect, INST_IO, asynMbboDirectUInt32Digital, "asynUInt32Digital") +device(mbboDirect, INST_IO, devmbboDirectStream, "stream") +recordtype(printf) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + %#include "devSup.h" + % + %/* Declare Device Support Entry Table */ + %typedef struct printfdset { + % long number; + % DEVSUPFUN report; + % DEVSUPFUN init; + % DEVSUPFUN init_record; + % DEVSUPFUN get_ioint_info; + % DEVSUPFUN write_string; + %} printfdset; + % + %/* Number of INPx fields defined */ + %#define PRINTF_NLINKS 10 + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + promptgroup(GUI_COMMON) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + size(29) + promptgroup(GUI_COMMON) + prompt("Access Security Group") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuScan) + special(SPC_SCAN) + prompt("Scan Mechanism") + } + field(PINI, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuPini) + prompt("Process at iocInit") + } + field(PHAS, DBF_SHORT) { + special(SPC_SCAN) + prompt("Scan Phase") + promptgroup(GUI_SCAN) + interest(1) + } + field(EVNT, DBF_STRING) { + interest(1) + promptgroup(GUI_SCAN) + size(40) + special(SPC_SCAN) + prompt("Event Name") + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + interest(1) + promptgroup(GUI_SCAN) + } + field(TSEL, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup(GUI_LINKS) + interest(1) + } + field(DISV, DBF_SHORT) { + prompt("Disable Value") + promptgroup(GUI_SCAN) + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + interest(1) + promptgroup(GUI_SCAN) + } + field(MLOK, DBF_NOACCESS) { + interest(4) + prompt("Monitor lock") + special(SPC_NOMOD) + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Monitor List") + extra("ELLLIST mlis") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + prompt("Force Processing") + interest(3) + pp(TRUE) + } + field(STAT, DBF_MENU) { + initial("UDF") + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("Alarm Status") + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("Alarm Severity") + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + interest(2) + } + field(NSEV, DBF_MENU) { + interest(2) + prompt("New Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + interest(2) + } + field(ACKT, DBF_MENU) { + interest(2) + promptgroup(GUI_ALARMS) + menu(menuYesNo) + special(SPC_NOMOD) + prompt("Alarm Ack Transient") + initial("YES") + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_SCAN) + } + field(LCNT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Lock Count") + interest(2) + } + field(PACT, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Record active") + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + prompt("Access Security Pvt") + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + prompt("pprocessNotify") + special(SPC_NOMOD) + interest(4) + } + field(PPNR, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + interest(4) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + special(SPC_NOMOD) + prompt("Scan Private") + interest(4) + } + field(RSET, DBF_NOACCESS) { + extra("struct rset *rset") + prompt("Address of RSET") + special(SPC_NOMOD) + interest(4) + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + special(SPC_NOMOD) + prompt("DSET address") + interest(4) + } + field(DPVT, DBF_NOACCESS) { + interest(4) + prompt("Device Private") + special(SPC_NOMOD) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + prompt("Address of dbRecordType") + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + interest(4) + prompt("Lock Set") + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + special(SPC_SCAN) + menu(menuPriority) + prompt("Scheduling Priority") + promptgroup(GUI_SCAN) + interest(1) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + prompt("Break Point") + special(SPC_NOMOD) + interest(1) + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + initial("1") + prompt("Undefined") + promptgroup(GUI_COMMON) + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup(GUI_COMMON) + interest(1) + } + field(TIME, DBF_NOACCESS) { + extra("epicsTimeStamp time") + special(SPC_NOMOD) + prompt("Time") + interest(2) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup(GUI_LINKS) + interest(1) + } + field(VAL, DBF_NOACCESS) { + pp(TRUE) + asl(ASL0) + special(SPC_DBADDR) + prompt("Result") + extra("char *val") + } + field(SIZV, DBF_USHORT) { + promptgroup(GUI_OUTPUT) + interest(1) + prompt("Size of VAL buffer") + special(SPC_NOMOD) + initial("41") + } + field(LEN, DBF_ULONG) { + prompt("Length of VAL") + special(SPC_NOMOD) + } + field(OUT, DBF_OUTLINK) { + prompt("Output Specification") + interest(1) + promptgroup(GUI_OUTPUT) + } + field(FMT, DBF_STRING) { + pp(TRUE) + size(81) + promptgroup(GUI_CALC) + prompt("Format String") + } + field(IVLS, DBF_STRING) { + prompt("Invalid Link String") + promptgroup(GUI_CALC) + size(16) + initial("LNK") + } + field(INP0, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input 0") + } + field(INP1, DBF_INLINK) { + prompt("Input 1") + interest(1) + promptgroup(GUI_INPUTS) + } + field(INP2, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input 2") + } + field(INP3, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input 3") + } + field(INP4, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Input 4") + } + field(INP5, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Input 5") + } + field(INP6, DBF_INLINK) { + prompt("Input 6") + interest(1) + promptgroup(GUI_INPUTS) + } + field(INP7, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input 7") + } + field(INP8, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Input 8") + } + field(INP9, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input 9") + } +} +device(printf, CONSTANT, devPrintfSoft, "Soft Channel") +device(printf, CONSTANT, devPrintfSoftCallback, "Async Soft Channel") +device(printf, INST_IO, devPrintfStdio, "stdio") +recordtype(aao) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + promptgroup(GUI_COMMON) + size(41) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + promptgroup(GUI_COMMON) + size(29) + special(SPC_AS) + prompt("Access Security Group") + } + field(SCAN, DBF_MENU) { + menu(menuScan) + prompt("Scan Mechanism") + special(SPC_SCAN) + interest(1) + promptgroup(GUI_SCAN) + } + field(PINI, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuPini) + prompt("Process at iocInit") + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(EVNT, DBF_STRING) { + promptgroup(GUI_SCAN) + interest(1) + size(40) + special(SPC_SCAN) + prompt("Event Name") + } + field(TSE, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup(GUI_SCAN) + interest(1) + } + field(DTYP, DBF_DEVICE) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + prompt("Disable Value") + promptgroup(GUI_SCAN) + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + special(SPC_NOMOD) + interest(4) + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + prompt("Monitor List") + special(SPC_NOMOD) + interest(4) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + interest(3) + prompt("Force Processing") + } + field(STAT, DBF_MENU) { + initial("UDF") + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("Alarm Status") + } + field(SEVR, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Severity") + } + field(NSTA, DBF_MENU) { + interest(2) + prompt("New Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + interest(2) + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("New Alarm Severity") + } + field(ACKS, DBF_MENU) { + interest(2) + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("Alarm Ack Severity") + } + field(ACKT, DBF_MENU) { + promptgroup(GUI_ALARMS) + interest(2) + menu(menuYesNo) + prompt("Alarm Ack Transient") + special(SPC_NOMOD) + initial("YES") + } + field(DISS, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + } + field(LCNT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Lock Count") + interest(2) + } + field(PACT, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Record active") + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + special(SPC_NOMOD) + interest(1) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + special(SPC_NOMOD) + interest(1) + } + field(ASP, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Access Security Pvt") + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("pprocessNotify") + interest(4) + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + } + field(SPVT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Scan Private") + interest(4) + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + extra("struct rset *rset") + special(SPC_NOMOD) + prompt("Address of RSET") + interest(4) + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + prompt("DSET address") + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + special(SPC_NOMOD) + prompt("Device Private") + interest(4) + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + prompt("Address of dbRecordType") + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + interest(4) + prompt("Lock Set") + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + menu(menuPriority) + special(SPC_SCAN) + prompt("Scheduling Priority") + interest(1) + promptgroup(GUI_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Break Point") + interest(1) + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + initial("1") + interest(1) + promptgroup(GUI_COMMON) + prompt("Undefined") + pp(TRUE) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_COMMON) + } + field(TIME, DBF_NOACCESS) { + interest(2) + prompt("Time") + special(SPC_NOMOD) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup(GUI_LINKS) + interest(1) + } + field(VAL, DBF_NOACCESS) { + extra("void * val") + special(SPC_DBADDR) + prompt("Value") + asl(ASL0) + pp(TRUE) + } + field(PREC, DBF_SHORT) { + prop(YES) + interest(1) + promptgroup(GUI_ALARMS) + prompt("Display Precision") + } + field(OUT, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_BITS1) + prompt("Output Specification") + } + field(EGU, DBF_STRING) { + prop(YES) + interest(1) + size(16) + promptgroup(GUI_BITS2) + prompt("Engineering Units Name") + } + field(HOPR, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_CALC) + prompt("High Operating Range") + prop(YES) + } + field(LOPR, DBF_DOUBLE) { + promptgroup(GUI_CLOCK) + interest(1) + prompt("Low Operating Range") + prop(YES) + } + field(NELM, DBF_ULONG) { + initial("1") + promptgroup(GUI_COMPRESS) + interest(1) + special(SPC_NOMOD) + prompt("Number of Elements") + } + field(FTVL, DBF_MENU) { + menu(menuFtype) + special(SPC_NOMOD) + prompt("Field Type of Value") + interest(1) + promptgroup(GUI_CONVERT) + } + field(NORD, DBF_ULONG) { + prompt("Number elements read") + special(SPC_NOMOD) + } + field(BPTR, DBF_NOACCESS) { + extra("void * bptr") + interest(4) + special(SPC_NOMOD) + prompt("Buffer Pointer") + } + field(SIML, DBF_INLINK) { + prompt("Sim Mode Location") + interest(1) + promptgroup(GUI_HIST) + } + field(SIMM, DBF_MENU) { + interest(1) + menu(menuYesNo) + prompt("Simulation Mode") + } + field(SIMS, DBF_MENU) { + prompt("Sim mode Alarm Svrty") + menu(menuAlarmSevr) + interest(2) + promptgroup(GUI_INPUTS) + } + field(SIOL, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Sim Output Specifctn") + } + field(MPST, DBF_MENU) { + menu(aaoPOST) + prompt("Post Value Monitors") + interest(1) + promptgroup(GUI_DISPLAY) + } + field(APST, DBF_MENU) { + prompt("Post Archive Monitors") + menu(aaoPOST) + interest(1) + promptgroup(GUI_DISPLAY) + } + field(HASH, DBF_ULONG) { + prompt("Hash of OnChange data.") + interest(3) + } +} +device(aao, CONSTANT, devAaoSoft, "Soft Channel") +device(aao, INST_IO, devaaoStream, "stream") +recordtype(permissive) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + prompt("Record Name") + special(SPC_NOMOD) + size(61) + } + field(DESC, DBF_STRING) { + size(41) + promptgroup(GUI_COMMON) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + prompt("Access Security Group") + special(SPC_AS) + size(29) + promptgroup(GUI_COMMON) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + special(SPC_SCAN) + interest(1) + promptgroup(GUI_SCAN) + } + field(PINI, DBF_MENU) { + menu(menuPini) + prompt("Process at iocInit") + interest(1) + promptgroup(GUI_SCAN) + } + field(PHAS, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + special(SPC_SCAN) + prompt("Scan Phase") + } + field(EVNT, DBF_STRING) { + prompt("Event Name") + special(SPC_SCAN) + interest(1) + promptgroup(GUI_SCAN) + size(40) + } + field(TSE, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup(GUI_SCAN) + interest(1) + } + field(DTYP, DBF_DEVICE) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup(GUI_SCAN) + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + interest(1) + promptgroup(GUI_SCAN) + } + field(MLOK, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Monitor lock") + interest(4) + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + interest(4) + prompt("Monitor List") + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + interest(3) + prompt("Force Processing") + pp(TRUE) + } + field(STAT, DBF_MENU) { + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + initial("UDF") + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + interest(2) + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("New Alarm Status") + } + field(NSEV, DBF_MENU) { + interest(2) + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("New Alarm Severity") + } + field(ACKS, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + interest(2) + } + field(ACKT, DBF_MENU) { + initial("YES") + promptgroup(GUI_ALARMS) + interest(2) + prompt("Alarm Ack Transient") + menu(menuYesNo) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + special(SPC_NOMOD) + interest(2) + } + field(PACT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Record active") + interest(1) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + special(SPC_NOMOD) + interest(1) + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + prompt("Access Security Pvt") + special(SPC_NOMOD) + interest(4) + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + interest(4) + prompt("pprocessNotify") + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + extra("struct processNotifyRecord *ppnr") + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + interest(4) + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + special(SPC_NOMOD) + prompt("Scan Private") + interest(4) + } + field(RSET, DBF_NOACCESS) { + interest(4) + prompt("Address of RSET") + special(SPC_NOMOD) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + prompt("DSET address") + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + special(SPC_NOMOD) + prompt("Device Private") + interest(4) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + special(SPC_NOMOD) + interest(4) + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Lock Set") + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuPriority) + prompt("Scheduling Priority") + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + interest(1) + special(SPC_NOMOD) + prompt("Break Point") + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + initial("1") + promptgroup(GUI_COMMON) + interest(1) + prompt("Undefined") + } + field(UDFS, DBF_MENU) { + initial("INVALID") + interest(1) + promptgroup(GUI_COMMON) + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + } + field(TIME, DBF_NOACCESS) { + interest(2) + prompt("Time") + special(SPC_NOMOD) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Forward Process Link") + } + field(LABL, DBF_STRING) { + pp(TRUE) + prompt("Button Label") + promptgroup(GUI_DISPLAY) + size(20) + interest(1) + } + field(VAL, DBF_USHORT) { + asl(ASL0) + prompt("Status") + pp(TRUE) + } + field(OVAL, DBF_USHORT) { + prompt("Old Status") + special(SPC_NOMOD) + interest(3) + } + field(WFLG, DBF_USHORT) { + pp(TRUE) + prompt("Wait Flag") + } + field(OFLG, DBF_USHORT) { + interest(3) + prompt("Old Flag") + special(SPC_NOMOD) + } +} +recordtype(stringout) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + prompt("Record Name") + special(SPC_NOMOD) + size(61) + } + field(DESC, DBF_STRING) { + size(41) + promptgroup(GUI_COMMON) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + prompt("Access Security Group") + special(SPC_AS) + size(29) + promptgroup(GUI_COMMON) + } + field(SCAN, DBF_MENU) { + menu(menuScan) + prompt("Scan Mechanism") + special(SPC_SCAN) + interest(1) + promptgroup(GUI_SCAN) + } + field(PINI, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuPini) + prompt("Process at iocInit") + } + field(PHAS, DBF_SHORT) { + special(SPC_SCAN) + prompt("Scan Phase") + interest(1) + promptgroup(GUI_SCAN) + } + field(EVNT, DBF_STRING) { + prompt("Event Name") + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + size(40) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup(GUI_SCAN) + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup(GUI_SCAN) + interest(1) + } + field(DTYP, DBF_DEVICE) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + prompt("Disable Value") + promptgroup(GUI_SCAN) + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Monitor lock") + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + prompt("Monitor List") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + interest(3) + prompt("Force Processing") + } + field(STAT, DBF_MENU) { + menu(menuAlarmStat) + prompt("Alarm Status") + special(SPC_NOMOD) + initial("UDF") + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + interest(2) + } + field(NSEV, DBF_MENU) { + interest(2) + menu(menuAlarmSevr) + prompt("New Alarm Severity") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + interest(2) + } + field(ACKT, DBF_MENU) { + interest(2) + promptgroup(GUI_ALARMS) + menu(menuYesNo) + special(SPC_NOMOD) + prompt("Alarm Ack Transient") + initial("YES") + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup(GUI_SCAN) + interest(1) + } + field(LCNT, DBF_UCHAR) { + interest(2) + prompt("Lock Count") + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + interest(1) + prompt("Record active") + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Reprocess ") + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + special(SPC_NOMOD) + prompt("Access Security Pvt") + interest(4) + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + prompt("pprocessNotify") + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + interest(4) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + prompt("Scan Private") + special(SPC_NOMOD) + interest(4) + } + field(RSET, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Address of RSET") + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + special(SPC_NOMOD) + prompt("DSET address") + } + field(DPVT, DBF_NOACCESS) { + interest(4) + prompt("Device Private") + special(SPC_NOMOD) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + prompt("Address of dbRecordType") + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + special(SPC_NOMOD) + interest(4) + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + special(SPC_SCAN) + menu(menuPriority) + prompt("Scheduling Priority") + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + special(SPC_NOMOD) + prompt("Break Point") + interest(1) + } + field(UDF, DBF_UCHAR) { + initial("1") + prompt("Undefined") + promptgroup(GUI_COMMON) + interest(1) + pp(TRUE) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + interest(1) + promptgroup(GUI_COMMON) + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + } + field(TIME, DBF_NOACCESS) { + interest(2) + special(SPC_NOMOD) + prompt("Time") + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Process Link") + } + field(VAL, DBF_STRING) { + pp(TRUE) + promptgroup(GUI_OUTPUT) + size(40) + prompt("Current Value") + asl(ASL0) + } + field(OVAL, DBF_STRING) { + size(40) + interest(3) + special(SPC_NOMOD) + prompt("Previous Value") + } + field(DOL, DBF_INLINK) { + promptgroup(GUI_OUTPUT) + interest(1) + prompt("Desired Output Loc") + } + field(OMSL, DBF_MENU) { + interest(1) + promptgroup(GUI_OUTPUT) + menu(menuOmsl) + prompt("Output Mode Select") + } + field(OUT, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_OUTPUT) + prompt("Output Specification") + } + field(MPST, DBF_MENU) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Post Value Monitors") + menu(stringoutPOST) + } + field(APST, DBF_MENU) { + prompt("Post Archive Monitors") + menu(stringoutPOST) + promptgroup(GUI_DISPLAY) + interest(1) + } + field(SIOL, DBF_OUTLINK) { + prompt("Sim Output Specifctn") + interest(1) + promptgroup(GUI_INPUTS) + } + field(SIML, DBF_INLINK) { + prompt("Sim Mode Location") + interest(1) + promptgroup(GUI_INPUTS) + } + field(SIMM, DBF_MENU) { + interest(1) + menu(menuYesNo) + prompt("Simulation Mode") + } + field(SIMS, DBF_MENU) { + promptgroup(GUI_INPUTS) + interest(2) + menu(menuAlarmSevr) + prompt("Sim mode Alarm Svrty") + } + field(IVOA, DBF_MENU) { + menu(menuIvoa) + prompt("INVALID output action") + promptgroup(GUI_OUTPUT) + interest(2) + } + field(IVOV, DBF_STRING) { + prompt("INVALID output value") + interest(2) + size(40) + promptgroup(GUI_OUTPUT) + } +} +device(stringout, CONSTANT, devSoSoft, "Soft Channel") +device(stringout, CONSTANT, devSoSoftCallback, "Async Soft Channel") +device(stringout, INST_IO, devSoStdio, "stdio") +device(stringout, INST_IO, asynSoOctetWrite, "asynOctetWrite") +device(stringout, INST_IO, devstringoutStream, "stream") +recordtype(lso) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + %#include "devSup.h" + % + %/* Declare Device Support Entry Table */ + %typedef struct lsodset { + % long number; + % DEVSUPFUN report; + % DEVSUPFUN init; + % DEVSUPFUN init_record; + % DEVSUPFUN get_ioint_info; + % DEVSUPFUN write_string; + %} lsodset; + % + field(NAME, DBF_STRING) { + size(61) + special(SPC_NOMOD) + prompt("Record Name") + } + field(DESC, DBF_STRING) { + size(41) + promptgroup(GUI_COMMON) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + prompt("Access Security Group") + special(SPC_AS) + size(29) + promptgroup(GUI_COMMON) + } + field(SCAN, DBF_MENU) { + special(SPC_SCAN) + menu(menuScan) + prompt("Scan Mechanism") + promptgroup(GUI_SCAN) + interest(1) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup(GUI_SCAN) + interest(1) + } + field(PHAS, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + special(SPC_SCAN) + prompt("Scan Phase") + } + field(EVNT, DBF_STRING) { + special(SPC_SCAN) + prompt("Event Name") + promptgroup(GUI_SCAN) + interest(1) + size(40) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + interest(1) + promptgroup(GUI_SCAN) + } + field(TSEL, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + initial("1") + promptgroup(GUI_SCAN) + prompt("Disable Value") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + prompt("Monitor lock") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + special(SPC_NOMOD) + prompt("Monitor List") + interest(4) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + interest(3) + prompt("Force Processing") + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Severity") + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + interest(2) + } + field(NSEV, DBF_MENU) { + menu(menuAlarmSevr) + prompt("New Alarm Severity") + special(SPC_NOMOD) + interest(2) + } + field(ACKS, DBF_MENU) { + interest(2) + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + interest(2) + promptgroup(GUI_ALARMS) + special(SPC_NOMOD) + menu(menuYesNo) + prompt("Alarm Ack Transient") + } + field(DISS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + interest(1) + promptgroup(GUI_SCAN) + } + field(LCNT, DBF_UCHAR) { + interest(2) + special(SPC_NOMOD) + prompt("Lock Count") + } + field(PACT, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Record active") + } + field(PUTF, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("dbPutField process") + } + field(RPRO, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Reprocess ") + } + field(ASP, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Access Security Pvt") + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + special(SPC_NOMOD) + prompt("pprocessNotify") + interest(4) + } + field(PPNR, DBF_NOACCESS) { + extra("struct processNotifyRecord *ppnr") + interest(4) + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + prompt("Scan Private") + special(SPC_NOMOD) + interest(4) + } + field(RSET, DBF_NOACCESS) { + interest(4) + prompt("Address of RSET") + special(SPC_NOMOD) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + prompt("DSET address") + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Device Private") + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Address of dbRecordType") + interest(4) + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + special(SPC_NOMOD) + interest(4) + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + special(SPC_SCAN) + menu(menuPriority) + prompt("Scheduling Priority") + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + interest(1) + prompt("Break Point") + special(SPC_NOMOD) + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + initial("1") + prompt("Undefined") + promptgroup(GUI_COMMON) + interest(1) + pp(TRUE) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + promptgroup(GUI_COMMON) + interest(1) + } + field(TIME, DBF_NOACCESS) { + interest(2) + special(SPC_NOMOD) + prompt("Time") + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Process Link") + } + field(VAL, DBF_NOACCESS) { + extra("char *val") + special(SPC_DBADDR) + asl(ASL0) + prompt("Current Value") + pp(TRUE) + } + field(OVAL, DBF_NOACCESS) { + extra("char *oval") + interest(3) + special(SPC_DBADDR) + prompt("Previous Value") + } + field(SIZV, DBF_USHORT) { + initial("41") + prompt("Size of buffers") + special(SPC_NOMOD) + interest(1) + promptgroup(GUI_OUTPUT) + } + field(LEN, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Length of VAL") + } + field(OLEN, DBF_ULONG) { + prompt("Length of OVAL") + special(SPC_NOMOD) + interest(3) + } + field(DOL, DBF_INLINK) { + prompt("Desired Output Link") + promptgroup(GUI_OUTPUT) + interest(1) + } + field(IVOA, DBF_MENU) { + promptgroup(GUI_OUTPUT) + interest(2) + menu(menuIvoa) + prompt("INVALID Output Action") + } + field(IVOV, DBF_STRING) { + prompt("INVALID Output Value") + interest(2) + size(40) + promptgroup(GUI_OUTPUT) + } + field(OMSL, DBF_MENU) { + promptgroup(GUI_OUTPUT) + interest(1) + prompt("Output Mode Select") + menu(menuOmsl) + } + field(OUT, DBF_OUTLINK) { + promptgroup(GUI_OUTPUT) + interest(1) + prompt("Output Specification") + } + field(MPST, DBF_MENU) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Post Value Monitors") + menu(menuPost) + } + field(APST, DBF_MENU) { + menu(menuPost) + prompt("Post Archive Monitors") + interest(1) + promptgroup(GUI_DISPLAY) + } + field(SIML, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Sim Mode link") + } + field(SIMM, DBF_MENU) { + menu(menuYesNo) + prompt("Simulation Mode") + interest(1) + } + field(SIMS, DBF_MENU) { + interest(2) + promptgroup(GUI_INPUTS) + menu(menuAlarmSevr) + prompt("Sim mode Alarm Svrty") + } + field(SIOL, DBF_OUTLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Sim Output Specifctn") + } +} +device(lso, CONSTANT, devLsoSoft, "Soft Channel") +device(lso, CONSTANT, devLsoSoftCallback, "Async Soft Channel") +device(lso, INST_IO, devLsoStdio, "stdio") +recordtype(bo) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + size(61) + special(SPC_NOMOD) + prompt("Record Name") + } + field(DESC, DBF_STRING) { + size(41) + promptgroup(GUI_COMMON) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + special(SPC_AS) + prompt("Access Security Group") + size(29) + promptgroup(GUI_COMMON) + } + field(SCAN, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuScan) + prompt("Scan Mechanism") + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuPini) + prompt("Process at iocInit") + } + field(PHAS, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scan Phase") + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + interest(1) + promptgroup(GUI_SCAN) + special(SPC_SCAN) + prompt("Event Name") + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup(GUI_SCAN) + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup(GUI_SCAN) + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup(GUI_LINKS) + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + promptgroup(GUI_SCAN) + prompt("Disable Value") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + prompt("Monitor lock") + special(SPC_NOMOD) + interest(4) + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + prompt("Monitor List") + special(SPC_NOMOD) + interest(4) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + interest(3) + prompt("Force Processing") + pp(TRUE) + } + field(STAT, DBF_MENU) { + initial("UDF") + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("Alarm Status") + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + interest(2) + } + field(NSEV, DBF_MENU) { + menu(menuAlarmSevr) + prompt("New Alarm Severity") + special(SPC_NOMOD) + interest(2) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + interest(2) + } + field(ACKT, DBF_MENU) { + special(SPC_NOMOD) + menu(menuYesNo) + prompt("Alarm Ack Transient") + interest(2) + promptgroup(GUI_ALARMS) + initial("YES") + } + field(DISS, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + } + field(LCNT, DBF_UCHAR) { + interest(2) + prompt("Lock Count") + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Record active") + interest(1) + } + field(PUTF, DBF_UCHAR) { + interest(1) + prompt("dbPutField process") + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + special(SPC_NOMOD) + interest(1) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + special(SPC_NOMOD) + interest(4) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + special(SPC_NOMOD) + prompt("pprocessNotify") + interest(4) + } + field(PPNR, DBF_NOACCESS) { + interest(4) + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + prompt("Scan Private") + special(SPC_NOMOD) + interest(4) + } + field(RSET, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Address of RSET") + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + special(SPC_NOMOD) + prompt("DSET address") + interest(4) + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + prompt("Device Private") + } + field(RDES, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + interest(4) + prompt("Lock Set") + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + special(SPC_NOMOD) + interest(1) + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + initial("1") + prompt("Undefined") + promptgroup(GUI_COMMON) + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + promptgroup(GUI_COMMON) + interest(1) + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + special(SPC_NOMOD) + interest(2) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Forward Process Link") + } + field(VAL, DBF_ENUM) { + asl(ASL0) + prompt("Current Value") + promptgroup(GUI_OUTPUT) + pp(TRUE) + } + field(OMSL, DBF_MENU) { + menu(menuOmsl) + prompt("Output Mode Select") + interest(1) + promptgroup(GUI_OUTPUT) + } + field(DOL, DBF_INLINK) { + promptgroup(GUI_OUTPUT) + interest(1) + prompt("Desired Output Loc") + } + field(OUT, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_OUTPUT) + prompt("Output Specification") + } + field(HIGH, DBF_DOUBLE) { + promptgroup(GUI_OUTPUT) + interest(1) + prompt("Seconds to Hold High") + } + field(ZNAM, DBF_STRING) { + prompt("Zero Name") + size(26) + interest(1) + promptgroup(GUI_DISPLAY) + prop(YES) + pp(TRUE) + } + field(ONAM, DBF_STRING) { + promptgroup(GUI_DISPLAY) + size(26) + interest(1) + prompt("One Name") + prop(YES) + pp(TRUE) + } + field(RVAL, DBF_ULONG) { + prompt("Raw Value") + pp(TRUE) + } + field(ORAW, DBF_ULONG) { + interest(3) + special(SPC_NOMOD) + prompt("prev Raw Value") + } + field(MASK, DBF_ULONG) { + interest(1) + prompt("Hardware Mask") + special(SPC_NOMOD) + } + field(RPVT, DBF_NOACCESS) { + extra("void * rpvt") + special(SPC_NOMOD) + prompt("Record Private") + interest(4) + } + field(WDPT, DBF_NOACCESS) { + prompt("Watch Dog Timer ID") + special(SPC_NOMOD) + interest(4) + extra("void * wdpt") + } + field(ZSV, DBF_MENU) { + prompt("Zero Error Severity") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_ALARMS) + pp(TRUE) + } + field(OSV, DBF_MENU) { + pp(TRUE) + promptgroup(GUI_ALARMS) + interest(1) + menu(menuAlarmSevr) + prompt("One Error Severity") + } + field(COSV, DBF_MENU) { + prompt("Change of State Sevr") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_ALARMS) + pp(TRUE) + } + field(RBV, DBF_ULONG) { + prompt("Readback Value") + special(SPC_NOMOD) + } + field(ORBV, DBF_ULONG) { + prompt("Prev Readback Value") + special(SPC_NOMOD) + interest(3) + } + field(MLST, DBF_USHORT) { + interest(3) + special(SPC_NOMOD) + prompt("Last Value Monitored") + } + field(LALM, DBF_USHORT) { + special(SPC_NOMOD) + prompt("Last Value Alarmed") + interest(3) + } + field(SIOL, DBF_OUTLINK) { + prompt("Sim Output Specifctn") + interest(1) + promptgroup(GUI_INPUTS) + } + field(SIML, DBF_INLINK) { + prompt("Sim Mode Location") + interest(1) + promptgroup(GUI_INPUTS) + } + field(SIMM, DBF_MENU) { + interest(1) + prompt("Simulation Mode") + menu(menuYesNo) + } + field(SIMS, DBF_MENU) { + promptgroup(GUI_INPUTS) + interest(2) + prompt("Sim mode Alarm Svrty") + menu(menuAlarmSevr) + } + field(IVOA, DBF_MENU) { + interest(2) + promptgroup(GUI_OUTPUT) + prompt("INVALID outpt action") + menu(menuIvoa) + } + field(IVOV, DBF_USHORT) { + prompt("INVALID output value") + promptgroup(GUI_OUTPUT) + interest(2) + } +} +device(bo, CONSTANT, devBoSoft, "Soft Channel") +device(bo, CONSTANT, devBoSoftRaw, "Raw Soft Channel") +device(bo, CONSTANT, devBoSoftCallback, "Async Soft Channel") +device(bo, INST_IO, devBoGeneralTime, "General Time") +device(bo, INST_IO, devBoDbState, "Db State") +device(bo, INST_IO, asynBoInt32, "asynInt32") +device(bo, INST_IO, asynBoUInt32Digital, "asynUInt32Digital") +device(bo, INST_IO, devboStream, "stream") +recordtype(mbbi) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + promptgroup(GUI_COMMON) + size(41) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + special(SPC_AS) + prompt("Access Security Group") + promptgroup(GUI_COMMON) + size(29) + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scan Mechanism") + menu(menuScan) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuPini) + prompt("Process at iocInit") + } + field(PHAS, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scan Phase") + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + promptgroup(GUI_SCAN) + interest(1) + size(40) + special(SPC_SCAN) + prompt("Event Name") + } + field(TSE, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + interest(1) + promptgroup(GUI_SCAN) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + interest(1) + promptgroup(GUI_LINKS) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup(GUI_SCAN) + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + prompt("Monitor lock") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + interest(4) + prompt("Monitor List") + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + interest(3) + prompt("Force Processing") + } + field(STAT, DBF_MENU) { + menu(menuAlarmStat) + prompt("Alarm Status") + special(SPC_NOMOD) + initial("UDF") + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("Alarm Severity") + } + field(NSTA, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("New Alarm Status") + interest(2) + } + field(NSEV, DBF_MENU) { + interest(2) + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("New Alarm Severity") + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + interest(2) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + special(SPC_NOMOD) + interest(2) + promptgroup(GUI_ALARMS) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup(GUI_SCAN) + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + special(SPC_NOMOD) + interest(2) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + special(SPC_NOMOD) + interest(1) + } + field(PUTF, DBF_UCHAR) { + interest(1) + prompt("dbPutField process") + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + interest(1) + prompt("Reprocess ") + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + special(SPC_NOMOD) + prompt("Access Security Pvt") + interest(4) + } + field(PPN, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("pprocessNotify") + interest(4) + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + interest(4) + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Scan Private") + interest(4) + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + extra("struct rset *rset") + prompt("Address of RSET") + special(SPC_NOMOD) + interest(4) + } + field(DSET, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("DSET address") + interest(4) + extra("struct dset *dset") + } + field(DPVT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Device Private") + interest(4) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + prompt("Address of dbRecordType") + } + field(LSET, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Lock Set") + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + menu(menuPriority) + special(SPC_SCAN) + prompt("Scheduling Priority") + promptgroup(GUI_SCAN) + interest(1) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + prompt("Break Point") + special(SPC_NOMOD) + interest(1) + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + prompt("Undefined") + interest(1) + promptgroup(GUI_COMMON) + initial("1") + } + field(UDFS, DBF_MENU) { + initial("INVALID") + promptgroup(GUI_COMMON) + interest(1) + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + } + field(TIME, DBF_NOACCESS) { + extra("epicsTimeStamp time") + special(SPC_NOMOD) + prompt("Time") + interest(2) + } + field(FLNK, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Process Link") + } + field(VAL, DBF_ENUM) { + pp(TRUE) + asl(ASL0) + prompt("Current Value") + promptgroup(GUI_INPUTS) + } + field(NOBT, DBF_SHORT) { + promptgroup(GUI_MBB) + interest(1) + prompt("Number of Bits") + special(SPC_NOMOD) + } + field(INP, DBF_INLINK) { + interest(1) + promptgroup(GUI_MBB) + prompt("Input Specification") + } + field(ZRVL, DBF_ULONG) { + interest(1) + promptgroup(GUI_BITS1) + prompt("Zero Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + } + field(ONVL, DBF_ULONG) { + promptgroup(GUI_BITS1) + interest(1) + special(SPC_MOD) + base(HEX) + prompt("One Value") + pp(TRUE) + } + field(TWVL, DBF_ULONG) { + interest(1) + promptgroup(GUI_BITS1) + special(SPC_MOD) + base(HEX) + prompt("Two Value") + pp(TRUE) + } + field(THVL, DBF_ULONG) { + pp(TRUE) + interest(1) + promptgroup(GUI_BITS1) + base(HEX) + special(SPC_MOD) + prompt("Three Value") + } + field(FRVL, DBF_ULONG) { + pp(TRUE) + promptgroup(GUI_BITS1) + interest(1) + base(HEX) + prompt("Four Value") + special(SPC_MOD) + } + field(FVVL, DBF_ULONG) { + pp(TRUE) + promptgroup(GUI_BITS1) + interest(1) + special(SPC_MOD) + base(HEX) + prompt("Five Value") + } + field(SXVL, DBF_ULONG) { + pp(TRUE) + prompt("Six Value") + base(HEX) + special(SPC_MOD) + interest(1) + promptgroup(GUI_BITS1) + } + field(SVVL, DBF_ULONG) { + pp(TRUE) + promptgroup(GUI_BITS1) + interest(1) + prompt("Seven Value") + base(HEX) + special(SPC_MOD) + } + field(EIVL, DBF_ULONG) { + base(HEX) + prompt("Eight Value") + special(SPC_MOD) + promptgroup(GUI_BITS2) + interest(1) + pp(TRUE) + } + field(NIVL, DBF_ULONG) { + pp(TRUE) + interest(1) + promptgroup(GUI_BITS2) + base(HEX) + special(SPC_MOD) + prompt("Nine Value") + } + field(TEVL, DBF_ULONG) { + promptgroup(GUI_BITS2) + interest(1) + base(HEX) + prompt("Ten Value") + special(SPC_MOD) + pp(TRUE) + } + field(ELVL, DBF_ULONG) { + base(HEX) + special(SPC_MOD) + prompt("Eleven Value") + promptgroup(GUI_BITS2) + interest(1) + pp(TRUE) + } + field(TVVL, DBF_ULONG) { + interest(1) + promptgroup(GUI_BITS2) + base(HEX) + special(SPC_MOD) + prompt("Twelve Value") + pp(TRUE) + } + field(TTVL, DBF_ULONG) { + pp(TRUE) + promptgroup(GUI_BITS2) + interest(1) + prompt("Thirteen Value") + base(HEX) + special(SPC_MOD) + } + field(FTVL, DBF_ULONG) { + base(HEX) + special(SPC_MOD) + prompt("Fourteen Value") + interest(1) + promptgroup(GUI_BITS2) + pp(TRUE) + } + field(FFVL, DBF_ULONG) { + promptgroup(GUI_BITS2) + interest(1) + base(HEX) + prompt("Fifteen Value") + special(SPC_MOD) + pp(TRUE) + } + field(ZRST, DBF_STRING) { + pp(TRUE) + special(SPC_MOD) + prompt("Zero String") + size(26) + promptgroup(GUI_BITS1) + interest(1) + } + field(ONST, DBF_STRING) { + pp(TRUE) + size(26) + interest(1) + promptgroup(GUI_BITS1) + prompt("One String") + special(SPC_MOD) + } + field(TWST, DBF_STRING) { + promptgroup(GUI_BITS1) + size(26) + interest(1) + prompt("Two String") + special(SPC_MOD) + pp(TRUE) + } + field(THST, DBF_STRING) { + pp(TRUE) + promptgroup(GUI_BITS1) + size(26) + interest(1) + special(SPC_MOD) + prompt("Three String") + } + field(FRST, DBF_STRING) { + promptgroup(GUI_BITS1) + size(26) + interest(1) + prompt("Four String") + special(SPC_MOD) + pp(TRUE) + } + field(FVST, DBF_STRING) { + promptgroup(GUI_BITS1) + size(26) + interest(1) + prompt("Five String") + special(SPC_MOD) + pp(TRUE) + } + field(SXST, DBF_STRING) { + size(26) + interest(1) + promptgroup(GUI_BITS1) + prompt("Six String") + special(SPC_MOD) + pp(TRUE) + } + field(SVST, DBF_STRING) { + pp(TRUE) + special(SPC_MOD) + prompt("Seven String") + size(26) + interest(1) + promptgroup(GUI_BITS1) + } + field(EIST, DBF_STRING) { + size(26) + promptgroup(GUI_BITS2) + interest(1) + prompt("Eight String") + special(SPC_MOD) + pp(TRUE) + } + field(NIST, DBF_STRING) { + prompt("Nine String") + special(SPC_MOD) + interest(1) + size(26) + promptgroup(GUI_BITS2) + pp(TRUE) + } + field(TEST, DBF_STRING) { + special(SPC_MOD) + prompt("Ten String") + promptgroup(GUI_BITS2) + size(26) + interest(1) + pp(TRUE) + } + field(ELST, DBF_STRING) { + promptgroup(GUI_BITS2) + size(26) + interest(1) + special(SPC_MOD) + prompt("Eleven String") + pp(TRUE) + } + field(TVST, DBF_STRING) { + special(SPC_MOD) + prompt("Twelve String") + interest(1) + size(26) + promptgroup(GUI_BITS2) + pp(TRUE) + } + field(TTST, DBF_STRING) { + pp(TRUE) + size(26) + interest(1) + promptgroup(GUI_BITS2) + prompt("Thirteen String") + special(SPC_MOD) + } + field(FTST, DBF_STRING) { + pp(TRUE) + prompt("Fourteen String") + special(SPC_MOD) + promptgroup(GUI_BITS2) + size(26) + interest(1) + } + field(FFST, DBF_STRING) { + promptgroup(GUI_BITS2) + size(26) + interest(1) + special(SPC_MOD) + prompt("Fifteen String") + pp(TRUE) + } + field(ZRSV, DBF_MENU) { + promptgroup(GUI_BITS1) + interest(1) + prompt("State Zero Severity") + menu(menuAlarmSevr) + pp(TRUE) + } + field(ONSV, DBF_MENU) { + pp(TRUE) + prompt("State One Severity") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_BITS1) + } + field(TWSV, DBF_MENU) { + pp(TRUE) + interest(1) + promptgroup(GUI_BITS1) + prompt("State Two Severity") + menu(menuAlarmSevr) + } + field(THSV, DBF_MENU) { + prompt("State Three Severity") + menu(menuAlarmSevr) + promptgroup(GUI_BITS1) + interest(1) + pp(TRUE) + } + field(FRSV, DBF_MENU) { + menu(menuAlarmSevr) + prompt("State Four Severity") + promptgroup(GUI_BITS1) + interest(1) + pp(TRUE) + } + field(FVSV, DBF_MENU) { + prompt("State Five Severity") + menu(menuAlarmSevr) + promptgroup(GUI_BITS1) + interest(1) + pp(TRUE) + } + field(SXSV, DBF_MENU) { + promptgroup(GUI_BITS1) + interest(1) + menu(menuAlarmSevr) + prompt("State Six Severity") + pp(TRUE) + } + field(SVSV, DBF_MENU) { + promptgroup(GUI_BITS1) + interest(1) + prompt("State Seven Severity") + menu(menuAlarmSevr) + pp(TRUE) + } + field(EISV, DBF_MENU) { + pp(TRUE) + prompt("State Eight Severity") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_BITS2) + } + field(NISV, DBF_MENU) { + pp(TRUE) + menu(menuAlarmSevr) + prompt("State Nine Severity") + promptgroup(GUI_BITS2) + interest(1) + } + field(TESV, DBF_MENU) { + pp(TRUE) + promptgroup(GUI_BITS2) + interest(1) + prompt("State Ten Severity") + menu(menuAlarmSevr) + } + field(ELSV, DBF_MENU) { + prompt("State Eleven Severity") + menu(menuAlarmSevr) + promptgroup(GUI_BITS2) + interest(1) + pp(TRUE) + } + field(TVSV, DBF_MENU) { + pp(TRUE) + prompt("State Twelve Severity") + menu(menuAlarmSevr) + promptgroup(GUI_BITS2) + interest(1) + } + field(TTSV, DBF_MENU) { + prompt("State Thirteen Sevr") + menu(menuAlarmSevr) + promptgroup(GUI_BITS2) + interest(1) + pp(TRUE) + } + field(FTSV, DBF_MENU) { + pp(TRUE) + prompt("State Fourteen Sevr") + menu(menuAlarmSevr) + promptgroup(GUI_BITS2) + interest(1) + } + field(FFSV, DBF_MENU) { + pp(TRUE) + prompt("State Fifteen Severity") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_BITS2) + } + field(AFTC, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_ALARMS) + prompt("Alarm Filter Time Constant") + } + field(AFVL, DBF_DOUBLE) { + prompt("Alarm Filter Value") + special(SPC_NOMOD) + interest(3) + } + field(UNSV, DBF_MENU) { + pp(TRUE) + interest(1) + promptgroup(GUI_MBB) + prompt("Unknown State Severity") + menu(menuAlarmSevr) + } + field(COSV, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Change of State Svr") + promptgroup(GUI_MBB) + interest(1) + pp(TRUE) + } + field(RVAL, DBF_ULONG) { + pp(TRUE) + prompt("Raw Value") + } + field(ORAW, DBF_ULONG) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Raw Value") + } + field(MASK, DBF_ULONG) { + interest(1) + prompt("Hardware Mask") + special(SPC_NOMOD) + } + field(MLST, DBF_USHORT) { + interest(3) + prompt("Last Value Monitored") + special(SPC_NOMOD) + } + field(LALM, DBF_USHORT) { + interest(3) + prompt("Last Value Alarmed") + special(SPC_NOMOD) + } + field(SDEF, DBF_SHORT) { + special(SPC_NOMOD) + prompt("States Defined") + interest(3) + } + field(SHFT, DBF_USHORT) { + prompt("Shift") + promptgroup(GUI_MBB) + interest(1) + } + field(SIOL, DBF_INLINK) { + promptgroup(GUI_MBB) + interest(1) + prompt("Sim Input Specifctn") + } + field(SVAL, DBF_ULONG) { + prompt("Simulation Value") + } + field(SIML, DBF_INLINK) { + promptgroup(GUI_MBB) + interest(1) + prompt("Sim Mode Location") + } + field(SIMM, DBF_MENU) { + interest(1) + prompt("Simulation Mode") + menu(menuSimm) + } + field(SIMS, DBF_MENU) { + prompt("Sim mode Alarm Svrty") + menu(menuAlarmSevr) + promptgroup(GUI_MBB) + interest(2) + } +} +device(mbbi, CONSTANT, devMbbiSoft, "Soft Channel") +device(mbbi, CONSTANT, devMbbiSoftRaw, "Raw Soft Channel") +device(mbbi, CONSTANT, devMbbiSoftCallback, "Async Soft Channel") +device(mbbi, INST_IO, asynMbbiInt32, "asynInt32") +device(mbbi, INST_IO, asynMbbiUInt32Digital, "asynUInt32Digital") +device(mbbi, INST_IO, devmbbiStream, "stream") +recordtype(calc) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + %#include "postfix.h" + field(NAME, DBF_STRING) { + special(SPC_NOMOD) + prompt("Record Name") + size(61) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + size(41) + promptgroup(GUI_COMMON) + } + field(ASG, DBF_STRING) { + prompt("Access Security Group") + special(SPC_AS) + size(29) + promptgroup(GUI_COMMON) + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuScan) + special(SPC_SCAN) + prompt("Scan Mechanism") + } + field(PINI, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuPini) + prompt("Process at iocInit") + } + field(PHAS, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + special(SPC_SCAN) + prompt("Scan Phase") + } + field(EVNT, DBF_STRING) { + interest(1) + promptgroup(GUI_SCAN) + size(40) + prompt("Event Name") + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + interest(1) + promptgroup(GUI_SCAN) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup(GUI_SCAN) + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup(GUI_LINKS) + interest(1) + } + field(DISV, DBF_SHORT) { + prompt("Disable Value") + promptgroup(GUI_SCAN) + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Monitor lock") + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + interest(4) + prompt("Monitor List") + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + prompt("Force Processing") + interest(3) + pp(TRUE) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Alarm Severity") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("New Alarm Status") + interest(2) + } + field(NSEV, DBF_MENU) { + menu(menuAlarmSevr) + prompt("New Alarm Severity") + special(SPC_NOMOD) + interest(2) + } + field(ACKS, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + interest(2) + } + field(ACKT, DBF_MENU) { + promptgroup(GUI_ALARMS) + interest(2) + prompt("Alarm Ack Transient") + menu(menuYesNo) + special(SPC_NOMOD) + initial("YES") + } + field(DISS, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + } + field(LCNT, DBF_UCHAR) { + interest(2) + special(SPC_NOMOD) + prompt("Lock Count") + } + field(PACT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Record active") + interest(1) + } + field(PUTF, DBF_UCHAR) { + interest(1) + prompt("dbPutField process") + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Access Security Pvt") + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + interest(4) + prompt("pprocessNotify") + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + extra("struct processNotifyRecord *ppnr") + interest(4) + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + interest(4) + prompt("Scan Private") + special(SPC_NOMOD) + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + extra("struct rset *rset") + prompt("Address of RSET") + special(SPC_NOMOD) + interest(4) + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + prompt("DSET address") + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + prompt("Device Private") + } + field(RDES, DBF_NOACCESS) { + interest(4) + prompt("Address of dbRecordType") + special(SPC_NOMOD) + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + special(SPC_NOMOD) + prompt("Lock Set") + interest(4) + } + field(PRIO, DBF_MENU) { + special(SPC_SCAN) + menu(menuPriority) + prompt("Scheduling Priority") + interest(1) + promptgroup(GUI_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + interest(1) + prompt("Break Point") + special(SPC_NOMOD) + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + initial("1") + promptgroup(GUI_COMMON) + interest(1) + prompt("Undefined") + } + field(UDFS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + interest(1) + promptgroup(GUI_COMMON) + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + prompt("Time") + } + field(FLNK, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Process Link") + } + field(VAL, DBF_DOUBLE) { + prompt("Result") + asl(ASL0) + } + field(CALC, DBF_STRING) { + prompt("Calculation") + special(SPC_CALC) + size(80) + promptgroup(GUI_CALC) + initial("0") + pp(TRUE) + } + field(INPA, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + prompt("Input A") + } + field(INPB, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + prompt("Input B") + } + field(INPC, DBF_INLINK) { + prompt("Input C") + promptgroup(GUI_CALC) + interest(1) + } + field(INPD, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + prompt("Input D") + } + field(INPE, DBF_INLINK) { + prompt("Input E") + promptgroup(GUI_CALC) + interest(1) + } + field(INPF, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + prompt("Input F") + } + field(INPG, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + prompt("Input G") + } + field(INPH, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + prompt("Input H") + } + field(INPI, DBF_INLINK) { + prompt("Input I") + interest(1) + promptgroup(GUI_CALC) + } + field(INPJ, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + prompt("Input J") + } + field(INPK, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + prompt("Input K") + } + field(INPL, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + prompt("Input L") + } + field(EGU, DBF_STRING) { + prop(YES) + size(16) + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Units Name") + } + field(PREC, DBF_SHORT) { + prop(YES) + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Display Precision") + } + field(HOPR, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("High Operating Rng") + prop(YES) + } + field(LOPR, DBF_DOUBLE) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Low Operating Range") + prop(YES) + } + field(HIHI, DBF_DOUBLE) { + pp(TRUE) + prop(YES) + promptgroup(GUI_ALARMS) + interest(1) + prompt("Hihi Alarm Limit") + } + field(LOLO, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_ALARMS) + prompt("Lolo Alarm Limit") + prop(YES) + pp(TRUE) + } + field(HIGH, DBF_DOUBLE) { + promptgroup(GUI_ALARMS) + interest(1) + prompt("High Alarm Limit") + prop(YES) + pp(TRUE) + } + field(LOW, DBF_DOUBLE) { + pp(TRUE) + prop(YES) + prompt("Low Alarm Limit") + promptgroup(GUI_ALARMS) + interest(1) + } + field(HHSV, DBF_MENU) { + prompt("Hihi Severity") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_ALARMS) + prop(YES) + pp(TRUE) + } + field(LLSV, DBF_MENU) { + promptgroup(GUI_ALARMS) + interest(1) + menu(menuAlarmSevr) + prompt("Lolo Severity") + pp(TRUE) + prop(YES) + } + field(HSV, DBF_MENU) { + pp(TRUE) + prop(YES) + interest(1) + promptgroup(GUI_ALARMS) + menu(menuAlarmSevr) + prompt("High Severity") + } + field(LSV, DBF_MENU) { + interest(1) + promptgroup(GUI_ALARMS) + menu(menuAlarmSevr) + prompt("Low Severity") + prop(YES) + pp(TRUE) + } + field(AFTC, DBF_DOUBLE) { + prompt("Alarm Filter Time Constant") + interest(1) + promptgroup(GUI_ALARMS) + } + field(AFVL, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Alarm Filter Value") + } + field(HYST, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_ALARMS) + prompt("Alarm Deadband") + } + field(ADEL, DBF_DOUBLE) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Archive Deadband") + } + field(MDEL, DBF_DOUBLE) { + prompt("Monitor Deadband") + interest(1) + promptgroup(GUI_DISPLAY) + } + field(A, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input A") + } + field(B, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input B") + } + field(C, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input C") + } + field(D, DBF_DOUBLE) { + prompt("Value of Input D") + pp(TRUE) + } + field(E, DBF_DOUBLE) { + prompt("Value of Input E") + pp(TRUE) + } + field(F, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input F") + } + field(G, DBF_DOUBLE) { + prompt("Value of Input G") + pp(TRUE) + } + field(H, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input H") + } + field(I, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input I") + } + field(J, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input J") + } + field(K, DBF_DOUBLE) { + prompt("Value of Input K") + pp(TRUE) + } + field(L, DBF_DOUBLE) { + prompt("Value of Input L") + pp(TRUE) + } + field(LA, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of A") + interest(3) + } + field(LB, DBF_DOUBLE) { + prompt("Prev Value of B") + special(SPC_NOMOD) + interest(3) + } + field(LC, DBF_DOUBLE) { + prompt("Prev Value of C") + special(SPC_NOMOD) + interest(3) + } + field(LD, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of D") + interest(3) + } + field(LE, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of E") + interest(3) + } + field(LF, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of F") + special(SPC_NOMOD) + } + field(LG, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of G") + interest(3) + } + field(LH, DBF_DOUBLE) { + prompt("Prev Value of H") + special(SPC_NOMOD) + interest(3) + } + field(LI, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of I") + interest(3) + } + field(LJ, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Value of J") + } + field(LK, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of K") + special(SPC_NOMOD) + } + field(LL, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Value of L") + } + field(LALM, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Last Value Alarmed") + } + field(ALST, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Last Value Archived") + } + field(MLST, DBF_DOUBLE) { + prompt("Last Val Monitored") + special(SPC_NOMOD) + interest(3) + } + field(RPCL, DBF_NOACCESS) { + prompt("Reverse Polish Calc") + special(SPC_NOMOD) + interest(4) + extra("char rpcl[INFIX_TO_POSTFIX_SIZE(80)]") + } +} +recordtype(transform) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + prompt("Record Name") + special(SPC_NOMOD) + size(61) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + promptgroup(GUI_COMMON) + size(41) + } + field(ASG, DBF_STRING) { + promptgroup(GUI_COMMON) + size(29) + special(SPC_AS) + prompt("Access Security Group") + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + special(SPC_SCAN) + menu(menuScan) + prompt("Scan Mechanism") + } + field(PINI, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Process at iocInit") + menu(menuPini) + } + field(PHAS, DBF_SHORT) { + special(SPC_SCAN) + prompt("Scan Phase") + interest(1) + promptgroup(GUI_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + interest(1) + promptgroup(GUI_SCAN) + prompt("Event Name") + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + interest(1) + promptgroup(GUI_LINKS) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup(GUI_SCAN) + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup(GUI_SCAN) + interest(1) + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + prompt("Monitor lock") + special(SPC_NOMOD) + interest(4) + } + field(MLIS, DBF_NOACCESS) { + interest(4) + prompt("Monitor List") + special(SPC_NOMOD) + extra("ELLLIST mlis") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + interest(3) + prompt("Force Processing") + pp(TRUE) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("New Alarm Status") + interest(2) + } + field(NSEV, DBF_MENU) { + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("New Alarm Severity") + interest(2) + } + field(ACKS, DBF_MENU) { + interest(2) + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("Alarm Ack Severity") + } + field(ACKT, DBF_MENU) { + prompt("Alarm Ack Transient") + menu(menuYesNo) + special(SPC_NOMOD) + interest(2) + promptgroup(GUI_ALARMS) + initial("YES") + } + field(DISS, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + special(SPC_NOMOD) + interest(2) + } + field(PACT, DBF_UCHAR) { + interest(1) + prompt("Record active") + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + special(SPC_NOMOD) + interest(1) + } + field(RPRO, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Reprocess ") + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + prompt("Access Security Pvt") + } + field(PPN, DBF_NOACCESS) { + interest(4) + prompt("pprocessNotify") + special(SPC_NOMOD) + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + interest(4) + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + interest(4) + prompt("Scan Private") + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + special(SPC_NOMOD) + interest(4) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + interest(4) + prompt("DSET address") + special(SPC_NOMOD) + extra("struct dset *dset") + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + special(SPC_NOMOD) + interest(4) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + interest(4) + prompt("Address of dbRecordType") + special(SPC_NOMOD) + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + special(SPC_NOMOD) + prompt("Lock Set") + interest(4) + } + field(PRIO, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuPriority) + special(SPC_SCAN) + prompt("Scheduling Priority") + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + prompt("Break Point") + special(SPC_NOMOD) + interest(1) + } + field(UDF, DBF_UCHAR) { + initial("1") + prompt("Undefined") + interest(1) + promptgroup(GUI_COMMON) + pp(TRUE) + } + field(UDFS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + promptgroup(GUI_COMMON) + interest(1) + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + special(SPC_NOMOD) + interest(2) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Process Link") + } + field(VERS, DBF_FLOAT) { + special(SPC_NOMOD) + prompt("Code Version") + initial("1") + } + field(RPVT, DBF_NOACCESS) { + extra("void * rpvt") + special(SPC_NOMOD) + prompt("Record Private") + interest(4) + size(4) + } + field(IVLA, DBF_MENU) { + initial("0") + interest(1) + promptgroup(GUI_COMMON) + menu(transformIVLA) + prompt("Invalid link action") + } + field(COPT, DBF_MENU) { + prompt("Calc option") + menu(transformCOPT) + interest(1) + promptgroup(GUI_COMMON) + initial("Conditional") + } + field(VAL, DBF_DOUBLE) { + prompt("Result") + } + field(CLCA, DBF_STRING) { + special(SPC_MOD) + prompt("Calculation A") + size(120) + promptgroup(GUI_COMMON) + } + field(CLCB, DBF_STRING) { + prompt("Calculation B") + special(SPC_MOD) + promptgroup(GUI_COMMON) + size(120) + } + field(CLCC, DBF_STRING) { + size(120) + promptgroup(GUI_COMMON) + prompt("Calculation C") + special(SPC_MOD) + } + field(CLCD, DBF_STRING) { + promptgroup(GUI_COMMON) + size(120) + prompt("Calculation D") + special(SPC_MOD) + } + field(CLCE, DBF_STRING) { + special(SPC_MOD) + prompt("Calculation E") + promptgroup(GUI_COMMON) + size(120) + } + field(CLCF, DBF_STRING) { + special(SPC_MOD) + prompt("Calculation F") + size(120) + promptgroup(GUI_COMMON) + } + field(CLCG, DBF_STRING) { + size(120) + promptgroup(GUI_COMMON) + prompt("Calculation G") + special(SPC_MOD) + } + field(CLCH, DBF_STRING) { + size(120) + promptgroup(GUI_COMMON) + prompt("Calculation H") + special(SPC_MOD) + } + field(CLCI, DBF_STRING) { + size(120) + promptgroup(GUI_COMMON) + special(SPC_MOD) + prompt("Calculation I") + } + field(CLCJ, DBF_STRING) { + special(SPC_MOD) + prompt("Calculation J") + size(120) + promptgroup(GUI_COMMON) + } + field(CLCK, DBF_STRING) { + size(120) + promptgroup(GUI_COMMON) + special(SPC_MOD) + prompt("Calculation K") + } + field(CLCL, DBF_STRING) { + size(120) + promptgroup(GUI_COMMON) + special(SPC_MOD) + prompt("Calculation L") + } + field(CLCM, DBF_STRING) { + special(SPC_MOD) + prompt("Calculation M") + promptgroup(GUI_COMMON) + size(120) + } + field(CLCN, DBF_STRING) { + promptgroup(GUI_COMMON) + size(120) + prompt("Calculation N") + special(SPC_MOD) + } + field(CLCO, DBF_STRING) { + size(120) + promptgroup(GUI_COMMON) + prompt("Calculation O") + special(SPC_MOD) + } + field(CLCP, DBF_STRING) { + prompt("Calculation P") + special(SPC_MOD) + size(120) + promptgroup(GUI_COMMON) + } + field(CAV, DBF_LONG) { + prompt("CALC Invalid") + interest(1) + } + field(CBV, DBF_LONG) { + prompt("CALC Invalid") + interest(1) + } + field(CCV, DBF_LONG) { + interest(1) + prompt("CALC Invalid") + } + field(CDV, DBF_LONG) { + interest(1) + prompt("CALC Invalid") + } + field(CEV, DBF_LONG) { + interest(1) + prompt("CALC Invalid") + } + field(CFV, DBF_LONG) { + prompt("CALC Invalid") + interest(1) + } + field(CGV, DBF_LONG) { + prompt("CALC Invalid") + interest(1) + } + field(CHV, DBF_LONG) { + prompt("CALC Invalid") + interest(1) + } + field(CIV, DBF_LONG) { + interest(1) + prompt("CALC Invalid") + } + field(CJV, DBF_LONG) { + prompt("CALC Invalid") + interest(1) + } + field(CKV, DBF_LONG) { + prompt("CALC Invalid") + interest(1) + } + field(CLV, DBF_LONG) { + prompt("CALC Invalid") + interest(1) + } + field(CMV, DBF_LONG) { + prompt("CALC Invalid") + interest(1) + } + field(CNV, DBF_LONG) { + prompt("CALC Invalid") + interest(1) + } + field(COV, DBF_LONG) { + prompt("CALC Invalid") + interest(1) + } + field(CPV, DBF_LONG) { + prompt("CALC Invalid") + interest(1) + } + field(INPA, DBF_INLINK) { + prompt("Input A") + special(SPC_MOD) + interest(1) + promptgroup(GUI_COMMON) + } + field(INPB, DBF_INLINK) { + interest(1) + promptgroup(GUI_COMMON) + special(SPC_MOD) + prompt("Input B") + } + field(INPC, DBF_INLINK) { + promptgroup(GUI_COMMON) + interest(1) + prompt("Input C") + special(SPC_MOD) + } + field(INPD, DBF_INLINK) { + special(SPC_MOD) + prompt("Input D") + interest(1) + promptgroup(GUI_COMMON) + } + field(INPE, DBF_INLINK) { + promptgroup(GUI_COMMON) + interest(1) + prompt("Input E") + special(SPC_MOD) + } + field(INPF, DBF_INLINK) { + prompt("Input F") + special(SPC_MOD) + promptgroup(GUI_COMMON) + interest(1) + } + field(INPG, DBF_INLINK) { + promptgroup(GUI_COMMON) + interest(1) + special(SPC_MOD) + prompt("Input G") + } + field(INPH, DBF_INLINK) { + promptgroup(GUI_COMMON) + interest(1) + prompt("Input H") + special(SPC_MOD) + } + field(INPI, DBF_INLINK) { + interest(1) + promptgroup(GUI_COMMON) + special(SPC_MOD) + prompt("Input I") + } + field(INPJ, DBF_INLINK) { + interest(1) + promptgroup(GUI_COMMON) + special(SPC_MOD) + prompt("Input J") + } + field(INPK, DBF_INLINK) { + prompt("Input K") + special(SPC_MOD) + interest(1) + promptgroup(GUI_COMMON) + } + field(INPL, DBF_INLINK) { + special(SPC_MOD) + prompt("Input L") + interest(1) + promptgroup(GUI_COMMON) + } + field(INPM, DBF_INLINK) { + promptgroup(GUI_COMMON) + interest(1) + prompt("Input M") + special(SPC_MOD) + } + field(INPN, DBF_INLINK) { + interest(1) + promptgroup(GUI_COMMON) + prompt("Input N") + special(SPC_MOD) + } + field(INPO, DBF_INLINK) { + prompt("Input O") + special(SPC_MOD) + interest(1) + promptgroup(GUI_COMMON) + } + field(INPP, DBF_INLINK) { + interest(1) + promptgroup(GUI_COMMON) + special(SPC_MOD) + prompt("Input P") + } + field(OUTA, DBF_OUTLINK) { + prompt("Output A") + special(SPC_MOD) + interest(1) + promptgroup(GUI_COMMON) + } + field(OUTB, DBF_OUTLINK) { + prompt("Output B") + special(SPC_MOD) + promptgroup(GUI_COMMON) + interest(1) + } + field(OUTC, DBF_OUTLINK) { + promptgroup(GUI_COMMON) + interest(1) + special(SPC_MOD) + prompt("Output C") + } + field(OUTD, DBF_OUTLINK) { + prompt("Output D") + special(SPC_MOD) + promptgroup(GUI_COMMON) + interest(1) + } + field(OUTE, DBF_OUTLINK) { + promptgroup(GUI_COMMON) + interest(1) + prompt("Output E") + special(SPC_MOD) + } + field(OUTF, DBF_OUTLINK) { + special(SPC_MOD) + prompt("Output F") + promptgroup(GUI_COMMON) + interest(1) + } + field(OUTG, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_COMMON) + prompt("Output G") + special(SPC_MOD) + } + field(OUTH, DBF_OUTLINK) { + special(SPC_MOD) + prompt("Output H") + promptgroup(GUI_COMMON) + interest(1) + } + field(OUTI, DBF_OUTLINK) { + prompt("Output I") + special(SPC_MOD) + promptgroup(GUI_COMMON) + interest(1) + } + field(OUTJ, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_COMMON) + prompt("Output J") + special(SPC_MOD) + } + field(OUTK, DBF_OUTLINK) { + prompt("Output K") + special(SPC_MOD) + promptgroup(GUI_COMMON) + interest(1) + } + field(OUTL, DBF_OUTLINK) { + promptgroup(GUI_COMMON) + interest(1) + special(SPC_MOD) + prompt("Output L") + } + field(OUTM, DBF_OUTLINK) { + promptgroup(GUI_COMMON) + interest(1) + prompt("Output M") + special(SPC_MOD) + } + field(OUTN, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_COMMON) + special(SPC_MOD) + prompt("Output N") + } + field(OUTO, DBF_OUTLINK) { + special(SPC_MOD) + prompt("Output O") + promptgroup(GUI_COMMON) + interest(1) + } + field(OUTP, DBF_OUTLINK) { + prompt("Output P") + special(SPC_MOD) + promptgroup(GUI_COMMON) + interest(1) + } + field(EGU, DBF_STRING) { + prompt("Units Name") + interest(1) + size(16) + promptgroup(GUI_COMMON) + } + field(PREC, DBF_SHORT) { + promptgroup(GUI_COMMON) + interest(1) + prompt("Display Precision") + } + field(A, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of A") + special(SPC_MOD) + promptgroup(GUI_COMMON) + } + field(B, DBF_DOUBLE) { + special(SPC_MOD) + prompt("Value of B") + promptgroup(GUI_COMMON) + pp(TRUE) + } + field(C, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of C") + special(SPC_MOD) + promptgroup(GUI_COMMON) + } + field(D, DBF_DOUBLE) { + special(SPC_MOD) + prompt("Value of D") + promptgroup(GUI_COMMON) + pp(TRUE) + } + field(E, DBF_DOUBLE) { + pp(TRUE) + special(SPC_MOD) + prompt("Value of E") + promptgroup(GUI_COMMON) + } + field(F, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of F") + special(SPC_MOD) + promptgroup(GUI_COMMON) + } + field(G, DBF_DOUBLE) { + promptgroup(GUI_COMMON) + special(SPC_MOD) + prompt("Value of G") + pp(TRUE) + } + field(H, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of H") + special(SPC_MOD) + promptgroup(GUI_COMMON) + } + field(I, DBF_DOUBLE) { + pp(TRUE) + promptgroup(GUI_COMMON) + special(SPC_MOD) + prompt("Value of I") + } + field(J, DBF_DOUBLE) { + pp(TRUE) + special(SPC_MOD) + prompt("Value of J") + promptgroup(GUI_COMMON) + } + field(K, DBF_DOUBLE) { + pp(TRUE) + promptgroup(GUI_COMMON) + prompt("Value of K") + special(SPC_MOD) + } + field(L, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of L") + special(SPC_MOD) + promptgroup(GUI_COMMON) + } + field(M, DBF_DOUBLE) { + special(SPC_MOD) + prompt("Value of M") + promptgroup(GUI_COMMON) + pp(TRUE) + } + field(N, DBF_DOUBLE) { + pp(TRUE) + special(SPC_MOD) + prompt("Value of N") + promptgroup(GUI_COMMON) + } + field(O, DBF_DOUBLE) { + pp(TRUE) + promptgroup(GUI_COMMON) + prompt("Value of O") + special(SPC_MOD) + } + field(P, DBF_DOUBLE) { + promptgroup(GUI_COMMON) + special(SPC_MOD) + prompt("Value of P") + pp(TRUE) + } + field(LA, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Value of A") + } + field(LB, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of B") + special(SPC_NOMOD) + } + field(LC, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of C") + special(SPC_NOMOD) + } + field(LD, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of D") + special(SPC_NOMOD) + } + field(LE, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of E") + special(SPC_NOMOD) + } + field(LF, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of F") + interest(3) + } + field(LG, DBF_DOUBLE) { + prompt("Prev Value of G") + special(SPC_NOMOD) + interest(3) + } + field(LH, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of H") + special(SPC_NOMOD) + } + field(LI, DBF_DOUBLE) { + prompt("Prev Value of I") + special(SPC_NOMOD) + interest(3) + } + field(LJ, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of J") + special(SPC_NOMOD) + } + field(LK, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of K") + interest(3) + } + field(LL, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of L") + interest(3) + } + field(LM, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of M") + special(SPC_NOMOD) + } + field(LN, DBF_DOUBLE) { + prompt("Prev Value of N") + special(SPC_NOMOD) + interest(3) + } + field(LO, DBF_DOUBLE) { + prompt("Prev Value of O") + special(SPC_NOMOD) + interest(3) + } + field(LP, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Value of P") + } + field(RPCA, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Postfix Calc A") + interest(4) + extra("unsigned char rpca[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + } + field(RPCB, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Postfix Calc B") + interest(4) + extra("unsigned char rpcb[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + } + field(RPCC, DBF_NOACCESS) { + extra("unsigned char rpcc[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + interest(4) + prompt("Postfix Calc C") + special(SPC_NOMOD) + } + field(RPCD, DBF_NOACCESS) { + extra("unsigned char rpcd[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + prompt("Postfix Calc D") + special(SPC_NOMOD) + interest(4) + } + field(RPCE, DBF_NOACCESS) { + prompt("Postfix Calc E") + special(SPC_NOMOD) + interest(4) + extra("unsigned char rpce[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + } + field(RPCF, DBF_NOACCESS) { + prompt("Postfix Calc F") + special(SPC_NOMOD) + interest(4) + extra("unsigned char rpcf[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + } + field(RPCG, DBF_NOACCESS) { + extra("unsigned char rpcg[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + interest(4) + special(SPC_NOMOD) + prompt("Postfix Calc G") + } + field(RPCH, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Postfix Calc H") + interest(4) + extra("unsigned char rpch[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + } + field(RPCI, DBF_NOACCESS) { + interest(4) + prompt("Postfix Calc I") + special(SPC_NOMOD) + extra("unsigned char rpci[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + } + field(RPCJ, DBF_NOACCESS) { + prompt("Postfix Calc J") + special(SPC_NOMOD) + interest(4) + extra("unsigned char rpcj[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + } + field(RPCK, DBF_NOACCESS) { + prompt("Postfix Calc K") + special(SPC_NOMOD) + interest(4) + extra("unsigned char rpck[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + } + field(RPCL, DBF_NOACCESS) { + interest(4) + prompt("Postfix Calc L") + special(SPC_NOMOD) + extra("unsigned char rpcl[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + } + field(RPCM, DBF_NOACCESS) { + extra("unsigned char rpcm[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + interest(4) + prompt("Postfix Calc M") + special(SPC_NOMOD) + } + field(RPCN, DBF_NOACCESS) { + extra("unsigned char rpcn[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + special(SPC_NOMOD) + prompt("Postfix Calc N") + interest(4) + } + field(RPCO, DBF_NOACCESS) { + interest(4) + prompt("Postfix Calc O") + special(SPC_NOMOD) + extra("unsigned char rpco[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + } + field(RPCP, DBF_NOACCESS) { + prompt("Postfix Calc P") + special(SPC_NOMOD) + interest(4) + extra("unsigned char rpcp[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + } + field(CMTA, DBF_STRING) { + prompt("Comment A") + promptgroup(GUI_COMMON) + size(39) + } + field(CMTB, DBF_STRING) { + prompt("Comment B") + size(39) + promptgroup(GUI_COMMON) + } + field(CMTC, DBF_STRING) { + prompt("Comment C") + size(39) + promptgroup(GUI_COMMON) + } + field(CMTD, DBF_STRING) { + prompt("Comment D") + size(39) + promptgroup(GUI_COMMON) + } + field(CMTE, DBF_STRING) { + promptgroup(GUI_COMMON) + size(39) + prompt("Comment E") + } + field(CMTF, DBF_STRING) { + size(39) + promptgroup(GUI_COMMON) + prompt("Comment F") + } + field(CMTG, DBF_STRING) { + prompt("Comment G") + promptgroup(GUI_COMMON) + size(39) + } + field(CMTH, DBF_STRING) { + promptgroup(GUI_COMMON) + size(39) + prompt("Comment H") + } + field(CMTI, DBF_STRING) { + size(39) + promptgroup(GUI_COMMON) + prompt("Comment I") + } + field(CMTJ, DBF_STRING) { + promptgroup(GUI_COMMON) + size(39) + prompt("Comment J") + } + field(CMTK, DBF_STRING) { + prompt("Comment K") + promptgroup(GUI_COMMON) + size(39) + } + field(CMTL, DBF_STRING) { + prompt("Comment L") + size(39) + promptgroup(GUI_COMMON) + } + field(CMTM, DBF_STRING) { + prompt("Comment M") + promptgroup(GUI_COMMON) + size(39) + } + field(CMTN, DBF_STRING) { + size(39) + promptgroup(GUI_COMMON) + prompt("Comment N") + } + field(CMTO, DBF_STRING) { + size(39) + promptgroup(GUI_COMMON) + prompt("Comment O") + } + field(CMTP, DBF_STRING) { + prompt("Comment P") + size(39) + promptgroup(GUI_COMMON) + } + field(MAP, DBF_SHORT) { + prompt("Input bitmap") + interest(3) + promptgroup(GUI_COMMON) + } + field(IAV, DBF_MENU) { + prompt("Input link valid") + menu(transformIAV) + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(IBV, DBF_MENU) { + menu(transformIAV) + prompt("Input link valid") + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(ICV, DBF_MENU) { + interest(1) + special(SPC_NOMOD) + menu(transformIAV) + prompt("Input link valid") + initial("1") + } + field(IDV, DBF_MENU) { + initial("1") + interest(1) + special(SPC_NOMOD) + menu(transformIAV) + prompt("Input link valid") + } + field(IEV, DBF_MENU) { + interest(1) + menu(transformIAV) + prompt("Input link valid") + special(SPC_NOMOD) + initial("1") + } + field(IFV, DBF_MENU) { + initial("1") + menu(transformIAV) + special(SPC_NOMOD) + prompt("Input link valid") + interest(1) + } + field(IGV, DBF_MENU) { + initial("1") + menu(transformIAV) + prompt("Input link valid") + special(SPC_NOMOD) + interest(1) + } + field(IHV, DBF_MENU) { + menu(transformIAV) + prompt("Input link valid") + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(IIV, DBF_MENU) { + initial("1") + special(SPC_NOMOD) + menu(transformIAV) + prompt("Input link valid") + interest(1) + } + field(IJV, DBF_MENU) { + initial("1") + menu(transformIAV) + special(SPC_NOMOD) + prompt("Input link valid") + interest(1) + } + field(IKV, DBF_MENU) { + initial("1") + interest(1) + prompt("Input link valid") + menu(transformIAV) + special(SPC_NOMOD) + } + field(ILV, DBF_MENU) { + interest(1) + menu(transformIAV) + special(SPC_NOMOD) + prompt("Input link valid") + initial("1") + } + field(IMV, DBF_MENU) { + interest(1) + menu(transformIAV) + prompt("Input link valid") + special(SPC_NOMOD) + initial("1") + } + field(INV, DBF_MENU) { + menu(transformIAV) + prompt("Input link valid") + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(IOV, DBF_MENU) { + initial("1") + prompt("Input link valid") + menu(transformIAV) + special(SPC_NOMOD) + interest(1) + } + field(IPV, DBF_MENU) { + initial("1") + special(SPC_NOMOD) + menu(transformIAV) + prompt("Input link valid") + interest(1) + } + field(OAV, DBF_MENU) { + initial("1") + interest(1) + special(SPC_NOMOD) + menu(transformIAV) + prompt("Output link valid") + } + field(OBV, DBF_MENU) { + initial("1") + special(SPC_NOMOD) + menu(transformIAV) + prompt("Output link valid") + interest(1) + } + field(OCV, DBF_MENU) { + special(SPC_NOMOD) + menu(transformIAV) + prompt("Output link valid") + interest(1) + initial("1") + } + field(ODV, DBF_MENU) { + interest(1) + special(SPC_NOMOD) + menu(transformIAV) + prompt("Output link valid") + initial("1") + } + field(OEV, DBF_MENU) { + initial("1") + special(SPC_NOMOD) + menu(transformIAV) + prompt("Output link valid") + interest(1) + } + field(OFV, DBF_MENU) { + initial("1") + interest(1) + menu(transformIAV) + prompt("Output link valid") + special(SPC_NOMOD) + } + field(OGV, DBF_MENU) { + initial("1") + interest(1) + menu(transformIAV) + prompt("Output link valid") + special(SPC_NOMOD) + } + field(OHV, DBF_MENU) { + interest(1) + special(SPC_NOMOD) + menu(transformIAV) + prompt("Output link valid") + initial("1") + } + field(OIV, DBF_MENU) { + menu(transformIAV) + prompt("Output link valid") + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(OJV, DBF_MENU) { + interest(1) + menu(transformIAV) + prompt("Output link valid") + special(SPC_NOMOD) + initial("1") + } + field(OKV, DBF_MENU) { + interest(1) + special(SPC_NOMOD) + menu(transformIAV) + prompt("Output link valid") + initial("1") + } + field(OLV, DBF_MENU) { + initial("1") + menu(transformIAV) + prompt("Output link valid") + special(SPC_NOMOD) + interest(1) + } + field(OMV, DBF_MENU) { + interest(1) + special(SPC_NOMOD) + menu(transformIAV) + prompt("Output link valid") + initial("1") + } + field(ONV, DBF_MENU) { + initial("1") + menu(transformIAV) + prompt("Output link valid") + special(SPC_NOMOD) + interest(1) + } + field(OOV, DBF_MENU) { + menu(transformIAV) + special(SPC_NOMOD) + prompt("Output link valid") + interest(1) + initial("1") + } + field(OPV, DBF_MENU) { + initial("1") + menu(transformIAV) + prompt("Output link valid") + special(SPC_NOMOD) + interest(1) + } +} +recordtype(asyn) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + size(61) + special(SPC_NOMOD) + prompt("Record Name") + } + field(DESC, DBF_STRING) { + size(41) + promptgroup(GUI_COMMON) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + promptgroup(GUI_COMMON) + size(29) + prompt("Access Security Group") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + special(SPC_SCAN) + menu(menuScan) + prompt("Scan Mechanism") + interest(1) + promptgroup(GUI_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + interest(1) + promptgroup(GUI_SCAN) + } + field(PHAS, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scan Phase") + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + special(SPC_SCAN) + prompt("Event Name") + interest(1) + size(40) + promptgroup(GUI_SCAN) + } + field(TSE, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup(GUI_SCAN) + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup(GUI_LINKS) + interest(1) + } + field(DISV, DBF_SHORT) { + promptgroup(GUI_SCAN) + prompt("Disable Value") + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + interest(1) + promptgroup(GUI_SCAN) + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + special(SPC_NOMOD) + prompt("Monitor lock") + interest(4) + } + field(MLIS, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Monitor List") + interest(4) + extra("ELLLIST mlis") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + interest(3) + prompt("Force Processing") + pp(TRUE) + } + field(STAT, DBF_MENU) { + initial("UDF") + menu(menuAlarmStat) + prompt("Alarm Status") + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("Alarm Severity") + } + field(NSTA, DBF_MENU) { + interest(2) + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("New Alarm Status") + } + field(NSEV, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("New Alarm Severity") + interest(2) + } + field(ACKS, DBF_MENU) { + interest(2) + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("Alarm Ack Severity") + } + field(ACKT, DBF_MENU) { + menu(menuYesNo) + prompt("Alarm Ack Transient") + special(SPC_NOMOD) + interest(2) + promptgroup(GUI_ALARMS) + initial("YES") + } + field(DISS, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + } + field(LCNT, DBF_UCHAR) { + interest(2) + prompt("Lock Count") + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Record active") + } + field(PUTF, DBF_UCHAR) { + interest(1) + prompt("dbPutField process") + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + special(SPC_NOMOD) + interest(1) + } + field(ASP, DBF_NOACCESS) { + interest(4) + prompt("Access Security Pvt") + special(SPC_NOMOD) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + interest(4) + prompt("pprocessNotify") + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + interest(4) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + interest(4) + prompt("Scan Private") + special(SPC_NOMOD) + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + interest(4) + prompt("Address of RSET") + special(SPC_NOMOD) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + special(SPC_NOMOD) + prompt("DSET address") + interest(4) + } + field(DPVT, DBF_NOACCESS) { + interest(4) + prompt("Device Private") + special(SPC_NOMOD) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + interest(4) + prompt("Address of dbRecordType") + special(SPC_NOMOD) + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Lock Set") + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuPriority) + special(SPC_SCAN) + prompt("Scheduling Priority") + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + special(SPC_NOMOD) + prompt("Break Point") + interest(1) + } + field(UDF, DBF_UCHAR) { + promptgroup(GUI_COMMON) + interest(1) + prompt("Undefined") + initial("1") + pp(TRUE) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup(GUI_COMMON) + interest(1) + } + field(TIME, DBF_NOACCESS) { + interest(2) + prompt("Time") + special(SPC_NOMOD) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup(GUI_LINKS) + interest(1) + } + field(VAL, DBF_LONG) { + prompt("Value field (unused)") + asl(ASL0) + interest(4) + } + field(PORT, DBF_STRING) { + special(SPC_MOD) + prompt("asyn port") + size(40) + interest(1) + promptgroup(GUI_INPUTS) + initial("") + } + field(ADDR, DBF_LONG) { + initial("0") + special(SPC_MOD) + prompt("asyn address") + interest(1) + promptgroup(GUI_INPUTS) + } + field(PCNCT, DBF_MENU) { + interest(2) + prompt("Port Connect/Disconnect") + menu(asynCONNECT) + special(SPC_MOD) + } + field(DRVINFO, DBF_STRING) { + prompt("Driver info string") + special(SPC_MOD) + size(40) + promptgroup(GUI_INPUTS) + interest(2) + initial("") + } + field(REASON, DBF_LONG) { + special(SPC_MOD) + prompt("asynUser->reason") + interest(2) + } + field(TMOD, DBF_MENU) { + menu(asynTMOD) + prompt("Transaction mode") + promptgroup(GUI_INPUTS) + interest(1) + } + field(TMOT, DBF_DOUBLE) { + initial("1.0") + prompt("Timeout (sec)") + promptgroup(GUI_INPUTS) + interest(1) + } + field(IFACE, DBF_MENU) { + prompt("Interface") + menu(asynINTERFACE) + special(SPC_MOD) + promptgroup(GUI_INPUTS) + interest(2) + } + field(OCTETIV, DBF_LONG) { + prompt("asynOctet is valid") + interest(2) + } + field(OPTIONIV, DBF_LONG) { + interest(2) + prompt("asynOption is valid") + } + field(GPIBIV, DBF_LONG) { + interest(2) + prompt("asynGPIB is valid") + } + field(I32IV, DBF_LONG) { + interest(2) + prompt("asynInt32 is valid") + } + field(UI32IV, DBF_LONG) { + prompt("asynUInt32Digital is valid") + interest(2) + } + field(F64IV, DBF_LONG) { + interest(2) + prompt("asynFloat64 is valid") + } + field(AOUT, DBF_STRING) { + pp(TRUE) + promptgroup(GUI_OUTPUT) + size(40) + interest(1) + prompt("Output (command) string") + } + field(OEOS, DBF_STRING) { + prompt("Output delimiter") + special(SPC_MOD) + promptgroup(GUI_OUTPUT) + size(40) + interest(1) + } + field(BOUT, DBF_CHAR) { + interest(1) + special(SPC_DBADDR) + prompt("Output binary data") + pp(TRUE) + } + field(OPTR, DBF_NOACCESS) { + extra("void *optr") + interest(4) + special(SPC_NOMOD) + prompt("Output buffer pointer") + } + field(OMAX, DBF_LONG) { + initial("80") + special(SPC_NOMOD) + prompt("Max. size of output array") + promptgroup(GUI_OUTPUT) + interest(1) + } + field(NOWT, DBF_LONG) { + initial("80") + prompt("Number of bytes to write") + interest(1) + promptgroup(GUI_OUTPUT) + } + field(NAWT, DBF_LONG) { + prompt("Number of bytes actually written") + interest(1) + } + field(OFMT, DBF_MENU) { + interest(1) + promptgroup(GUI_OUTPUT) + menu(asynFMT) + prompt("Output format") + } + field(AINP, DBF_STRING) { + size(40) + interest(1) + prompt("Input (response) string") + special(SPC_NOMOD) + } + field(TINP, DBF_STRING) { + size(40) + interest(1) + special(SPC_NOMOD) + asl(ASL0) + prompt("Translated input string") + } + field(IEOS, DBF_STRING) { + interest(1) + size(40) + promptgroup(GUI_INPUTS) + prompt("Input Delimiter") + special(SPC_MOD) + } + field(BINP, DBF_CHAR) { + special(SPC_DBADDR) + asl(ASL0) + prompt("Input binary data") + } + field(IPTR, DBF_NOACCESS) { + extra("void *iptr") + prompt("Input buffer pointer") + special(SPC_NOMOD) + interest(4) + size(4) + } + field(IMAX, DBF_LONG) { + initial("80") + special(SPC_NOMOD) + prompt("Max. size of input array") + interest(1) + promptgroup(GUI_INPUTS) + } + field(NRRD, DBF_LONG) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Number of bytes to read") + } + field(NORD, DBF_LONG) { + interest(1) + prompt("Number of bytes read") + special(SPC_NOMOD) + } + field(IFMT, DBF_MENU) { + interest(1) + promptgroup(GUI_INPUTS) + menu(asynFMT) + prompt("Input format") + } + field(EOMR, DBF_MENU) { + menu(asynEOMREASON) + prompt("EOM reason") + special(SPC_NOMOD) + interest(1) + } + field(I32INP, DBF_LONG) { + special(SPC_NOMOD) + prompt("asynInt32 input") + interest(2) + } + field(I32OUT, DBF_LONG) { + pp(TRUE) + prompt("asynInt32 output") + promptgroup(GUI_OUTPUT) + interest(2) + } + field(UI32INP, DBF_ULONG) { + special(SPC_NOMOD) + prompt("asynUInt32Digital input") + interest(2) + } + field(UI32OUT, DBF_ULONG) { + pp(TRUE) + interest(2) + promptgroup(GUI_OUTPUT) + prompt("asynUInt32Digital output") + } + field(UI32MASK, DBF_ULONG) { + interest(2) + promptgroup(GUI_OUTPUT) + special(SPC_MOD) + prompt("asynUInt32Digital mask") + initial("0xffffffff") + } + field(F64INP, DBF_DOUBLE) { + interest(2) + prompt("asynFloat64 input") + special(SPC_NOMOD) + } + field(F64OUT, DBF_DOUBLE) { + pp(TRUE) + promptgroup(GUI_OUTPUT) + interest(2) + prompt("asynFloat64 output") + } + field(BAUD, DBF_MENU) { + menu(serialBAUD) + special(SPC_MOD) + prompt("Baud rate") + interest(2) + promptgroup(GUI_INPUTS) + } + field(LBAUD, DBF_LONG) { + prompt("Baud rate") + special(SPC_MOD) + promptgroup(GUI_INPUTS) + interest(2) + } + field(PRTY, DBF_MENU) { + interest(2) + promptgroup(GUI_INPUTS) + menu(serialPRTY) + special(SPC_MOD) + prompt("Parity") + } + field(DBIT, DBF_MENU) { + promptgroup(GUI_INPUTS) + interest(2) + prompt("Data bits") + menu(serialDBIT) + special(SPC_MOD) + } + field(SBIT, DBF_MENU) { + interest(2) + promptgroup(GUI_INPUTS) + prompt("Stop bits") + menu(serialSBIT) + special(SPC_MOD) + } + field(MCTL, DBF_MENU) { + special(SPC_MOD) + menu(serialMCTL) + prompt("Modem control") + interest(2) + promptgroup(GUI_INPUTS) + } + field(FCTL, DBF_MENU) { + promptgroup(GUI_INPUTS) + interest(2) + menu(serialFCTL) + special(SPC_MOD) + prompt("Flow control") + } + field(IXON, DBF_MENU) { + interest(2) + promptgroup(GUI_INPUTS) + menu(serialIX) + prompt("Output XON/XOFF") + special(SPC_MOD) + } + field(IXOFF, DBF_MENU) { + prompt("Input XON/XOFF") + menu(serialIX) + special(SPC_MOD) + promptgroup(GUI_INPUTS) + interest(2) + } + field(IXANY, DBF_MENU) { + special(SPC_MOD) + menu(serialIX) + prompt("XON=any character") + interest(2) + promptgroup(GUI_INPUTS) + } + field(UCMD, DBF_MENU) { + menu(gpibUCMD) + prompt("Universal command") + interest(2) + promptgroup(GUI_OUTPUT) + pp(TRUE) + } + field(ACMD, DBF_MENU) { + pp(TRUE) + promptgroup(GUI_OUTPUT) + interest(2) + menu(gpibACMD) + prompt("Addressed command") + } + field(SPR, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Serial poll response") + interest(2) + } + field(TMSK, DBF_LONG) { + special(SPC_MOD) + prompt("Trace mask") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(TB0, DBF_MENU) { + prompt("Trace error") + menu(asynTRACE) + special(SPC_MOD) + promptgroup(GUI_DISPLAY) + interest(1) + } + field(TB1, DBF_MENU) { + menu(asynTRACE) + special(SPC_MOD) + prompt("Trace IO device") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(TB2, DBF_MENU) { + promptgroup(GUI_DISPLAY) + interest(1) + menu(asynTRACE) + prompt("Trace IO filter") + special(SPC_MOD) + } + field(TB3, DBF_MENU) { + menu(asynTRACE) + prompt("Trace IO driver") + special(SPC_MOD) + interest(1) + promptgroup(GUI_DISPLAY) + } + field(TB4, DBF_MENU) { + prompt("Trace flow") + menu(asynTRACE) + special(SPC_MOD) + promptgroup(GUI_DISPLAY) + interest(1) + } + field(TB5, DBF_MENU) { + interest(1) + promptgroup(GUI_DISPLAY) + special(SPC_MOD) + menu(asynTRACE) + prompt("Trace warning") + } + field(TIOM, DBF_LONG) { + special(SPC_MOD) + prompt("Trace I/O mask") + interest(1) + promptgroup(GUI_DISPLAY) + } + field(TIB0, DBF_MENU) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Trace IO ASCII") + menu(asynTRACE) + special(SPC_MOD) + } + field(TIB1, DBF_MENU) { + menu(asynTRACE) + special(SPC_MOD) + prompt("Trace IO escape") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(TIB2, DBF_MENU) { + interest(1) + promptgroup(GUI_DISPLAY) + special(SPC_MOD) + menu(asynTRACE) + prompt("Trace IO hex") + } + field(TINM, DBF_LONG) { + prompt("Trace Info mask") + special(SPC_MOD) + promptgroup(GUI_DISPLAY) + interest(1) + } + field(TINB0, DBF_MENU) { + interest(1) + promptgroup(GUI_DISPLAY) + special(SPC_MOD) + menu(asynTRACE) + prompt("Trace Info Time") + } + field(TINB1, DBF_MENU) { + prompt("Trace Info Port") + menu(asynTRACE) + special(SPC_MOD) + promptgroup(GUI_DISPLAY) + interest(1) + } + field(TINB2, DBF_MENU) { + menu(asynTRACE) + special(SPC_MOD) + prompt("Trace Info Source") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(TINB3, DBF_MENU) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Trace Info Thread") + menu(asynTRACE) + special(SPC_MOD) + } + field(TSIZ, DBF_LONG) { + prompt("Trace IO truncate size") + special(SPC_MOD) + promptgroup(GUI_DISPLAY) + interest(1) + } + field(TFIL, DBF_STRING) { + promptgroup(GUI_DISPLAY) + size(40) + interest(1) + prompt("Trace IO file") + special(SPC_MOD) + } + field(AUCT, DBF_MENU) { + promptgroup(GUI_INPUTS) + interest(1) + menu(asynAUTOCONNECT) + special(SPC_MOD) + prompt("Autoconnect") + } + field(CNCT, DBF_MENU) { + promptgroup(GUI_INPUTS) + interest(1) + menu(asynCONNECT) + special(SPC_MOD) + prompt("Connect/Disconnect") + } + field(ENBL, DBF_MENU) { + prompt("Enable/Disable") + menu(asynENABLE) + special(SPC_MOD) + promptgroup(GUI_INPUTS) + interest(1) + } + field(ERRS, DBF_NOACCESS) { + prompt("Error string") + special(SPC_DBADDR) + interest(4) + extra("char *errs") + } + field(AQR, DBF_UCHAR) { + special(SPC_MOD) + prompt("Abort queueRequest") + interest(4) + } +} +device(asyn, INST_IO, asynRecordDevice, "asynRecordDevice") +recordtype(aai) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + prompt("Record Name") + special(SPC_NOMOD) + size(61) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + promptgroup(GUI_COMMON) + size(41) + } + field(ASG, DBF_STRING) { + size(29) + promptgroup(GUI_COMMON) + prompt("Access Security Group") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + special(SPC_SCAN) + interest(1) + promptgroup(GUI_SCAN) + } + field(PINI, DBF_MENU) { + menu(menuPini) + prompt("Process at iocInit") + promptgroup(GUI_SCAN) + interest(1) + } + field(PHAS, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scan Phase") + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + promptgroup(GUI_SCAN) + interest(1) + size(40) + special(SPC_SCAN) + prompt("Event Name") + } + field(TSE, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + initial("1") + promptgroup(GUI_SCAN) + prompt("Disable Value") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + interest(1) + promptgroup(GUI_SCAN) + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + special(SPC_NOMOD) + prompt("Monitor lock") + interest(4) + } + field(MLIS, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Monitor List") + extra("ELLLIST mlis") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + interest(3) + prompt("Force Processing") + } + field(STAT, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("Alarm Status") + initial("UDF") + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Alarm Severity") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("New Alarm Status") + interest(2) + } + field(NSEV, DBF_MENU) { + interest(2) + prompt("New Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + interest(2) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + interest(2) + promptgroup(GUI_ALARMS) + menu(menuYesNo) + prompt("Alarm Ack Transient") + special(SPC_NOMOD) + initial("YES") + } + field(DISS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + interest(1) + promptgroup(GUI_SCAN) + } + field(LCNT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Lock Count") + interest(2) + } + field(PACT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Record active") + interest(1) + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + interest(4) + prompt("Access Security Pvt") + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + special(SPC_NOMOD) + prompt("pprocessNotify") + interest(4) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + interest(4) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Scan Private") + interest(4) + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + interest(4) + prompt("Address of RSET") + special(SPC_NOMOD) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + prompt("DSET address") + special(SPC_NOMOD) + interest(4) + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + interest(4) + prompt("Device Private") + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + interest(4) + prompt("Address of dbRecordType") + special(SPC_NOMOD) + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Lock Set") + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + special(SPC_SCAN) + interest(1) + promptgroup(GUI_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + special(SPC_NOMOD) + prompt("Break Point") + interest(1) + } + field(UDF, DBF_UCHAR) { + initial("1") + interest(1) + promptgroup(GUI_COMMON) + prompt("Undefined") + pp(TRUE) + } + field(UDFS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + promptgroup(GUI_COMMON) + interest(1) + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + extra("epicsTimeStamp time") + prompt("Time") + special(SPC_NOMOD) + interest(2) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + interest(1) + promptgroup(GUI_LINKS) + } + field(VAL, DBF_NOACCESS) { + asl(ASL0) + special(SPC_DBADDR) + prompt("Value") + extra("void * val") + pp(TRUE) + } + field(PREC, DBF_SHORT) { + prompt("Display Precision") + promptgroup(GUI_ALARMS) + interest(1) + prop(YES) + } + field(INP, DBF_INLINK) { + promptgroup(GUI_BITS1) + interest(1) + prompt("Input Specification") + } + field(EGU, DBF_STRING) { + prop(YES) + prompt("Engineering Units Name") + size(16) + promptgroup(GUI_BITS2) + interest(1) + } + field(HOPR, DBF_DOUBLE) { + prompt("High Operating Range") + interest(1) + promptgroup(GUI_CALC) + prop(YES) + } + field(LOPR, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_CLOCK) + prompt("Low Operating Range") + prop(YES) + } + field(NELM, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Number of Elements") + promptgroup(GUI_COMPRESS) + interest(1) + initial("1") + } + field(FTVL, DBF_MENU) { + promptgroup(GUI_CONVERT) + interest(1) + menu(menuFtype) + prompt("Field Type of Value") + special(SPC_NOMOD) + } + field(NORD, DBF_ULONG) { + prompt("Number elements read") + special(SPC_NOMOD) + } + field(BPTR, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Buffer Pointer") + interest(4) + extra("void * bptr") + } + field(SIML, DBF_INLINK) { + prompt("Sim Mode Location") + interest(1) + promptgroup(GUI_HIST) + } + field(SIMM, DBF_MENU) { + menu(menuYesNo) + prompt("Simulation Mode") + interest(1) + } + field(SIMS, DBF_MENU) { + promptgroup(GUI_INPUTS) + interest(2) + menu(menuAlarmSevr) + prompt("Sim mode Alarm Svrty") + } + field(SIOL, DBF_INLINK) { + prompt("Sim Input Specifctn") + interest(1) + promptgroup(GUI_INPUTS) + } + field(MPST, DBF_MENU) { + prompt("Post Value Monitors") + menu(aaiPOST) + interest(1) + promptgroup(GUI_DISPLAY) + } + field(APST, DBF_MENU) { + prompt("Post Archive Monitors") + menu(aaiPOST) + promptgroup(GUI_DISPLAY) + interest(1) + } + field(HASH, DBF_ULONG) { + prompt("Hash of OnChange data.") + interest(3) + } +} +device(aai, CONSTANT, devAaiSoft, "Soft Channel") +device(aai, INST_IO, devaaiStream, "stream") +recordtype(dfanout) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + promptgroup(GUI_COMMON) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + special(SPC_AS) + prompt("Access Security Group") + size(29) + promptgroup(GUI_COMMON) + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scan Mechanism") + menu(menuScan) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuPini) + prompt("Process at iocInit") + } + field(PHAS, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scan Phase") + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + interest(1) + promptgroup(GUI_SCAN) + prompt("Event Name") + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup(GUI_SCAN) + interest(1) + } + field(DTYP, DBF_DEVICE) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + initial("1") + promptgroup(GUI_SCAN) + prompt("Disable Value") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + special(SPC_NOMOD) + prompt("Monitor lock") + interest(4) + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + interest(4) + prompt("Monitor List") + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + prompt("Force Processing") + interest(3) + pp(TRUE) + } + field(STAT, DBF_MENU) { + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("Alarm Status") + initial("UDF") + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Alarm Severity") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("New Alarm Status") + interest(2) + } + field(NSEV, DBF_MENU) { + interest(2) + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("New Alarm Severity") + } + field(ACKS, DBF_MENU) { + interest(2) + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("Alarm Ack Severity") + } + field(ACKT, DBF_MENU) { + menu(menuYesNo) + special(SPC_NOMOD) + prompt("Alarm Ack Transient") + interest(2) + promptgroup(GUI_ALARMS) + initial("YES") + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_SCAN) + } + field(LCNT, DBF_UCHAR) { + interest(2) + prompt("Lock Count") + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Record active") + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + interest(1) + prompt("Reprocess ") + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + interest(4) + prompt("Access Security Pvt") + special(SPC_NOMOD) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + special(SPC_NOMOD) + prompt("pprocessNotify") + interest(4) + } + field(PPNR, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + interest(4) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + prompt("Scan Private") + } + field(RSET, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Address of RSET") + interest(4) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + special(SPC_NOMOD) + prompt("DSET address") + } + field(DPVT, DBF_NOACCESS) { + interest(4) + prompt("Device Private") + special(SPC_NOMOD) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + prompt("Address of dbRecordType") + } + field(LSET, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Lock Set") + interest(4) + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuPriority) + prompt("Scheduling Priority") + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Break Point") + interest(1) + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + prompt("Undefined") + interest(1) + promptgroup(GUI_COMMON) + initial("1") + pp(TRUE) + } + field(UDFS, DBF_MENU) { + promptgroup(GUI_COMMON) + interest(1) + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Time") + interest(2) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup(GUI_LINKS) + interest(1) + } + field(VAL, DBF_DOUBLE) { + pp(TRUE) + prompt("Desired Output") + asl(ASL0) + } + field(SELM, DBF_MENU) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Select Mechanism") + menu(dfanoutSELM) + } + field(SELN, DBF_USHORT) { + prompt("Link Selection") + interest(1) + initial("1") + } + field(SELL, DBF_INLINK) { + prompt("Link Selection Loc") + promptgroup(GUI_LINKS) + interest(1) + } + field(OUTA, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_OUTPUT) + prompt("Output Spec A") + } + field(OUTB, DBF_OUTLINK) { + promptgroup(GUI_OUTPUT) + interest(1) + prompt("Output Spec B") + } + field(OUTC, DBF_OUTLINK) { + prompt("Output Spec C") + promptgroup(GUI_OUTPUT) + interest(1) + } + field(OUTD, DBF_OUTLINK) { + promptgroup(GUI_OUTPUT) + interest(1) + prompt("Output Spec D") + } + field(OUTE, DBF_OUTLINK) { + prompt("Output Spec E") + interest(1) + promptgroup(GUI_OUTPUT) + } + field(OUTF, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_OUTPUT) + prompt("Output Spec F") + } + field(OUTG, DBF_OUTLINK) { + prompt("Output Spec G") + interest(1) + promptgroup(GUI_OUTPUT) + } + field(OUTH, DBF_OUTLINK) { + prompt("Output Spec H") + promptgroup(GUI_OUTPUT) + interest(1) + } + field(DOL, DBF_INLINK) { + prompt("Desired Output Loc") + interest(1) + promptgroup(GUI_INPUTS) + } + field(OMSL, DBF_MENU) { + prompt("Output Mode Select") + menu(menuOmsl) + interest(1) + promptgroup(GUI_OUTPUT) + } + field(EGU, DBF_STRING) { + interest(1) + size(16) + promptgroup(GUI_DISPLAY) + prompt("Units name") + prop(YES) + } + field(PREC, DBF_SHORT) { + prop(YES) + prompt("Display Precision") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(HOPR, DBF_DOUBLE) { + prop(YES) + prompt("High Operating Range") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(LOPR, DBF_DOUBLE) { + prop(YES) + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Low Operating Range") + } + field(HIHI, DBF_DOUBLE) { + promptgroup(GUI_ALARMS) + interest(1) + prompt("Hihi Alarm Limit") + prop(YES) + pp(TRUE) + } + field(LOLO, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_ALARMS) + prompt("Lolo Alarm Limit") + pp(TRUE) + prop(YES) + } + field(HIGH, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_ALARMS) + prompt("High Alarm Limit") + prop(YES) + pp(TRUE) + } + field(LOW, DBF_DOUBLE) { + pp(TRUE) + prop(YES) + prompt("Low Alarm Limit") + promptgroup(GUI_ALARMS) + interest(1) + } + field(HHSV, DBF_MENU) { + interest(1) + promptgroup(GUI_ALARMS) + prompt("Hihi Severity") + menu(menuAlarmSevr) + prop(YES) + pp(TRUE) + } + field(LLSV, DBF_MENU) { + pp(TRUE) + prop(YES) + promptgroup(GUI_ALARMS) + interest(1) + menu(menuAlarmSevr) + prompt("Lolo Severity") + } + field(HSV, DBF_MENU) { + prop(YES) + pp(TRUE) + promptgroup(GUI_ALARMS) + interest(1) + menu(menuAlarmSevr) + prompt("High Severity") + } + field(LSV, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Low Severity") + interest(1) + promptgroup(GUI_ALARMS) + pp(TRUE) + prop(YES) + } + field(HYST, DBF_DOUBLE) { + prompt("Alarm Deadband") + promptgroup(GUI_ALARMS) + interest(1) + } + field(ADEL, DBF_DOUBLE) { + prompt("Archive Deadband") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(MDEL, DBF_DOUBLE) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Monitor Deadband") + } + field(LALM, DBF_DOUBLE) { + prompt("Last Value Alarmed") + special(SPC_NOMOD) + interest(3) + } + field(ALST, DBF_DOUBLE) { + prompt("Last Value Archived") + special(SPC_NOMOD) + interest(3) + } + field(MLST, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Last Val Monitored") + } +} +recordtype(longin) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + promptgroup(GUI_COMMON) + size(41) + } + field(ASG, DBF_STRING) { + special(SPC_AS) + prompt("Access Security Group") + promptgroup(GUI_COMMON) + size(29) + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuScan) + prompt("Scan Mechanism") + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Process at iocInit") + menu(menuPini) + } + field(PHAS, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scan Phase") + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + prompt("Event Name") + special(SPC_SCAN) + size(40) + interest(1) + promptgroup(GUI_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup(GUI_SCAN) + interest(1) + } + field(TSEL, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + initial("1") + promptgroup(GUI_SCAN) + prompt("Disable Value") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + prompt("Monitor lock") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + interest(4) + prompt("Monitor List") + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + interest(3) + prompt("Force Processing") + } + field(STAT, DBF_MENU) { + initial("UDF") + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("Alarm Status") + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Alarm Severity") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + interest(2) + prompt("New Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + interest(2) + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("New Alarm Severity") + } + field(ACKS, DBF_MENU) { + interest(2) + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + promptgroup(GUI_ALARMS) + interest(2) + menu(menuYesNo) + prompt("Alarm Ack Transient") + special(SPC_NOMOD) + initial("YES") + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup(GUI_SCAN) + interest(1) + } + field(LCNT, DBF_UCHAR) { + interest(2) + prompt("Lock Count") + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Record active") + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + interest(1) + prompt("Reprocess ") + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + prompt("Access Security Pvt") + special(SPC_NOMOD) + interest(4) + } + field(PPN, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("pprocessNotify") + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + interest(4) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + interest(4) + prompt("Scan Private") + special(SPC_NOMOD) + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Address of RSET") + interest(4) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + interest(4) + prompt("DSET address") + special(SPC_NOMOD) + extra("struct dset *dset") + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + prompt("Device Private") + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + prompt("Address of dbRecordType") + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + prompt("Lock Set") + special(SPC_NOMOD) + interest(4) + } + field(PRIO, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuPriority) + special(SPC_SCAN) + prompt("Scheduling Priority") + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + special(SPC_NOMOD) + prompt("Break Point") + interest(1) + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + promptgroup(GUI_COMMON) + interest(1) + prompt("Undefined") + initial("1") + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup(GUI_COMMON) + interest(1) + } + field(TIME, DBF_NOACCESS) { + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + prompt("Time") + } + field(FLNK, DBF_FWDLINK) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Forward Process Link") + } + field(VAL, DBF_LONG) { + asl(ASL0) + prompt("Current value") + promptgroup(GUI_INPUTS) + pp(TRUE) + } + field(INP, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Input Specification") + } + field(EGU, DBF_STRING) { + prompt("Units name") + size(16) + promptgroup(GUI_DISPLAY) + interest(1) + prop(YES) + } + field(HOPR, DBF_LONG) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("High Operating Range") + prop(YES) + } + field(LOPR, DBF_LONG) { + prop(YES) + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Low Operating Range") + } + field(HIHI, DBF_LONG) { + pp(TRUE) + prop(YES) + prompt("Hihi Alarm Limit") + interest(1) + promptgroup(GUI_ALARMS) + } + field(LOLO, DBF_LONG) { + prop(YES) + pp(TRUE) + interest(1) + promptgroup(GUI_ALARMS) + prompt("Lolo Alarm Limit") + } + field(HIGH, DBF_LONG) { + prop(YES) + pp(TRUE) + interest(1) + promptgroup(GUI_ALARMS) + prompt("High Alarm Limit") + } + field(LOW, DBF_LONG) { + prompt("Low Alarm Limit") + promptgroup(GUI_ALARMS) + interest(1) + pp(TRUE) + prop(YES) + } + field(HHSV, DBF_MENU) { + promptgroup(GUI_ALARMS) + interest(1) + menu(menuAlarmSevr) + prompt("Hihi Severity") + pp(TRUE) + } + field(LLSV, DBF_MENU) { + pp(TRUE) + interest(1) + promptgroup(GUI_ALARMS) + prompt("Lolo Severity") + menu(menuAlarmSevr) + } + field(HSV, DBF_MENU) { + interest(1) + promptgroup(GUI_ALARMS) + prompt("High Severity") + menu(menuAlarmSevr) + pp(TRUE) + } + field(LSV, DBF_MENU) { + pp(TRUE) + menu(menuAlarmSevr) + prompt("Low Severity") + interest(1) + promptgroup(GUI_ALARMS) + } + field(HYST, DBF_LONG) { + prompt("Alarm Deadband") + promptgroup(GUI_ALARMS) + interest(1) + } + field(AFTC, DBF_DOUBLE) { + prompt("Alarm Filter Time Constant") + promptgroup(GUI_ALARMS) + interest(1) + } + field(AFVL, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Alarm Filter Value") + interest(3) + } + field(ADEL, DBF_LONG) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Archive Deadband") + } + field(MDEL, DBF_LONG) { + prompt("Monitor Deadband") + interest(1) + promptgroup(GUI_DISPLAY) + } + field(LALM, DBF_LONG) { + prompt("Last Value Alarmed") + special(SPC_NOMOD) + interest(3) + } + field(ALST, DBF_LONG) { + special(SPC_NOMOD) + prompt("Last Value Archived") + interest(3) + } + field(MLST, DBF_LONG) { + prompt("Last Val Monitored") + special(SPC_NOMOD) + interest(3) + } + field(SIOL, DBF_INLINK) { + prompt("Sim Input Specifctn") + promptgroup(GUI_INPUTS) + interest(1) + } + field(SVAL, DBF_LONG) { + prompt("Simulation Value") + } + field(SIML, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Sim Mode Location") + } + field(SIMM, DBF_MENU) { + interest(1) + prompt("Simulation Mode") + menu(menuYesNo) + } + field(SIMS, DBF_MENU) { + prompt("Sim mode Alarm Svrty") + menu(menuAlarmSevr) + interest(2) + promptgroup(GUI_INPUTS) + } +} +device(longin, CONSTANT, devLiSoft, "Soft Channel") +device(longin, CONSTANT, devLiSoftCallback, "Async Soft Channel") +device(longin, INST_IO, devLiGeneralTime, "General Time") +device(longin, INST_IO, asynLiInt32, "asynInt32") +device(longin, INST_IO, asynLiUInt32Digital, "asynUInt32Digital") +device(longin, INST_IO, devlonginStream, "stream") +recordtype(seq) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + prompt("Record Name") + special(SPC_NOMOD) + size(61) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + promptgroup(GUI_COMMON) + size(41) + } + field(ASG, DBF_STRING) { + special(SPC_AS) + prompt("Access Security Group") + size(29) + promptgroup(GUI_COMMON) + } + field(SCAN, DBF_MENU) { + special(SPC_SCAN) + menu(menuScan) + prompt("Scan Mechanism") + interest(1) + promptgroup(GUI_SCAN) + } + field(PINI, DBF_MENU) { + menu(menuPini) + prompt("Process at iocInit") + promptgroup(GUI_SCAN) + interest(1) + } + field(PHAS, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + special(SPC_SCAN) + prompt("Scan Phase") + } + field(EVNT, DBF_STRING) { + prompt("Event Name") + special(SPC_SCAN) + size(40) + interest(1) + promptgroup(GUI_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup(GUI_SCAN) + interest(1) + } + field(TSEL, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + promptgroup(GUI_SCAN) + prompt("Disable Value") + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + interest(4) + prompt("Monitor lock") + special(SPC_NOMOD) + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + prompt("Monitor List") + special(SPC_NOMOD) + interest(4) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + prompt("Force Processing") + interest(3) + pp(TRUE) + } + field(STAT, DBF_MENU) { + initial("UDF") + menu(menuAlarmStat) + prompt("Alarm Status") + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Severity") + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + interest(2) + } + field(NSEV, DBF_MENU) { + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("New Alarm Severity") + interest(2) + } + field(ACKS, DBF_MENU) { + interest(2) + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + } + field(ACKT, DBF_MENU) { + initial("YES") + promptgroup(GUI_ALARMS) + interest(2) + special(SPC_NOMOD) + menu(menuYesNo) + prompt("Alarm Ack Transient") + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup(GUI_SCAN) + interest(1) + } + field(LCNT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Lock Count") + interest(2) + } + field(PACT, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Record active") + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Reprocess ") + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + special(SPC_NOMOD) + interest(4) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + special(SPC_NOMOD) + prompt("pprocessNotify") + interest(4) + } + field(PPNR, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + prompt("Scan Private") + } + field(RSET, DBF_NOACCESS) { + extra("struct rset *rset") + special(SPC_NOMOD) + prompt("Address of RSET") + interest(4) + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + special(SPC_NOMOD) + prompt("DSET address") + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + special(SPC_NOMOD) + interest(4) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + interest(4) + prompt("Lock Set") + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + menu(menuPriority) + special(SPC_SCAN) + prompt("Scheduling Priority") + interest(1) + promptgroup(GUI_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + interest(1) + prompt("Break Point") + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + initial("1") + prompt("Undefined") + interest(1) + promptgroup(GUI_COMMON) + } + field(UDFS, DBF_MENU) { + promptgroup(GUI_COMMON) + interest(1) + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + special(SPC_NOMOD) + interest(2) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Process Link") + } + field(VAL, DBF_LONG) { + asl(ASL0) + prompt("Used to trigger") + pp(TRUE) + } + field(SELM, DBF_MENU) { + prompt("Select Mechanism") + menu(seqSELM) + interest(1) + promptgroup(GUI_INPUTS) + } + field(SELN, DBF_USHORT) { + initial("1") + interest(1) + prompt("Link Selection") + } + field(SELL, DBF_INLINK) { + prompt("Link Selection Loc") + promptgroup(GUI_INPUTS) + interest(1) + } + field(OFFS, DBF_SHORT) { + prompt("Offset for Specified") + interest(1) + initial("0") + } + field(SHFT, DBF_SHORT) { + prompt("Shift for Mask mode") + interest(1) + initial("-1") + } + field(OLDN, DBF_USHORT) { + interest(4) + prompt("Old Selection") + } + field(PREC, DBF_SHORT) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Display Precision") + } + field(DLY0, DBF_DOUBLE) { + prompt("Delay 0") + promptgroup(GUI_SEQ1) + interest(1) + } + field(DOL0, DBF_INLINK) { + interest(1) + promptgroup(GUI_SEQ1) + prompt("Input link 0") + } + field(DO0, DBF_DOUBLE) { + interest(1) + prompt("Value 0") + } + field(LNK0, DBF_OUTLINK) { + prompt("Output Link 0") + interest(1) + promptgroup(GUI_SEQ1) + } + field(DLY1, DBF_DOUBLE) { + prompt("Delay 1") + interest(1) + promptgroup(GUI_SEQ1) + } + field(DOL1, DBF_INLINK) { + promptgroup(GUI_SEQ1) + interest(1) + prompt("Input link1") + } + field(DO1, DBF_DOUBLE) { + prompt("Value 1") + interest(1) + } + field(LNK1, DBF_OUTLINK) { + promptgroup(GUI_SEQ1) + interest(1) + prompt("Output Link 1") + } + field(DLY2, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_SEQ1) + prompt("Delay 2") + } + field(DOL2, DBF_INLINK) { + promptgroup(GUI_SEQ1) + interest(1) + prompt("Input link 2") + } + field(DO2, DBF_DOUBLE) { + interest(1) + prompt("Value 2") + } + field(LNK2, DBF_OUTLINK) { + prompt("Output Link 2") + promptgroup(GUI_SEQ1) + interest(1) + } + field(DLY3, DBF_DOUBLE) { + prompt("Delay 3") + interest(1) + promptgroup(GUI_SEQ1) + } + field(DOL3, DBF_INLINK) { + prompt("Input link 3") + interest(1) + promptgroup(GUI_SEQ1) + } + field(DO3, DBF_DOUBLE) { + prompt("Value 3") + interest(1) + } + field(LNK3, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_SEQ1) + prompt("Output Link 3") + } + field(DLY4, DBF_DOUBLE) { + prompt("Delay 4") + promptgroup(GUI_SEQ2) + interest(1) + } + field(DOL4, DBF_INLINK) { + prompt("Input link 4") + interest(1) + promptgroup(GUI_SEQ2) + } + field(DO4, DBF_DOUBLE) { + prompt("Value 4") + interest(1) + } + field(LNK4, DBF_OUTLINK) { + promptgroup(GUI_SEQ2) + interest(1) + prompt("Output Link 4") + } + field(DLY5, DBF_DOUBLE) { + prompt("Delay 5") + promptgroup(GUI_SEQ2) + interest(1) + } + field(DOL5, DBF_INLINK) { + prompt("Input link 5") + promptgroup(GUI_SEQ2) + interest(1) + } + field(DO5, DBF_DOUBLE) { + prompt("Value 5") + interest(1) + } + field(LNK5, DBF_OUTLINK) { + prompt("Output Link 5") + promptgroup(GUI_SEQ2) + interest(1) + } + field(DLY6, DBF_DOUBLE) { + prompt("Delay 6") + interest(1) + promptgroup(GUI_SEQ2) + } + field(DOL6, DBF_INLINK) { + promptgroup(GUI_SEQ2) + interest(1) + prompt("Input link 6") + } + field(DO6, DBF_DOUBLE) { + prompt("Value 6") + interest(1) + } + field(LNK6, DBF_OUTLINK) { + promptgroup(GUI_SEQ2) + interest(1) + prompt("Output Link 6") + } + field(DLY7, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_SEQ3) + prompt("Delay 7") + } + field(DOL7, DBF_INLINK) { + prompt("Input link 7") + promptgroup(GUI_SEQ3) + interest(1) + } + field(DO7, DBF_DOUBLE) { + prompt("Value 7") + interest(1) + } + field(LNK7, DBF_OUTLINK) { + promptgroup(GUI_SEQ3) + interest(1) + prompt("Output Link 7") + } + field(DLY8, DBF_DOUBLE) { + promptgroup(GUI_SEQ3) + interest(1) + prompt("Delay 8") + } + field(DOL8, DBF_INLINK) { + prompt("Input link 8") + interest(1) + promptgroup(GUI_SEQ3) + } + field(DO8, DBF_DOUBLE) { + prompt("Value 8") + interest(1) + } + field(LNK8, DBF_OUTLINK) { + prompt("Output Link 8") + promptgroup(GUI_SEQ3) + interest(1) + } + field(DLY9, DBF_DOUBLE) { + prompt("Delay 9") + interest(1) + promptgroup(GUI_SEQ3) + } + field(DOL9, DBF_INLINK) { + promptgroup(GUI_SEQ3) + interest(1) + prompt("Input link 9") + } + field(DO9, DBF_DOUBLE) { + prompt("Value 9") + interest(1) + } + field(LNK9, DBF_OUTLINK) { + prompt("Output Link 9") + promptgroup(GUI_SEQ3) + interest(1) + } + field(DLYA, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_SEQ3) + prompt("Delay 10") + } + field(DOLA, DBF_INLINK) { + prompt("Input link 10") + interest(1) + promptgroup(GUI_SEQ3) + } + field(DOA, DBF_DOUBLE) { + interest(1) + prompt("Value 10") + } + field(LNKA, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_SEQ3) + prompt("Output Link 10") + } + field(DLYB, DBF_DOUBLE) { + prompt("Delay 11") + promptgroup(GUI_SEQ3) + interest(1) + } + field(DOLB, DBF_INLINK) { + interest(1) + promptgroup(GUI_SEQ3) + prompt("Input link 11") + } + field(DOB, DBF_DOUBLE) { + prompt("Value 11") + interest(1) + } + field(LNKB, DBF_OUTLINK) { + promptgroup(GUI_SEQ3) + interest(1) + prompt("Output Link 11") + } + field(DLYC, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_SEQ3) + prompt("Delay 12") + } + field(DOLC, DBF_INLINK) { + prompt("Input link 12") + promptgroup(GUI_SEQ3) + interest(1) + } + field(DOC, DBF_DOUBLE) { + prompt("Value 12") + interest(1) + } + field(LNKC, DBF_OUTLINK) { + prompt("Output Link 12") + promptgroup(GUI_SEQ3) + interest(1) + } + field(DLYD, DBF_DOUBLE) { + prompt("Delay 13") + promptgroup(GUI_SEQ3) + interest(1) + } + field(DOLD, DBF_INLINK) { + interest(1) + promptgroup(GUI_SEQ3) + prompt("Input link 13") + } + field(DOD, DBF_DOUBLE) { + prompt("Value 13") + interest(1) + } + field(LNKD, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_SEQ3) + prompt("Output Link 13") + } + field(DLYE, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_SEQ3) + prompt("Delay 14") + } + field(DOLE, DBF_INLINK) { + prompt("Input link 14") + promptgroup(GUI_SEQ3) + interest(1) + } + field(DOE, DBF_DOUBLE) { + interest(1) + prompt("Value 14") + } + field(LNKE, DBF_OUTLINK) { + promptgroup(GUI_SEQ3) + interest(1) + prompt("Output Link 14") + } + field(DLYF, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_SEQ3) + prompt("Delay 15") + } + field(DOLF, DBF_INLINK) { + prompt("Input link 15") + promptgroup(GUI_SEQ3) + interest(1) + } + field(DOF, DBF_DOUBLE) { + interest(1) + prompt("Value 15") + } + field(LNKF, DBF_OUTLINK) { + prompt("Output Link 15") + promptgroup(GUI_SEQ3) + interest(1) + } +} +recordtype(scalcout) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + special(SPC_NOMOD) + prompt("Record Name") + size(61) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + size(41) + promptgroup(GUI_COMMON) + } + field(ASG, DBF_STRING) { + promptgroup(GUI_COMMON) + size(29) + prompt("Access Security Group") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + special(SPC_SCAN) + menu(menuScan) + prompt("Scan Mechanism") + promptgroup(GUI_SCAN) + interest(1) + } + field(PINI, DBF_MENU) { + menu(menuPini) + prompt("Process at iocInit") + promptgroup(GUI_SCAN) + interest(1) + } + field(PHAS, DBF_SHORT) { + special(SPC_SCAN) + prompt("Scan Phase") + promptgroup(GUI_SCAN) + interest(1) + } + field(EVNT, DBF_STRING) { + interest(1) + size(40) + promptgroup(GUI_SCAN) + prompt("Event Name") + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + interest(1) + promptgroup(GUI_SCAN) + } + field(DTYP, DBF_DEVICE) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + promptgroup(GUI_SCAN) + prompt("Disable Value") + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + prompt("Monitor lock") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + prompt("Monitor List") + special(SPC_NOMOD) + interest(4) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + interest(3) + prompt("Force Processing") + pp(TRUE) + } + field(STAT, DBF_MENU) { + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("Alarm Status") + initial("UDF") + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("Alarm Severity") + } + field(NSTA, DBF_MENU) { + interest(2) + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("New Alarm Status") + } + field(NSEV, DBF_MENU) { + interest(2) + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("New Alarm Severity") + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + interest(2) + } + field(ACKT, DBF_MENU) { + initial("YES") + promptgroup(GUI_ALARMS) + interest(2) + menu(menuYesNo) + special(SPC_NOMOD) + prompt("Alarm Ack Transient") + } + field(DISS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + interest(1) + promptgroup(GUI_SCAN) + } + field(LCNT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Lock Count") + interest(2) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + special(SPC_NOMOD) + interest(1) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + special(SPC_NOMOD) + interest(1) + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + interest(4) + prompt("Access Security Pvt") + special(SPC_NOMOD) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + prompt("pprocessNotify") + } + field(PPNR, DBF_NOACCESS) { + extra("struct processNotifyRecord *ppnr") + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + interest(4) + } + field(SPVT, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Scan Private") + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + extra("struct rset *rset") + prompt("Address of RSET") + special(SPC_NOMOD) + interest(4) + } + field(DSET, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("DSET address") + interest(4) + extra("struct dset *dset") + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + prompt("Device Private") + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + prompt("Address of dbRecordType") + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + special(SPC_NOMOD) + prompt("Lock Set") + interest(4) + } + field(PRIO, DBF_MENU) { + menu(menuPriority) + prompt("Scheduling Priority") + special(SPC_SCAN) + interest(1) + promptgroup(GUI_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + interest(1) + prompt("Break Point") + special(SPC_NOMOD) + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + prompt("Undefined") + promptgroup(GUI_COMMON) + interest(1) + initial("1") + pp(TRUE) + } + field(UDFS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + interest(1) + promptgroup(GUI_COMMON) + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + extra("epicsTimeStamp time") + prompt("Time") + special(SPC_NOMOD) + interest(2) + } + field(FLNK, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Process Link") + } + field(VERS, DBF_DOUBLE) { + initial("1") + prompt("Code Version") + special(SPC_NOMOD) + } + field(RPVT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Record Private") + size(4) + interest(4) + extra("void *rpvt") + } + field(VAL, DBF_DOUBLE) { + prompt("Result") + asl(ASL0) + } + field(SVAL, DBF_STRING) { + prompt("String result") + asl(ASL0) + size(40) + } + field(PVAL, DBF_DOUBLE) { + prompt("Previous Value") + } + field(PSVL, DBF_STRING) { + size(40) + prompt("Previous string result") + special(SPC_NOMOD) + } + field(CALC, DBF_STRING) { + special(SPC_MOD) + prompt("Calculation") + size(80) + promptgroup(GUI_CALC) + pp(TRUE) + } + field(CLCV, DBF_LONG) { + prompt("CALC Valid") + interest(1) + } + field(INPA, DBF_INLINK) { + special(SPC_MOD) + prompt("Input A") + interest(1) + promptgroup(GUI_CALC) + } + field(INPB, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + special(SPC_MOD) + prompt("Input B") + } + field(INPC, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + special(SPC_MOD) + prompt("Input C") + } + field(INPD, DBF_INLINK) { + special(SPC_MOD) + prompt("Input D") + interest(1) + promptgroup(GUI_CALC) + } + field(INPE, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + special(SPC_MOD) + prompt("Input E") + } + field(INPF, DBF_INLINK) { + special(SPC_MOD) + prompt("Input F") + promptgroup(GUI_CALC) + interest(1) + } + field(INPG, DBF_INLINK) { + prompt("Input G") + special(SPC_MOD) + interest(1) + promptgroup(GUI_CALC) + } + field(INPH, DBF_INLINK) { + prompt("Input H") + special(SPC_MOD) + interest(1) + promptgroup(GUI_CALC) + } + field(INPI, DBF_INLINK) { + special(SPC_MOD) + prompt("Input I") + interest(1) + promptgroup(GUI_CALC) + } + field(INPJ, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + special(SPC_MOD) + prompt("Input J") + } + field(INPK, DBF_INLINK) { + special(SPC_MOD) + prompt("Input K") + promptgroup(GUI_CALC) + interest(1) + } + field(INPL, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + prompt("Input L") + special(SPC_MOD) + } + field(INAA, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + special(SPC_MOD) + prompt("String input AA") + } + field(INBB, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + prompt("String input BB") + special(SPC_MOD) + } + field(INCC, DBF_INLINK) { + prompt("String input CC") + special(SPC_MOD) + promptgroup(GUI_CALC) + interest(1) + } + field(INDD, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + special(SPC_MOD) + prompt("String input DD") + } + field(INEE, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + special(SPC_MOD) + prompt("String input EE") + } + field(INFF, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + prompt("String input FF") + special(SPC_MOD) + } + field(INGG, DBF_INLINK) { + special(SPC_MOD) + prompt("String input GG") + interest(1) + promptgroup(GUI_CALC) + } + field(INHH, DBF_INLINK) { + special(SPC_MOD) + prompt("String input HH") + interest(1) + promptgroup(GUI_CALC) + } + field(INII, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + prompt("String input II") + special(SPC_MOD) + } + field(INJJ, DBF_INLINK) { + prompt("String input JJ") + special(SPC_MOD) + promptgroup(GUI_CALC) + interest(1) + } + field(INKK, DBF_INLINK) { + special(SPC_MOD) + prompt("String input KK") + promptgroup(GUI_CALC) + interest(1) + } + field(INLL, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + prompt("String input LL") + special(SPC_MOD) + } + field(OUT, DBF_OUTLINK) { + prompt("Output Link") + special(SPC_MOD) + interest(1) + promptgroup(GUI_OUTPUT) + } + field(INAV, DBF_MENU) { + initial("1") + special(SPC_NOMOD) + menu(scalcoutINAV) + prompt("INPA PV Status") + interest(1) + } + field(INBV, DBF_MENU) { + initial("1") + special(SPC_NOMOD) + menu(scalcoutINAV) + prompt("INPB PV Status") + interest(1) + } + field(INCV, DBF_MENU) { + menu(scalcoutINAV) + special(SPC_NOMOD) + prompt("INPC PV Status") + interest(1) + initial("1") + } + field(INDV, DBF_MENU) { + interest(1) + menu(scalcoutINAV) + prompt("INPD PV Status") + special(SPC_NOMOD) + initial("1") + } + field(INEV, DBF_MENU) { + prompt("INPE PV Status") + menu(scalcoutINAV) + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(INFV, DBF_MENU) { + initial("1") + interest(1) + menu(scalcoutINAV) + prompt("INPF PV Status") + special(SPC_NOMOD) + } + field(INGV, DBF_MENU) { + menu(scalcoutINAV) + special(SPC_NOMOD) + prompt("INPG PV Status") + interest(1) + initial("1") + } + field(INHV, DBF_MENU) { + initial("1") + menu(scalcoutINAV) + special(SPC_NOMOD) + prompt("INPH PV Status") + interest(1) + } + field(INIV, DBF_MENU) { + initial("1") + special(SPC_NOMOD) + menu(scalcoutINAV) + prompt("INPI PV Status") + interest(1) + } + field(INJV, DBF_MENU) { + initial("1") + menu(scalcoutINAV) + prompt("INPJ PV Status") + special(SPC_NOMOD) + interest(1) + } + field(INKV, DBF_MENU) { + special(SPC_NOMOD) + menu(scalcoutINAV) + prompt("INPK PV Status") + interest(1) + initial("1") + } + field(INLV, DBF_MENU) { + initial("1") + special(SPC_NOMOD) + menu(scalcoutINAV) + prompt("INPL PV Status") + interest(1) + } + field(IAAV, DBF_MENU) { + interest(1) + prompt("INAA PV Status") + menu(scalcoutINAV) + special(SPC_NOMOD) + initial("1") + } + field(IBBV, DBF_MENU) { + prompt("INBB PV Status") + menu(scalcoutINAV) + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(ICCV, DBF_MENU) { + interest(1) + menu(scalcoutINAV) + prompt("INCC PV Status") + special(SPC_NOMOD) + initial("1") + } + field(IDDV, DBF_MENU) { + interest(1) + special(SPC_NOMOD) + menu(scalcoutINAV) + prompt("INDD PV Status") + initial("1") + } + field(IEEV, DBF_MENU) { + initial("1") + menu(scalcoutINAV) + special(SPC_NOMOD) + prompt("INEE PV Status") + interest(1) + } + field(IFFV, DBF_MENU) { + initial("1") + menu(scalcoutINAV) + special(SPC_NOMOD) + prompt("INFF PV Status") + interest(1) + } + field(IGGV, DBF_MENU) { + prompt("INGG PV Status") + menu(scalcoutINAV) + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(IHHV, DBF_MENU) { + menu(scalcoutINAV) + prompt("INHH PV Status") + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(IIIV, DBF_MENU) { + initial("1") + interest(1) + menu(scalcoutINAV) + prompt("INII PV Status") + special(SPC_NOMOD) + } + field(IJJV, DBF_MENU) { + initial("1") + interest(1) + menu(scalcoutINAV) + special(SPC_NOMOD) + prompt("INJJ PV Status") + } + field(IKKV, DBF_MENU) { + interest(1) + special(SPC_NOMOD) + menu(scalcoutINAV) + prompt("INKK PV Status") + initial("1") + } + field(ILLV, DBF_MENU) { + initial("1") + special(SPC_NOMOD) + menu(scalcoutINAV) + prompt("INLL PV Status") + interest(1) + } + field(OUTV, DBF_MENU) { + interest(1) + menu(scalcoutINAV) + special(SPC_NOMOD) + prompt("OUT PV Status") + } + field(OOPT, DBF_MENU) { + prompt("Output Execute Opt") + menu(scalcoutOOPT) + interest(1) + promptgroup(GUI_CALC) + } + field(ODLY, DBF_DOUBLE) { + prompt("Output Execute Delay") + asl(ASL0) + promptgroup(GUI_ALARMS) + interest(1) + } + field(WAIT, DBF_MENU) { + prompt("Wait for completion?") + menu(scalcoutWAIT) + interest(1) + } + field(DLYA, DBF_USHORT) { + prompt("Output Delay Active") + asl(ASL0) + special(SPC_NOMOD) + } + field(DOPT, DBF_MENU) { + interest(1) + promptgroup(GUI_CALC) + prompt("Output Data Opt") + menu(scalcoutDOPT) + } + field(OCAL, DBF_STRING) { + special(SPC_MOD) + prompt("Output Calculation") + size(80) + promptgroup(GUI_CALC) + pp(TRUE) + } + field(OCLV, DBF_LONG) { + interest(1) + prompt("OCAL Valid") + } + field(OEVT, DBF_USHORT) { + promptgroup(GUI_CLOCK) + asl(ASL0) + prompt("Event To Issue") + } + field(IVOA, DBF_MENU) { + promptgroup(GUI_OUTPUT) + interest(2) + prompt("INVALID output action") + menu(menuIvoa) + } + field(IVOV, DBF_DOUBLE) { + promptgroup(GUI_OUTPUT) + interest(2) + prompt("INVALID output value") + } + field(EGU, DBF_STRING) { + size(16) + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Units Name") + } + field(PREC, DBF_SHORT) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Display Precision") + } + field(HOPR, DBF_DOUBLE) { + prompt("High Operating Rng") + interest(1) + promptgroup(GUI_DISPLAY) + } + field(LOPR, DBF_DOUBLE) { + prompt("Low Operating Range") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(HIHI, DBF_DOUBLE) { + pp(TRUE) + interest(1) + promptgroup(GUI_ALARMS) + prompt("Hihi Alarm Limit") + } + field(LOLO, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_ALARMS) + prompt("Lolo Alarm Limit") + pp(TRUE) + } + field(HIGH, DBF_DOUBLE) { + prompt("High Alarm Limit") + promptgroup(GUI_ALARMS) + interest(1) + pp(TRUE) + } + field(LOW, DBF_DOUBLE) { + prompt("Low Alarm Limit") + interest(1) + promptgroup(GUI_ALARMS) + pp(TRUE) + } + field(HHSV, DBF_MENU) { + pp(TRUE) + promptgroup(GUI_ALARMS) + interest(1) + menu(menuAlarmSevr) + prompt("Hihi Severity") + } + field(LLSV, DBF_MENU) { + pp(TRUE) + interest(1) + promptgroup(GUI_ALARMS) + prompt("Lolo Severity") + menu(menuAlarmSevr) + } + field(HSV, DBF_MENU) { + promptgroup(GUI_ALARMS) + interest(1) + menu(menuAlarmSevr) + prompt("High Severity") + pp(TRUE) + } + field(LSV, DBF_MENU) { + promptgroup(GUI_ALARMS) + interest(1) + menu(menuAlarmSevr) + prompt("Low Severity") + pp(TRUE) + } + field(HYST, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_ALARMS) + prompt("Alarm Deadband") + } + field(ADEL, DBF_DOUBLE) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Archive Deadband") + } + field(MDEL, DBF_DOUBLE) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Monitor Deadband") + } + field(A, DBF_DOUBLE) { + pp(TRUE) + promptgroup(GUI_COMMON) + prompt("Value of Input A") + } + field(B, DBF_DOUBLE) { + prompt("Value of Input B") + promptgroup(GUI_COMMON) + pp(TRUE) + } + field(C, DBF_DOUBLE) { + pp(TRUE) + promptgroup(GUI_COMMON) + prompt("Value of Input C") + } + field(D, DBF_DOUBLE) { + promptgroup(GUI_COMMON) + prompt("Value of Input D") + pp(TRUE) + } + field(E, DBF_DOUBLE) { + promptgroup(GUI_COMMON) + prompt("Value of Input E") + pp(TRUE) + } + field(F, DBF_DOUBLE) { + promptgroup(GUI_COMMON) + prompt("Value of Input F") + pp(TRUE) + } + field(G, DBF_DOUBLE) { + promptgroup(GUI_COMMON) + prompt("Value of Input G") + pp(TRUE) + } + field(H, DBF_DOUBLE) { + prompt("Value of Input H") + promptgroup(GUI_COMMON) + pp(TRUE) + } + field(I, DBF_DOUBLE) { + pp(TRUE) + promptgroup(GUI_COMMON) + prompt("Value of Input I") + } + field(J, DBF_DOUBLE) { + prompt("Value of Input J") + promptgroup(GUI_COMMON) + pp(TRUE) + } + field(K, DBF_DOUBLE) { + pp(TRUE) + promptgroup(GUI_COMMON) + prompt("Value of Input K") + } + field(L, DBF_DOUBLE) { + prompt("Value of Input L") + promptgroup(GUI_COMMON) + pp(TRUE) + } + field(STRS, DBF_NOACCESS) { + prompt("Array of string pointers") + size(4) + interest(4) + extra("char **strs") + } + field(AA, DBF_STRING) { + promptgroup(GUI_COMMON) + size(40) + interest(4) + prompt("Value of string input AA") + pp(TRUE) + } + field(BB, DBF_STRING) { + pp(TRUE) + prompt("Value of string input BB") + size(40) + promptgroup(GUI_COMMON) + interest(4) + } + field(CC, DBF_STRING) { + pp(TRUE) + interest(4) + size(40) + promptgroup(GUI_COMMON) + prompt("Value of string input CC") + } + field(DD, DBF_STRING) { + pp(TRUE) + prompt("Value of string input DD") + size(40) + interest(4) + promptgroup(GUI_COMMON) + } + field(EE, DBF_STRING) { + pp(TRUE) + size(40) + promptgroup(GUI_COMMON) + interest(4) + prompt("Value of string input EE") + } + field(FF, DBF_STRING) { + pp(TRUE) + prompt("Value of string input FF") + size(40) + promptgroup(GUI_COMMON) + interest(4) + } + field(GG, DBF_STRING) { + pp(TRUE) + interest(4) + size(40) + promptgroup(GUI_COMMON) + prompt("Value of string input GG") + } + field(HH, DBF_STRING) { + pp(TRUE) + interest(4) + size(40) + promptgroup(GUI_COMMON) + prompt("Value of string input HH") + } + field(II, DBF_STRING) { + pp(TRUE) + prompt("Value of string input II") + size(40) + interest(4) + promptgroup(GUI_COMMON) + } + field(JJ, DBF_STRING) { + interest(4) + size(40) + promptgroup(GUI_COMMON) + prompt("Value of string input JJ") + pp(TRUE) + } + field(KK, DBF_STRING) { + pp(TRUE) + size(40) + promptgroup(GUI_COMMON) + interest(4) + prompt("Value of string input KK") + } + field(LL, DBF_STRING) { + pp(TRUE) + prompt("Value of string input LL") + size(40) + interest(4) + promptgroup(GUI_COMMON) + } + field(PAA, DBF_NOACCESS) { + interest(4) + size(4) + special(SPC_DBADDR) + prompt("Prev Value of AA") + extra("char *paa") + } + field(PBB, DBF_NOACCESS) { + prompt("Prev Value of BB") + special(SPC_DBADDR) + size(4) + interest(4) + extra("char *pbb") + } + field(PCC, DBF_NOACCESS) { + prompt("Prev Value of CC") + special(SPC_DBADDR) + interest(4) + size(4) + extra("char *pcc") + } + field(PDD, DBF_NOACCESS) { + extra("char *pdd") + interest(4) + size(4) + prompt("Prev Value of DD") + special(SPC_DBADDR) + } + field(PEE, DBF_NOACCESS) { + extra("char *pee") + special(SPC_DBADDR) + prompt("Prev Value of EE") + interest(4) + size(4) + } + field(PFF, DBF_NOACCESS) { + prompt("Prev Value of FF") + special(SPC_DBADDR) + size(4) + interest(4) + extra("char *pff") + } + field(PGG, DBF_NOACCESS) { + size(4) + interest(4) + prompt("Prev Value of GG") + special(SPC_DBADDR) + extra("char *pgg") + } + field(PHH, DBF_NOACCESS) { + extra("char *phh") + size(4) + interest(4) + prompt("Prev Value of HH") + special(SPC_DBADDR) + } + field(PII, DBF_NOACCESS) { + size(4) + interest(4) + special(SPC_DBADDR) + prompt("Prev Value of II") + extra("char *pii") + } + field(PJJ, DBF_NOACCESS) { + prompt("Prev Value of JJ") + special(SPC_DBADDR) + interest(4) + size(4) + extra("char *pjj") + } + field(PKK, DBF_NOACCESS) { + special(SPC_DBADDR) + prompt("Prev Value of KK") + size(4) + interest(4) + extra("char *pkk") + } + field(PLL, DBF_NOACCESS) { + extra("char *pll") + special(SPC_DBADDR) + prompt("Prev Value of LL") + size(4) + interest(4) + } + field(OVAL, DBF_DOUBLE) { + asl(ASL0) + prompt("Output Value") + } + field(OSV, DBF_STRING) { + prompt("Output string value") + asl(ASL0) + size(40) + } + field(POSV, DBF_STRING) { + size(40) + prompt("Previous output string value") + special(SPC_NOMOD) + } + field(PA, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of A") + interest(3) + } + field(PB, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Value of B") + } + field(PC, DBF_DOUBLE) { + prompt("Prev Value of C") + special(SPC_NOMOD) + interest(3) + } + field(PD, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of D") + special(SPC_NOMOD) + } + field(PE, DBF_DOUBLE) { + prompt("Prev Value of E") + special(SPC_NOMOD) + interest(3) + } + field(PF, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of F") + interest(3) + } + field(PG, DBF_DOUBLE) { + prompt("Prev Value of G") + special(SPC_NOMOD) + interest(3) + } + field(PH, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of H") + interest(3) + } + field(PI, DBF_DOUBLE) { + prompt("Prev Value of I") + special(SPC_NOMOD) + interest(3) + } + field(PJ, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Value of J") + } + field(PK, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Value of K") + } + field(PL, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of L") + special(SPC_NOMOD) + } + field(POVL, DBF_DOUBLE) { + prompt("Prev Value of OVAL") + asl(ASL0) + } + field(LALM, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Last Value Alarmed") + interest(3) + } + field(ALST, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Last Value Archived") + } + field(MLST, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Last Val Monitored") + interest(3) + } + field(RPCL, DBF_NOACCESS) { + interest(4) + prompt("Postfix Calc") + special(SPC_NOMOD) + extra("unsigned char rpcl[282]") + } + field(ORPC, DBF_NOACCESS) { + extra("unsigned char orpc[282]") + prompt("Postfix OCalc") + special(SPC_NOMOD) + interest(4) + } +} +device(scalcout, CONSTANT, devsCalcoutSoft, "Soft Channel") +recordtype(mbbiDirect) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + special(SPC_NOMOD) + prompt("Record Name") + size(61) + } + field(DESC, DBF_STRING) { + promptgroup(GUI_COMMON) + size(41) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + promptgroup(GUI_COMMON) + size(29) + special(SPC_AS) + prompt("Access Security Group") + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scan Mechanism") + menu(menuScan) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + menu(menuPini) + prompt("Process at iocInit") + interest(1) + promptgroup(GUI_SCAN) + } + field(PHAS, DBF_SHORT) { + special(SPC_SCAN) + prompt("Scan Phase") + promptgroup(GUI_SCAN) + interest(1) + } + field(EVNT, DBF_STRING) { + interest(1) + size(40) + promptgroup(GUI_SCAN) + prompt("Event Name") + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + interest(1) + promptgroup(GUI_SCAN) + } + field(TSEL, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup(GUI_LINKS) + interest(1) + } + field(DISV, DBF_SHORT) { + prompt("Disable Value") + promptgroup(GUI_SCAN) + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Monitor lock") + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + prompt("Monitor List") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + initial("UDF") + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + interest(2) + prompt("New Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("New Alarm Severity") + interest(2) + } + field(ACKS, DBF_MENU) { + interest(2) + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + } + field(ACKT, DBF_MENU) { + promptgroup(GUI_ALARMS) + interest(2) + menu(menuYesNo) + special(SPC_NOMOD) + prompt("Alarm Ack Transient") + initial("YES") + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup(GUI_SCAN) + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + special(SPC_NOMOD) + interest(2) + } + field(PACT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Record active") + interest(1) + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + special(SPC_NOMOD) + interest(4) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("pprocessNotify") + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + extra("struct processNotifyRecord *ppnr") + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + interest(4) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + special(SPC_NOMOD) + interest(4) + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + extra("struct rset *rset") + special(SPC_NOMOD) + prompt("Address of RSET") + interest(4) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + special(SPC_NOMOD) + interest(4) + extra("struct dset *dset") + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + special(SPC_NOMOD) + prompt("Device Private") + interest(4) + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + interest(4) + prompt("Address of dbRecordType") + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + interest(4) + prompt("Lock Set") + special(SPC_NOMOD) + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuPriority) + prompt("Scheduling Priority") + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + special(SPC_NOMOD) + prompt("Break Point") + interest(1) + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + initial("1") + prompt("Undefined") + promptgroup(GUI_COMMON) + interest(1) + } + field(UDFS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + interest(1) + promptgroup(GUI_COMMON) + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + special(SPC_NOMOD) + interest(2) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + interest(1) + promptgroup(GUI_LINKS) + } + field(VAL, DBF_USHORT) { + asl(ASL0) + prompt("Current Value") + promptgroup(GUI_INPUTS) + pp(TRUE) + } + field(NOBT, DBF_SHORT) { + special(SPC_NOMOD) + prompt("Number of Bits") + interest(1) + promptgroup(GUI_MBB) + } + field(INP, DBF_INLINK) { + interest(1) + promptgroup(GUI_MBB) + prompt("Input Specification") + } + field(RVAL, DBF_ULONG) { + prompt("Raw Value") + pp(TRUE) + } + field(ORAW, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Prev Raw Value") + interest(3) + } + field(MASK, DBF_ULONG) { + prompt("Hardware Mask") + special(SPC_NOMOD) + interest(1) + } + field(MLST, DBF_USHORT) { + interest(3) + special(SPC_NOMOD) + prompt("Last Value Monitored") + } + field(SHFT, DBF_USHORT) { + prompt("Shift") + promptgroup(GUI_MBB) + interest(1) + } + field(SIOL, DBF_INLINK) { + promptgroup(GUI_MBB) + interest(1) + prompt("Sim Input Specifctn") + } + field(SVAL, DBF_ULONG) { + prompt("Simulation Value") + } + field(SIML, DBF_INLINK) { + promptgroup(GUI_MBB) + interest(1) + prompt("Sim Mode Location") + } + field(SIMM, DBF_MENU) { + interest(1) + prompt("Simulation Mode") + menu(menuSimm) + } + field(SIMS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Sim mode Alarm Svrty") + promptgroup(GUI_MBB) + interest(2) + } + field(B0, DBF_UCHAR) { + interest(1) + prompt("Bit 0") + pp(TRUE) + } + field(B1, DBF_UCHAR) { + prompt("Bit 1") + interest(1) + pp(TRUE) + } + field(B2, DBF_UCHAR) { + interest(1) + prompt("Bit 2") + pp(TRUE) + } + field(B3, DBF_UCHAR) { + pp(TRUE) + interest(1) + prompt("Bit 3") + } + field(B4, DBF_UCHAR) { + pp(TRUE) + interest(1) + prompt("Bit 4") + } + field(B5, DBF_UCHAR) { + pp(TRUE) + interest(1) + prompt("Bit 5") + } + field(B6, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 6") + interest(1) + } + field(B7, DBF_UCHAR) { + prompt("Bit 7") + interest(1) + pp(TRUE) + } + field(B8, DBF_UCHAR) { + interest(1) + prompt("Bit 8") + pp(TRUE) + } + field(B9, DBF_UCHAR) { + prompt("Bit 9") + interest(1) + pp(TRUE) + } + field(BA, DBF_UCHAR) { + interest(1) + prompt("Bit A") + pp(TRUE) + } + field(BB, DBF_UCHAR) { + pp(TRUE) + prompt("Bit B") + interest(1) + } + field(BC, DBF_UCHAR) { + pp(TRUE) + prompt("Bit C") + interest(1) + } + field(BD, DBF_UCHAR) { + interest(1) + prompt("Bit D") + pp(TRUE) + } + field(BE, DBF_UCHAR) { + prompt("Bit E") + interest(1) + pp(TRUE) + } + field(BF, DBF_UCHAR) { + prompt("Bit F") + interest(1) + pp(TRUE) + } +} +device(mbbiDirect, CONSTANT, devMbbiDirectSoft, "Soft Channel") +device(mbbiDirect, CONSTANT, devMbbiDirectSoftRaw, "Raw Soft Channel") +device(mbbiDirect, CONSTANT, devMbbiDirectSoftCallback, "Async Soft Channel") +device(mbbiDirect, INST_IO, asynMbbiDirectUInt32Digital, "asynUInt32Digital") +device(mbbiDirect, INST_IO, devmbbiDirectStream, "stream") +recordtype(aSub) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + %struct aSubRecord; + field(NAME, DBF_STRING) { + size(61) + special(SPC_NOMOD) + prompt("Record Name") + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + promptgroup(GUI_COMMON) + size(41) + } + field(ASG, DBF_STRING) { + special(SPC_AS) + prompt("Access Security Group") + promptgroup(GUI_COMMON) + size(29) + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scan Mechanism") + menu(menuScan) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuPini) + prompt("Process at iocInit") + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(EVNT, DBF_STRING) { + interest(1) + promptgroup(GUI_SCAN) + size(40) + special(SPC_SCAN) + prompt("Event Name") + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + interest(1) + promptgroup(GUI_SCAN) + } + field(TSEL, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup(GUI_SCAN) + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup(GUI_SCAN) + interest(1) + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + special(SPC_NOMOD) + prompt("Monitor lock") + interest(4) + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + prompt("Monitor List") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + interest(3) + prompt("Force Processing") + } + field(STAT, DBF_MENU) { + initial("UDF") + menu(menuAlarmStat) + prompt("Alarm Status") + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Alarm Severity") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + menu(menuAlarmStat) + prompt("New Alarm Status") + special(SPC_NOMOD) + interest(2) + } + field(NSEV, DBF_MENU) { + interest(2) + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("New Alarm Severity") + } + field(ACKS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + special(SPC_NOMOD) + interest(2) + } + field(ACKT, DBF_MENU) { + initial("YES") + menu(menuYesNo) + special(SPC_NOMOD) + prompt("Alarm Ack Transient") + interest(2) + promptgroup(GUI_ALARMS) + } + field(DISS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + promptgroup(GUI_SCAN) + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + special(SPC_NOMOD) + interest(2) + } + field(PACT, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Record active") + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + special(SPC_NOMOD) + interest(1) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + special(SPC_NOMOD) + interest(4) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + prompt("pprocessNotify") + } + field(PPNR, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + interest(4) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + interest(4) + prompt("Scan Private") + special(SPC_NOMOD) + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + interest(4) + prompt("Address of RSET") + special(SPC_NOMOD) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + special(SPC_NOMOD) + prompt("DSET address") + } + field(DPVT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Device Private") + interest(4) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + interest(4) + prompt("Address of dbRecordType") + special(SPC_NOMOD) + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + special(SPC_NOMOD) + interest(4) + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + menu(menuPriority) + prompt("Scheduling Priority") + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + special(SPC_NOMOD) + prompt("Break Point") + interest(1) + } + field(UDF, DBF_UCHAR) { + prompt("Undefined") + promptgroup(GUI_COMMON) + interest(1) + initial("1") + pp(TRUE) + } + field(UDFS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + interest(1) + promptgroup(GUI_COMMON) + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + interest(2) + special(SPC_NOMOD) + prompt("Time") + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Forward Process Link") + } + field(VAL, DBF_LONG) { + prompt("Subr. return value") + asl(ASL0) + } + field(OVAL, DBF_LONG) { + prompt("Old return value") + special(SPC_NOMOD) + interest(3) + } + field(INAM, DBF_STRING) { + size(41) + promptgroup(GUI_SUB) + interest(1) + prompt("Initialize Subr. Name") + special(SPC_NOMOD) + } + field(LFLG, DBF_MENU) { + interest(1) + promptgroup(GUI_SUB) + menu(aSubLFLG) + prompt("Subr. Input Enable") + } + field(SUBL, DBF_INLINK) { + interest(1) + promptgroup(GUI_SUB) + special(SPC_NOMOD) + prompt("Subroutine Name Link") + } + field(SNAM, DBF_STRING) { + prompt("Process Subr. Name") + special(SPC_MOD) + interest(1) + size(41) + promptgroup(GUI_SUB) + } + field(ONAM, DBF_STRING) { + interest(3) + size(41) + promptgroup(GUI_SUB) + prompt("Old Subr. Name") + special(SPC_NOMOD) + } + field(SADR, DBF_NOACCESS) { + extra("long (*sadr)(struct aSubRecord *)") + interest(2) + prompt("Subroutine Address") + special(SPC_NOMOD) + } + field(CADR, DBF_NOACCESS) { + prompt("Subroutine Cleanup Address") + special(SPC_NOMOD) + interest(2) + extra("void (*cadr)(struct aSubRecord *)") + } + field(BRSV, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Bad Return Severity") + interest(1) + promptgroup(GUI_SUB) + pp(TRUE) + } + field(PREC, DBF_SHORT) { + prompt("Display Precision") + interest(1) + promptgroup(GUI_DISPLAY) + prop(YES) + } + field(EFLG, DBF_MENU) { + initial("1") + menu(aSubEFLG) + prompt("Output Event Flag") + promptgroup(GUI_OUTPUT) + interest(1) + } + field(INPA, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input Link A") + } + field(INPB, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input Link B") + } + field(INPC, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input Link C") + } + field(INPD, DBF_INLINK) { + prompt("Input Link D") + promptgroup(GUI_INPUTS) + interest(1) + } + field(INPE, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Input Link E") + } + field(INPF, DBF_INLINK) { + prompt("Input Link F") + promptgroup(GUI_INPUTS) + interest(1) + } + field(INPG, DBF_INLINK) { + prompt("Input Link G") + interest(1) + promptgroup(GUI_INPUTS) + } + field(INPH, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input Link H") + } + field(INPI, DBF_INLINK) { + prompt("Input Link I") + promptgroup(GUI_INPUTS) + interest(1) + } + field(INPJ, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Input Link J") + } + field(INPK, DBF_INLINK) { + prompt("Input Link K") + promptgroup(GUI_INPUTS) + interest(1) + } + field(INPL, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input Link L") + } + field(INPM, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input Link M") + } + field(INPN, DBF_INLINK) { + prompt("Input Link N") + interest(1) + promptgroup(GUI_INPUTS) + } + field(INPO, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Input Link O") + } + field(INPP, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Input Link P") + } + field(INPQ, DBF_INLINK) { + prompt("Input Link Q") + interest(1) + promptgroup(GUI_INPUTS) + } + field(INPR, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input Link R") + } + field(INPS, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Input Link S") + } + field(INPT, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input Link T") + } + field(INPU, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Input Link U") + } + field(A, DBF_NOACCESS) { + special(SPC_DBADDR) + prompt("Input value A") + asl(ASL0) + interest(2) + extra("void *a") + } + field(B, DBF_NOACCESS) { + special(SPC_DBADDR) + prompt("Input value B") + asl(ASL0) + interest(2) + extra("void *b") + } + field(C, DBF_NOACCESS) { + interest(2) + special(SPC_DBADDR) + prompt("Input value C") + asl(ASL0) + extra("void *c") + } + field(D, DBF_NOACCESS) { + extra("void *d") + special(SPC_DBADDR) + asl(ASL0) + prompt("Input value D") + interest(2) + } + field(E, DBF_NOACCESS) { + asl(ASL0) + special(SPC_DBADDR) + prompt("Input value E") + interest(2) + extra("void *e") + } + field(F, DBF_NOACCESS) { + asl(ASL0) + special(SPC_DBADDR) + prompt("Input value F") + interest(2) + extra("void *f") + } + field(G, DBF_NOACCESS) { + interest(2) + special(SPC_DBADDR) + prompt("Input value G") + asl(ASL0) + extra("void *g") + } + field(H, DBF_NOACCESS) { + asl(ASL0) + special(SPC_DBADDR) + prompt("Input value H") + interest(2) + extra("void *h") + } + field(I, DBF_NOACCESS) { + prompt("Input value I") + special(SPC_DBADDR) + asl(ASL0) + interest(2) + extra("void *i") + } + field(J, DBF_NOACCESS) { + interest(2) + asl(ASL0) + special(SPC_DBADDR) + prompt("Input value J") + extra("void *j") + } + field(K, DBF_NOACCESS) { + interest(2) + asl(ASL0) + special(SPC_DBADDR) + prompt("Input value K") + extra("void *k") + } + field(L, DBF_NOACCESS) { + extra("void *l") + asl(ASL0) + special(SPC_DBADDR) + prompt("Input value L") + interest(2) + } + field(M, DBF_NOACCESS) { + extra("void *m") + special(SPC_DBADDR) + prompt("Input value M") + asl(ASL0) + interest(2) + } + field(N, DBF_NOACCESS) { + extra("void *n") + prompt("Input value N") + special(SPC_DBADDR) + asl(ASL0) + interest(2) + } + field(O, DBF_NOACCESS) { + extra("void *o") + interest(2) + prompt("Input value O") + special(SPC_DBADDR) + asl(ASL0) + } + field(P, DBF_NOACCESS) { + extra("void *p") + interest(2) + asl(ASL0) + special(SPC_DBADDR) + prompt("Input value P") + } + field(Q, DBF_NOACCESS) { + interest(2) + asl(ASL0) + special(SPC_DBADDR) + prompt("Input value Q") + extra("void *q") + } + field(R, DBF_NOACCESS) { + special(SPC_DBADDR) + prompt("Input value R") + asl(ASL0) + interest(2) + extra("void *r") + } + field(S, DBF_NOACCESS) { + asl(ASL0) + special(SPC_DBADDR) + prompt("Input value S") + interest(2) + extra("void *s") + } + field(T, DBF_NOACCESS) { + asl(ASL0) + special(SPC_DBADDR) + prompt("Input value T") + interest(2) + extra("void *t") + } + field(U, DBF_NOACCESS) { + extra("void *u") + interest(2) + prompt("Input value U") + special(SPC_DBADDR) + asl(ASL0) + } + field(FTA, DBF_MENU) { + interest(1) + promptgroup(GUI_WAVE) + prompt("Type of A") + menu(menuFtype) + special(SPC_NOMOD) + initial("DOUBLE") + } + field(FTB, DBF_MENU) { + prompt("Type of B") + menu(menuFtype) + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + initial("DOUBLE") + } + field(FTC, DBF_MENU) { + initial("DOUBLE") + promptgroup(GUI_WAVE) + interest(1) + menu(menuFtype) + prompt("Type of C") + special(SPC_NOMOD) + } + field(FTD, DBF_MENU) { + initial("DOUBLE") + interest(1) + promptgroup(GUI_WAVE) + prompt("Type of D") + menu(menuFtype) + special(SPC_NOMOD) + } + field(FTE, DBF_MENU) { + initial("DOUBLE") + interest(1) + promptgroup(GUI_WAVE) + menu(menuFtype) + special(SPC_NOMOD) + prompt("Type of E") + } + field(FTF, DBF_MENU) { + promptgroup(GUI_WAVE) + interest(1) + prompt("Type of F") + menu(menuFtype) + special(SPC_NOMOD) + initial("DOUBLE") + } + field(FTG, DBF_MENU) { + initial("DOUBLE") + menu(menuFtype) + special(SPC_NOMOD) + prompt("Type of G") + promptgroup(GUI_WAVE) + interest(1) + } + field(FTH, DBF_MENU) { + initial("DOUBLE") + special(SPC_NOMOD) + menu(menuFtype) + prompt("Type of H") + interest(1) + promptgroup(GUI_WAVE) + } + field(FTI, DBF_MENU) { + initial("DOUBLE") + interest(1) + promptgroup(GUI_WAVE) + menu(menuFtype) + prompt("Type of I") + special(SPC_NOMOD) + } + field(FTJ, DBF_MENU) { + initial("DOUBLE") + prompt("Type of J") + menu(menuFtype) + special(SPC_NOMOD) + interest(1) + promptgroup(GUI_WAVE) + } + field(FTK, DBF_MENU) { + special(SPC_NOMOD) + menu(menuFtype) + prompt("Type of K") + promptgroup(GUI_WAVE) + interest(1) + initial("DOUBLE") + } + field(FTL, DBF_MENU) { + initial("DOUBLE") + special(SPC_NOMOD) + menu(menuFtype) + prompt("Type of L") + interest(1) + promptgroup(GUI_WAVE) + } + field(FTM, DBF_MENU) { + prompt("Type of M") + menu(menuFtype) + special(SPC_NOMOD) + interest(1) + promptgroup(GUI_WAVE) + initial("DOUBLE") + } + field(FTN, DBF_MENU) { + interest(1) + promptgroup(GUI_WAVE) + special(SPC_NOMOD) + menu(menuFtype) + prompt("Type of N") + initial("DOUBLE") + } + field(FTO, DBF_MENU) { + special(SPC_NOMOD) + menu(menuFtype) + prompt("Type of O") + interest(1) + promptgroup(GUI_WAVE) + initial("DOUBLE") + } + field(FTP, DBF_MENU) { + initial("DOUBLE") + promptgroup(GUI_WAVE) + interest(1) + prompt("Type of P") + menu(menuFtype) + special(SPC_NOMOD) + } + field(FTQ, DBF_MENU) { + promptgroup(GUI_WAVE) + interest(1) + special(SPC_NOMOD) + menu(menuFtype) + prompt("Type of Q") + initial("DOUBLE") + } + field(FTR, DBF_MENU) { + initial("DOUBLE") + prompt("Type of R") + menu(menuFtype) + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + } + field(FTS, DBF_MENU) { + initial("DOUBLE") + prompt("Type of S") + menu(menuFtype) + special(SPC_NOMOD) + interest(1) + promptgroup(GUI_WAVE) + } + field(FTT, DBF_MENU) { + initial("DOUBLE") + prompt("Type of T") + menu(menuFtype) + special(SPC_NOMOD) + interest(1) + promptgroup(GUI_WAVE) + } + field(FTU, DBF_MENU) { + menu(menuFtype) + special(SPC_NOMOD) + prompt("Type of U") + interest(1) + promptgroup(GUI_WAVE) + initial("DOUBLE") + } + field(NOA, DBF_ULONG) { + initial("1") + prompt("Max. elements in A") + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + } + field(NOB, DBF_ULONG) { + initial("1") + special(SPC_NOMOD) + prompt("Max. elements in B") + promptgroup(GUI_WAVE) + interest(1) + } + field(NOC, DBF_ULONG) { + initial("1") + special(SPC_NOMOD) + prompt("Max. elements in C") + interest(1) + promptgroup(GUI_WAVE) + } + field(NOD, DBF_ULONG) { + initial("1") + interest(1) + promptgroup(GUI_WAVE) + prompt("Max. elements in D") + special(SPC_NOMOD) + } + field(NOE, DBF_ULONG) { + initial("1") + interest(1) + promptgroup(GUI_WAVE) + prompt("Max. elements in E") + special(SPC_NOMOD) + } + field(NOF, DBF_ULONG) { + initial("1") + promptgroup(GUI_WAVE) + interest(1) + prompt("Max. elements in F") + special(SPC_NOMOD) + } + field(NOG, DBF_ULONG) { + initial("1") + prompt("Max. elements in G") + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + } + field(NOH, DBF_ULONG) { + initial("1") + prompt("Max. elements in H") + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + } + field(NOI, DBF_ULONG) { + interest(1) + promptgroup(GUI_WAVE) + special(SPC_NOMOD) + prompt("Max. elements in I") + initial("1") + } + field(NOJ, DBF_ULONG) { + prompt("Max. elements in J") + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + initial("1") + } + field(NOK, DBF_ULONG) { + prompt("Max. elements in K") + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + initial("1") + } + field(NOL, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Max. elements in L") + promptgroup(GUI_WAVE) + interest(1) + initial("1") + } + field(NOM, DBF_ULONG) { + initial("1") + interest(1) + promptgroup(GUI_WAVE) + special(SPC_NOMOD) + prompt("Max. elements in M") + } + field(NON, DBF_ULONG) { + initial("1") + promptgroup(GUI_WAVE) + interest(1) + prompt("Max. elements in N") + special(SPC_NOMOD) + } + field(NOO, DBF_ULONG) { + initial("1") + promptgroup(GUI_WAVE) + interest(1) + prompt("Max. elements in O") + special(SPC_NOMOD) + } + field(NOP, DBF_ULONG) { + initial("1") + promptgroup(GUI_WAVE) + interest(1) + prompt("Max. elements in P") + special(SPC_NOMOD) + } + field(NOQ, DBF_ULONG) { + initial("1") + special(SPC_NOMOD) + prompt("Max. elements in Q") + interest(1) + promptgroup(GUI_WAVE) + } + field(NOR, DBF_ULONG) { + interest(1) + promptgroup(GUI_WAVE) + special(SPC_NOMOD) + prompt("Max. elements in R") + initial("1") + } + field(NOS, DBF_ULONG) { + promptgroup(GUI_WAVE) + interest(1) + special(SPC_NOMOD) + prompt("Max. elements in S") + initial("1") + } + field(NOT, DBF_ULONG) { + promptgroup(GUI_WAVE) + interest(1) + prompt("Max. elements in T") + special(SPC_NOMOD) + initial("1") + } + field(NOU, DBF_ULONG) { + initial("1") + promptgroup(GUI_WAVE) + interest(1) + prompt("Max. elements in U") + special(SPC_NOMOD) + } + field(NEA, DBF_ULONG) { + initial("1") + interest(3) + promptgroup(GUI_WAVE) + special(SPC_NOMOD) + prompt("Num. elements in A") + } + field(NEB, DBF_ULONG) { + interest(3) + promptgroup(GUI_WAVE) + special(SPC_NOMOD) + prompt("Num. elements in B") + initial("1") + } + field(NEC, DBF_ULONG) { + promptgroup(GUI_WAVE) + interest(3) + special(SPC_NOMOD) + prompt("Num. elements in C") + initial("1") + } + field(NED, DBF_ULONG) { + promptgroup(GUI_WAVE) + interest(3) + prompt("Num. elements in D") + special(SPC_NOMOD) + initial("1") + } + field(NEE, DBF_ULONG) { + initial("1") + special(SPC_NOMOD) + prompt("Num. elements in E") + interest(3) + promptgroup(GUI_WAVE) + } + field(NEF, DBF_ULONG) { + initial("1") + prompt("Num. elements in F") + special(SPC_NOMOD) + interest(3) + promptgroup(GUI_WAVE) + } + field(NEG, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Num. elements in G") + interest(3) + promptgroup(GUI_WAVE) + initial("1") + } + field(NEH, DBF_ULONG) { + initial("1") + promptgroup(GUI_WAVE) + interest(3) + special(SPC_NOMOD) + prompt("Num. elements in H") + } + field(NEI, DBF_ULONG) { + prompt("Num. elements in I") + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(3) + initial("1") + } + field(NEJ, DBF_ULONG) { + initial("1") + special(SPC_NOMOD) + prompt("Num. elements in J") + interest(3) + promptgroup(GUI_WAVE) + } + field(NEK, DBF_ULONG) { + interest(3) + promptgroup(GUI_WAVE) + prompt("Num. elements in K") + special(SPC_NOMOD) + initial("1") + } + field(NEL, DBF_ULONG) { + initial("1") + promptgroup(GUI_WAVE) + interest(3) + special(SPC_NOMOD) + prompt("Num. elements in L") + } + field(NEM, DBF_ULONG) { + prompt("Num. elements in M") + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(3) + initial("1") + } + field(NEN, DBF_ULONG) { + initial("1") + prompt("Num. elements in N") + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(3) + } + field(NEO, DBF_ULONG) { + initial("1") + prompt("Num. elements in O") + special(SPC_NOMOD) + interest(3) + promptgroup(GUI_WAVE) + } + field(NEP, DBF_ULONG) { + prompt("Num. elements in P") + special(SPC_NOMOD) + interest(3) + promptgroup(GUI_WAVE) + initial("1") + } + field(NEQ, DBF_ULONG) { + initial("1") + interest(3) + promptgroup(GUI_WAVE) + prompt("Num. elements in Q") + special(SPC_NOMOD) + } + field(NER, DBF_ULONG) { + prompt("Num. elements in R") + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(3) + initial("1") + } + field(NES, DBF_ULONG) { + prompt("Num. elements in S") + special(SPC_NOMOD) + interest(3) + promptgroup(GUI_WAVE) + initial("1") + } + field(NET, DBF_ULONG) { + initial("1") + prompt("Num. elements in T") + special(SPC_NOMOD) + interest(3) + promptgroup(GUI_WAVE) + } + field(NEU, DBF_ULONG) { + initial("1") + special(SPC_NOMOD) + prompt("Num. elements in U") + interest(3) + promptgroup(GUI_WAVE) + } + field(OUTA, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_OUTPUT) + prompt("Output Link A") + } + field(OUTB, DBF_OUTLINK) { + prompt("Output Link B") + promptgroup(GUI_OUTPUT) + interest(1) + } + field(OUTC, DBF_OUTLINK) { + prompt("Output Link C") + promptgroup(GUI_OUTPUT) + interest(1) + } + field(OUTD, DBF_OUTLINK) { + prompt("Output Link D") + interest(1) + promptgroup(GUI_OUTPUT) + } + field(OUTE, DBF_OUTLINK) { + prompt("Output Link E") + interest(1) + promptgroup(GUI_OUTPUT) + } + field(OUTF, DBF_OUTLINK) { + prompt("Output Link F") + interest(1) + promptgroup(GUI_OUTPUT) + } + field(OUTG, DBF_OUTLINK) { + prompt("Output Link G") + promptgroup(GUI_OUTPUT) + interest(1) + } + field(OUTH, DBF_OUTLINK) { + prompt("Output Link H") + interest(1) + promptgroup(GUI_OUTPUT) + } + field(OUTI, DBF_OUTLINK) { + prompt("Output Link I") + promptgroup(GUI_OUTPUT) + interest(1) + } + field(OUTJ, DBF_OUTLINK) { + promptgroup(GUI_OUTPUT) + interest(1) + prompt("Output Link J") + } + field(OUTK, DBF_OUTLINK) { + prompt("Output Link K") + promptgroup(GUI_OUTPUT) + interest(1) + } + field(OUTL, DBF_OUTLINK) { + prompt("Output Link L") + promptgroup(GUI_OUTPUT) + interest(1) + } + field(OUTM, DBF_OUTLINK) { + prompt("Output Link M") + interest(1) + promptgroup(GUI_OUTPUT) + } + field(OUTN, DBF_OUTLINK) { + prompt("Output Link N") + interest(1) + promptgroup(GUI_OUTPUT) + } + field(OUTO, DBF_OUTLINK) { + promptgroup(GUI_OUTPUT) + interest(1) + prompt("Output Link O") + } + field(OUTP, DBF_OUTLINK) { + promptgroup(GUI_OUTPUT) + interest(1) + prompt("Output Link P") + } + field(OUTQ, DBF_OUTLINK) { + prompt("Output Link Q") + interest(1) + promptgroup(GUI_OUTPUT) + } + field(OUTR, DBF_OUTLINK) { + promptgroup(GUI_OUTPUT) + interest(1) + prompt("Output Link R") + } + field(OUTS, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_OUTPUT) + prompt("Output Link S") + } + field(OUTT, DBF_OUTLINK) { + prompt("Output Link T") + promptgroup(GUI_OUTPUT) + interest(1) + } + field(OUTU, DBF_OUTLINK) { + promptgroup(GUI_OUTPUT) + interest(1) + prompt("Output Link U") + } + field(VALA, DBF_NOACCESS) { + prompt("Output value A") + special(SPC_DBADDR) + asl(ASL0) + interest(2) + extra("void *vala") + } + field(VALB, DBF_NOACCESS) { + interest(2) + special(SPC_DBADDR) + asl(ASL0) + prompt("Output value B") + extra("void *valb") + } + field(VALC, DBF_NOACCESS) { + special(SPC_DBADDR) + prompt("Output value C") + asl(ASL0) + interest(2) + extra("void *valc") + } + field(VALD, DBF_NOACCESS) { + interest(2) + special(SPC_DBADDR) + asl(ASL0) + prompt("Output value D") + extra("void *vald") + } + field(VALE, DBF_NOACCESS) { + interest(2) + asl(ASL0) + special(SPC_DBADDR) + prompt("Output value E") + extra("void *vale") + } + field(VALF, DBF_NOACCESS) { + extra("void *valf") + prompt("Output value F") + special(SPC_DBADDR) + asl(ASL0) + interest(2) + } + field(VALG, DBF_NOACCESS) { + prompt("Output value G") + special(SPC_DBADDR) + asl(ASL0) + interest(2) + extra("void *valg") + } + field(VALH, DBF_NOACCESS) { + asl(ASL0) + special(SPC_DBADDR) + prompt("Output value H") + interest(2) + extra("void *valh") + } + field(VALI, DBF_NOACCESS) { + prompt("Output value I") + special(SPC_DBADDR) + asl(ASL0) + interest(2) + extra("void *vali") + } + field(VALJ, DBF_NOACCESS) { + extra("void *valj") + interest(2) + prompt("Output value J") + special(SPC_DBADDR) + asl(ASL0) + } + field(VALK, DBF_NOACCESS) { + extra("void *valk") + prompt("Output value K") + special(SPC_DBADDR) + asl(ASL0) + interest(2) + } + field(VALL, DBF_NOACCESS) { + extra("void *vall") + special(SPC_DBADDR) + prompt("Output value L") + asl(ASL0) + interest(2) + } + field(VALM, DBF_NOACCESS) { + interest(2) + special(SPC_DBADDR) + prompt("Output value M") + asl(ASL0) + extra("void *valm") + } + field(VALN, DBF_NOACCESS) { + prompt("Output value N") + special(SPC_DBADDR) + asl(ASL0) + interest(2) + extra("void *valn") + } + field(VALO, DBF_NOACCESS) { + extra("void *valo") + interest(2) + prompt("Output value O") + special(SPC_DBADDR) + asl(ASL0) + } + field(VALP, DBF_NOACCESS) { + prompt("Output value P") + special(SPC_DBADDR) + asl(ASL0) + interest(2) + extra("void *valp") + } + field(VALQ, DBF_NOACCESS) { + interest(2) + special(SPC_DBADDR) + asl(ASL0) + prompt("Output value Q") + extra("void *valq") + } + field(VALR, DBF_NOACCESS) { + interest(2) + special(SPC_DBADDR) + asl(ASL0) + prompt("Output value R") + extra("void *valr") + } + field(VALS, DBF_NOACCESS) { + extra("void *vals") + interest(2) + special(SPC_DBADDR) + prompt("Output value S") + asl(ASL0) + } + field(VALT, DBF_NOACCESS) { + extra("void *valt") + interest(2) + prompt("Output value T") + special(SPC_DBADDR) + asl(ASL0) + } + field(VALU, DBF_NOACCESS) { + extra("void *valu") + prompt("Output value U") + special(SPC_DBADDR) + asl(ASL0) + interest(2) + } + field(OVLA, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Old Output A") + asl(ASL0) + extra("void *ovla") + } + field(OVLB, DBF_NOACCESS) { + extra("void *ovlb") + interest(4) + special(SPC_NOMOD) + prompt("Old Output B") + asl(ASL0) + } + field(OVLC, DBF_NOACCESS) { + extra("void *ovlc") + interest(4) + asl(ASL0) + special(SPC_NOMOD) + prompt("Old Output C") + } + field(OVLD, DBF_NOACCESS) { + prompt("Old Output D") + special(SPC_NOMOD) + asl(ASL0) + interest(4) + extra("void *ovld") + } + field(OVLE, DBF_NOACCESS) { + extra("void *ovle") + interest(4) + asl(ASL0) + special(SPC_NOMOD) + prompt("Old Output E") + } + field(OVLF, DBF_NOACCESS) { + extra("void *ovlf") + interest(4) + asl(ASL0) + special(SPC_NOMOD) + prompt("Old Output F") + } + field(OVLG, DBF_NOACCESS) { + prompt("Old Output G") + special(SPC_NOMOD) + asl(ASL0) + interest(4) + extra("void *ovlg") + } + field(OVLH, DBF_NOACCESS) { + interest(4) + prompt("Old Output H") + special(SPC_NOMOD) + asl(ASL0) + extra("void *ovlh") + } + field(OVLI, DBF_NOACCESS) { + interest(4) + prompt("Old Output I") + special(SPC_NOMOD) + asl(ASL0) + extra("void *ovli") + } + field(OVLJ, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + asl(ASL0) + prompt("Old Output J") + extra("void *ovlj") + } + field(OVLK, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Old Output K") + asl(ASL0) + extra("void *ovlk") + } + field(OVLL, DBF_NOACCESS) { + extra("void *ovll") + asl(ASL0) + special(SPC_NOMOD) + prompt("Old Output L") + interest(4) + } + field(OVLM, DBF_NOACCESS) { + prompt("Old Output M") + special(SPC_NOMOD) + asl(ASL0) + interest(4) + extra("void *ovlm") + } + field(OVLN, DBF_NOACCESS) { + extra("void *ovln") + interest(4) + prompt("Old Output N") + special(SPC_NOMOD) + asl(ASL0) + } + field(OVLO, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Old Output O") + asl(ASL0) + interest(4) + extra("void *ovlo") + } + field(OVLP, DBF_NOACCESS) { + extra("void *ovlp") + asl(ASL0) + special(SPC_NOMOD) + prompt("Old Output P") + interest(4) + } + field(OVLQ, DBF_NOACCESS) { + interest(4) + prompt("Old Output Q") + special(SPC_NOMOD) + asl(ASL0) + extra("void *ovlq") + } + field(OVLR, DBF_NOACCESS) { + extra("void *ovlr") + interest(4) + prompt("Old Output R") + special(SPC_NOMOD) + asl(ASL0) + } + field(OVLS, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Old Output S") + asl(ASL0) + interest(4) + extra("void *ovls") + } + field(OVLT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Old Output T") + asl(ASL0) + interest(4) + extra("void *ovlt") + } + field(OVLU, DBF_NOACCESS) { + extra("void *ovlu") + interest(4) + special(SPC_NOMOD) + asl(ASL0) + prompt("Old Output U") + } + field(FTVA, DBF_MENU) { + prompt("Type of VALA") + menu(menuFtype) + special(SPC_NOMOD) + interest(1) + promptgroup(GUI_WAVE) + initial("DOUBLE") + } + field(FTVB, DBF_MENU) { + initial("DOUBLE") + promptgroup(GUI_WAVE) + interest(1) + prompt("Type of VALB") + menu(menuFtype) + special(SPC_NOMOD) + } + field(FTVC, DBF_MENU) { + interest(1) + promptgroup(GUI_WAVE) + special(SPC_NOMOD) + menu(menuFtype) + prompt("Type of VALC") + initial("DOUBLE") + } + field(FTVD, DBF_MENU) { + special(SPC_NOMOD) + menu(menuFtype) + prompt("Type of VALD") + interest(1) + promptgroup(GUI_WAVE) + initial("DOUBLE") + } + field(FTVE, DBF_MENU) { + prompt("Type of VALE") + menu(menuFtype) + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + initial("DOUBLE") + } + field(FTVF, DBF_MENU) { + prompt("Type of VALF") + menu(menuFtype) + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + initial("DOUBLE") + } + field(FTVG, DBF_MENU) { + initial("DOUBLE") + promptgroup(GUI_WAVE) + interest(1) + menu(menuFtype) + special(SPC_NOMOD) + prompt("Type of VALG") + } + field(FTVH, DBF_MENU) { + initial("DOUBLE") + promptgroup(GUI_WAVE) + interest(1) + special(SPC_NOMOD) + menu(menuFtype) + prompt("Type of VALH") + } + field(FTVI, DBF_MENU) { + initial("DOUBLE") + prompt("Type of VALI") + menu(menuFtype) + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + } + field(FTVJ, DBF_MENU) { + interest(1) + promptgroup(GUI_WAVE) + special(SPC_NOMOD) + menu(menuFtype) + prompt("Type of VALJ") + initial("DOUBLE") + } + field(FTVK, DBF_MENU) { + initial("DOUBLE") + menu(menuFtype) + prompt("Type of VALK") + special(SPC_NOMOD) + interest(1) + promptgroup(GUI_WAVE) + } + field(FTVL, DBF_MENU) { + initial("DOUBLE") + menu(menuFtype) + prompt("Type of VALL") + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + } + field(FTVM, DBF_MENU) { + promptgroup(GUI_WAVE) + interest(1) + prompt("Type of VALM") + menu(menuFtype) + special(SPC_NOMOD) + initial("DOUBLE") + } + field(FTVN, DBF_MENU) { + menu(menuFtype) + special(SPC_NOMOD) + prompt("Type of VALN") + interest(1) + promptgroup(GUI_WAVE) + initial("DOUBLE") + } + field(FTVO, DBF_MENU) { + initial("DOUBLE") + menu(menuFtype) + special(SPC_NOMOD) + prompt("Type of VALO") + interest(1) + promptgroup(GUI_WAVE) + } + field(FTVP, DBF_MENU) { + initial("DOUBLE") + menu(menuFtype) + special(SPC_NOMOD) + prompt("Type of VALP") + promptgroup(GUI_WAVE) + interest(1) + } + field(FTVQ, DBF_MENU) { + initial("DOUBLE") + prompt("Type of VALQ") + menu(menuFtype) + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + } + field(FTVR, DBF_MENU) { + initial("DOUBLE") + interest(1) + promptgroup(GUI_WAVE) + menu(menuFtype) + prompt("Type of VALR") + special(SPC_NOMOD) + } + field(FTVS, DBF_MENU) { + interest(1) + promptgroup(GUI_WAVE) + menu(menuFtype) + prompt("Type of VALS") + special(SPC_NOMOD) + initial("DOUBLE") + } + field(FTVT, DBF_MENU) { + initial("DOUBLE") + prompt("Type of VALT") + menu(menuFtype) + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + } + field(FTVU, DBF_MENU) { + menu(menuFtype) + prompt("Type of VALU") + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + initial("DOUBLE") + } + field(NOVA, DBF_ULONG) { + interest(1) + promptgroup(GUI_WAVE) + prompt("Max. elements in VALA") + special(SPC_NOMOD) + initial("1") + } + field(NOVB, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Max. elements in VALB") + promptgroup(GUI_WAVE) + interest(1) + initial("1") + } + field(NOVC, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Max. elements in VALC") + promptgroup(GUI_WAVE) + interest(1) + initial("1") + } + field(NOVD, DBF_ULONG) { + prompt("Max. elements in VALD") + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + initial("1") + } + field(NOVE, DBF_ULONG) { + initial("1") + special(SPC_NOMOD) + prompt("Max. elements in VALE") + interest(1) + promptgroup(GUI_WAVE) + } + field(NOVF, DBF_ULONG) { + interest(1) + promptgroup(GUI_WAVE) + prompt("Max. elements in VALF") + special(SPC_NOMOD) + initial("1") + } + field(NOVG, DBF_ULONG) { + promptgroup(GUI_WAVE) + interest(1) + special(SPC_NOMOD) + prompt("Max. elements in VALG") + initial("1") + } + field(NOVH, DBF_ULONG) { + prompt("Max. elements in VAlH") + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + initial("1") + } + field(NOVI, DBF_ULONG) { + initial("1") + prompt("Max. elements in VALI") + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + } + field(NOVJ, DBF_ULONG) { + initial("1") + interest(1) + promptgroup(GUI_WAVE) + prompt("Max. elements in VALJ") + special(SPC_NOMOD) + } + field(NOVK, DBF_ULONG) { + prompt("Max. elements in VALK") + special(SPC_NOMOD) + interest(1) + promptgroup(GUI_WAVE) + initial("1") + } + field(NOVL, DBF_ULONG) { + initial("1") + special(SPC_NOMOD) + prompt("Max. elements in VALL") + promptgroup(GUI_WAVE) + interest(1) + } + field(NOVM, DBF_ULONG) { + initial("1") + promptgroup(GUI_WAVE) + interest(1) + prompt("Max. elements in VALM") + special(SPC_NOMOD) + } + field(NOVN, DBF_ULONG) { + prompt("Max. elements in VALN") + special(SPC_NOMOD) + interest(1) + promptgroup(GUI_WAVE) + initial("1") + } + field(NOVO, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Max. elements in VALO") + promptgroup(GUI_WAVE) + interest(1) + initial("1") + } + field(NOVP, DBF_ULONG) { + interest(1) + promptgroup(GUI_WAVE) + special(SPC_NOMOD) + prompt("Max. elements in VALP") + initial("1") + } + field(NOVQ, DBF_ULONG) { + promptgroup(GUI_WAVE) + interest(1) + prompt("Max. elements in VALQ") + special(SPC_NOMOD) + initial("1") + } + field(NOVR, DBF_ULONG) { + promptgroup(GUI_WAVE) + interest(1) + special(SPC_NOMOD) + prompt("Max. elements in VALR") + initial("1") + } + field(NOVS, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Max. elements in VALS") + interest(1) + promptgroup(GUI_WAVE) + initial("1") + } + field(NOVT, DBF_ULONG) { + promptgroup(GUI_WAVE) + interest(1) + prompt("Max. elements in VALT") + special(SPC_NOMOD) + initial("1") + } + field(NOVU, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Max. elements in VALU") + interest(1) + promptgroup(GUI_WAVE) + initial("1") + } + field(NEVA, DBF_ULONG) { + interest(3) + prompt("Num. elements in VALA") + special(SPC_NOMOD) + initial("1") + } + field(NEVB, DBF_ULONG) { + initial("1") + prompt("Num. elements in VALB") + special(SPC_NOMOD) + interest(3) + } + field(NEVC, DBF_ULONG) { + initial("1") + special(SPC_NOMOD) + prompt("Num. elements in VALC") + interest(3) + } + field(NEVD, DBF_ULONG) { + initial("1") + special(SPC_NOMOD) + prompt("Num. elements in VALD") + interest(3) + } + field(NEVE, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Num. elements in VALE") + interest(3) + initial("1") + } + field(NEVF, DBF_ULONG) { + initial("1") + interest(3) + special(SPC_NOMOD) + prompt("Num. elements in VALF") + } + field(NEVG, DBF_ULONG) { + initial("1") + interest(3) + prompt("Num. elements in VALG") + special(SPC_NOMOD) + } + field(NEVH, DBF_ULONG) { + initial("1") + interest(3) + special(SPC_NOMOD) + prompt("Num. elements in VAlH") + } + field(NEVI, DBF_ULONG) { + prompt("Num. elements in VALI") + special(SPC_NOMOD) + interest(3) + initial("1") + } + field(NEVJ, DBF_ULONG) { + interest(3) + prompt("Num. elements in VALJ") + special(SPC_NOMOD) + initial("1") + } + field(NEVK, DBF_ULONG) { + initial("1") + interest(3) + special(SPC_NOMOD) + prompt("Num. elements in VALK") + } + field(NEVL, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Num. elements in VALL") + interest(3) + initial("1") + } + field(NEVM, DBF_ULONG) { + initial("1") + special(SPC_NOMOD) + prompt("Num. elements in VALM") + interest(3) + } + field(NEVN, DBF_ULONG) { + interest(3) + special(SPC_NOMOD) + prompt("Num. elements in VALN") + initial("1") + } + field(NEVO, DBF_ULONG) { + initial("1") + special(SPC_NOMOD) + prompt("Num. elements in VALO") + interest(3) + } + field(NEVP, DBF_ULONG) { + interest(3) + prompt("Num. elements in VALP") + special(SPC_NOMOD) + initial("1") + } + field(NEVQ, DBF_ULONG) { + interest(3) + special(SPC_NOMOD) + prompt("Num. elements in VALQ") + initial("1") + } + field(NEVR, DBF_ULONG) { + initial("1") + interest(3) + prompt("Num. elements in VALR") + special(SPC_NOMOD) + } + field(NEVS, DBF_ULONG) { + initial("1") + interest(3) + special(SPC_NOMOD) + prompt("Num. elements in VALS") + } + field(NEVT, DBF_ULONG) { + prompt("Num. elements in VALT") + special(SPC_NOMOD) + interest(3) + initial("1") + } + field(NEVU, DBF_ULONG) { + initial("1") + interest(3) + special(SPC_NOMOD) + prompt("Num. elements in VALU") + } + field(ONVA, DBF_ULONG) { + interest(4) + special(SPC_NOMOD) + prompt("Num. elements in OVLA") + initial("1") + } + field(ONVB, DBF_ULONG) { + interest(4) + prompt("Num. elements in OVLB") + special(SPC_NOMOD) + initial("1") + } + field(ONVC, DBF_ULONG) { + interest(4) + prompt("Num. elements in OVLC") + special(SPC_NOMOD) + initial("1") + } + field(ONVD, DBF_ULONG) { + initial("1") + interest(4) + prompt("Num. elements in OVLD") + special(SPC_NOMOD) + } + field(ONVE, DBF_ULONG) { + interest(4) + special(SPC_NOMOD) + prompt("Num. elements in OVLE") + initial("1") + } + field(ONVF, DBF_ULONG) { + initial("1") + prompt("Num. elements in OVLF") + special(SPC_NOMOD) + interest(4) + } + field(ONVG, DBF_ULONG) { + initial("1") + interest(4) + special(SPC_NOMOD) + prompt("Num. elements in OVLG") + } + field(ONVH, DBF_ULONG) { + initial("1") + interest(4) + prompt("Num. elements in VAlH") + special(SPC_NOMOD) + } + field(ONVI, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Num. elements in OVLI") + interest(4) + initial("1") + } + field(ONVJ, DBF_ULONG) { + initial("1") + special(SPC_NOMOD) + prompt("Num. elements in OVLJ") + interest(4) + } + field(ONVK, DBF_ULONG) { + initial("1") + interest(4) + special(SPC_NOMOD) + prompt("Num. elements in OVLK") + } + field(ONVL, DBF_ULONG) { + prompt("Num. elements in OVLL") + special(SPC_NOMOD) + interest(4) + initial("1") + } + field(ONVM, DBF_ULONG) { + initial("1") + interest(4) + special(SPC_NOMOD) + prompt("Num. elements in OVLM") + } + field(ONVN, DBF_ULONG) { + initial("1") + interest(4) + special(SPC_NOMOD) + prompt("Num. elements in OVLN") + } + field(ONVO, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Num. elements in OVLO") + interest(4) + initial("1") + } + field(ONVP, DBF_ULONG) { + initial("1") + special(SPC_NOMOD) + prompt("Num. elements in OVLP") + interest(4) + } + field(ONVQ, DBF_ULONG) { + initial("1") + interest(4) + prompt("Num. elements in OVLQ") + special(SPC_NOMOD) + } + field(ONVR, DBF_ULONG) { + interest(4) + prompt("Num. elements in OVLR") + special(SPC_NOMOD) + initial("1") + } + field(ONVS, DBF_ULONG) { + initial("1") + interest(4) + prompt("Num. elements in OVLS") + special(SPC_NOMOD) + } + field(ONVT, DBF_ULONG) { + initial("1") + interest(4) + special(SPC_NOMOD) + prompt("Num. elements in OVLT") + } + field(ONVU, DBF_ULONG) { + initial("1") + prompt("Num. elements in OVLU") + special(SPC_NOMOD) + interest(4) + } +} +recordtype(lsi) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + %#include "devSup.h" + % + %/* Declare Device Support Entry Table */ + %typedef struct lsidset { + % long number; + % DEVSUPFUN report; + % DEVSUPFUN init; + % DEVSUPFUN init_record; + % DEVSUPFUN get_ioint_info; + % DEVSUPFUN read_string; + %} lsidset; + % + field(NAME, DBF_STRING) { + prompt("Record Name") + special(SPC_NOMOD) + size(61) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + promptgroup(GUI_COMMON) + size(41) + } + field(ASG, DBF_STRING) { + special(SPC_AS) + prompt("Access Security Group") + promptgroup(GUI_COMMON) + size(29) + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + special(SPC_SCAN) + menu(menuScan) + prompt("Scan Mechanism") + } + field(PINI, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuPini) + prompt("Process at iocInit") + } + field(PHAS, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scan Phase") + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + promptgroup(GUI_SCAN) + interest(1) + size(40) + prompt("Event Name") + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup(GUI_SCAN) + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup(GUI_LINKS) + interest(1) + } + field(DISV, DBF_SHORT) { + promptgroup(GUI_SCAN) + prompt("Disable Value") + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Monitor lock") + interest(4) + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + prompt("Monitor List") + special(SPC_NOMOD) + interest(4) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + prompt("Force Processing") + interest(3) + pp(TRUE) + } + field(STAT, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("Alarm Status") + initial("UDF") + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("Alarm Severity") + } + field(NSTA, DBF_MENU) { + interest(2) + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("New Alarm Status") + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + interest(2) + } + field(ACKS, DBF_MENU) { + interest(2) + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + menu(menuYesNo) + special(SPC_NOMOD) + prompt("Alarm Ack Transient") + interest(2) + promptgroup(GUI_ALARMS) + initial("YES") + } + field(DISS, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + } + field(LCNT, DBF_UCHAR) { + interest(2) + special(SPC_NOMOD) + prompt("Lock Count") + } + field(PACT, DBF_UCHAR) { + interest(1) + prompt("Record active") + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Reprocess ") + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + prompt("Access Security Pvt") + special(SPC_NOMOD) + interest(4) + } + field(PPN, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("pprocessNotify") + interest(4) + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + interest(4) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + special(SPC_NOMOD) + interest(4) + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + extra("struct rset *rset") + special(SPC_NOMOD) + prompt("Address of RSET") + interest(4) + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + prompt("DSET address") + special(SPC_NOMOD) + interest(4) + } + field(DPVT, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Device Private") + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + special(SPC_NOMOD) + prompt("Address of dbRecordType") + interest(4) + } + field(LSET, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Lock Set") + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + special(SPC_NOMOD) + prompt("Break Point") + interest(1) + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + initial("1") + interest(1) + promptgroup(GUI_COMMON) + prompt("Undefined") + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_COMMON) + } + field(TIME, DBF_NOACCESS) { + interest(2) + prompt("Time") + special(SPC_NOMOD) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup(GUI_LINKS) + interest(1) + } + field(VAL, DBF_NOACCESS) { + pp(TRUE) + asl(ASL0) + special(SPC_DBADDR) + prompt("Current Value") + extra("char *val") + } + field(OVAL, DBF_NOACCESS) { + prompt("Old Value") + special(SPC_DBADDR) + interest(3) + extra("char *oval") + } + field(SIZV, DBF_USHORT) { + initial("41") + prompt("Size of buffers") + special(SPC_NOMOD) + interest(1) + promptgroup(GUI_OUTPUT) + } + field(LEN, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Length of VAL") + } + field(OLEN, DBF_ULONG) { + prompt("Length of OVAL") + special(SPC_NOMOD) + } + field(INP, DBF_INLINK) { + prompt("Input Specification") + interest(1) + promptgroup(GUI_INPUTS) + } + field(MPST, DBF_MENU) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Post Value Monitors") + menu(menuPost) + } + field(APST, DBF_MENU) { + interest(1) + promptgroup(GUI_DISPLAY) + menu(menuPost) + prompt("Post Archive Monitors") + } + field(SIML, DBF_INLINK) { + prompt("Simulation Mode Link") + interest(2) + promptgroup(GUI_INPUTS) + } + field(SIMM, DBF_MENU) { + prompt("Simulation Mode") + menu(menuYesNo) + interest(2) + } + field(SIMS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Simulation Mode Severity") + promptgroup(GUI_INPUTS) + interest(2) + } + field(SIOL, DBF_INLINK) { + prompt("Sim Input Specifctn") + interest(2) + promptgroup(GUI_INPUTS) + } +} +device(lsi, CONSTANT, devLsiSoft, "Soft Channel") +recordtype(event) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + %#include "dbScan.h" + field(NAME, DBF_STRING) { + size(61) + special(SPC_NOMOD) + prompt("Record Name") + } + field(DESC, DBF_STRING) { + size(41) + promptgroup(GUI_COMMON) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + special(SPC_AS) + prompt("Access Security Group") + promptgroup(GUI_COMMON) + size(29) + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuScan) + special(SPC_SCAN) + prompt("Scan Mechanism") + } + field(PINI, DBF_MENU) { + menu(menuPini) + prompt("Process at iocInit") + interest(1) + promptgroup(GUI_SCAN) + } + field(PHAS, DBF_SHORT) { + special(SPC_SCAN) + prompt("Scan Phase") + interest(1) + promptgroup(GUI_SCAN) + } + field(EVNT, DBF_STRING) { + prompt("Event Name") + special(SPC_SCAN) + interest(1) + size(40) + promptgroup(GUI_SCAN) + } + field(TSE, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + interest(1) + promptgroup(GUI_LINKS) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup(GUI_SCAN) + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup(GUI_SCAN) + interest(1) + } + field(MLOK, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Monitor lock") + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + prompt("Monitor List") + special(SPC_NOMOD) + interest(4) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + interest(2) + prompt("New Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + interest(2) + } + field(ACKS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + special(SPC_NOMOD) + interest(2) + } + field(ACKT, DBF_MENU) { + initial("YES") + menu(menuYesNo) + prompt("Alarm Ack Transient") + special(SPC_NOMOD) + promptgroup(GUI_ALARMS) + interest(2) + } + field(DISS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + interest(1) + promptgroup(GUI_SCAN) + } + field(LCNT, DBF_UCHAR) { + interest(2) + prompt("Lock Count") + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Record active") + interest(1) + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + special(SPC_NOMOD) + interest(1) + } + field(ASP, DBF_NOACCESS) { + interest(4) + prompt("Access Security Pvt") + special(SPC_NOMOD) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + special(SPC_NOMOD) + interest(4) + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + special(SPC_NOMOD) + prompt("Scan Private") + interest(4) + } + field(RSET, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Address of RSET") + interest(4) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + prompt("DSET address") + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Device Private") + interest(4) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + prompt("Address of dbRecordType") + special(SPC_NOMOD) + interest(4) + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + prompt("Lock Set") + special(SPC_NOMOD) + interest(4) + } + field(PRIO, DBF_MENU) { + special(SPC_SCAN) + menu(menuPriority) + prompt("Scheduling Priority") + promptgroup(GUI_SCAN) + interest(1) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + interest(1) + special(SPC_NOMOD) + prompt("Break Point") + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + initial("1") + prompt("Undefined") + interest(1) + promptgroup(GUI_COMMON) + } + field(UDFS, DBF_MENU) { + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_COMMON) + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Time") + interest(2) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Process Link") + } + field(VAL, DBF_STRING) { + special(SPC_MOD) + asl(ASL0) + prompt("Event Name To Post") + size(40) + promptgroup(GUI_INPUTS) + } + field(EPVT, DBF_NOACCESS) { + prompt("Event private") + special(SPC_NOMOD) + interest(4) + extra("EVENTPVT epvt") + } + field(INP, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Input Specification") + } + field(SIOL, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Sim Input Specifctn") + } + field(SVAL, DBF_STRING) { + size(40) + prompt("Simulation Value") + } + field(SIML, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Sim Mode Location") + } + field(SIMM, DBF_MENU) { + prompt("Simulation Mode") + menu(menuYesNo) + interest(1) + } + field(SIMS, DBF_MENU) { + promptgroup(GUI_INPUTS) + interest(2) + prompt("Sim mode Alarm Svrty") + menu(menuAlarmSevr) + } +} +device(event, CONSTANT, devEventSoft, "Soft Channel") +recordtype(calcout) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + %#include "dbScan.h" + %#include "postfix.h" + field(NAME, DBF_STRING) { + size(61) + special(SPC_NOMOD) + prompt("Record Name") + } + field(DESC, DBF_STRING) { + promptgroup(GUI_COMMON) + size(41) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + special(SPC_AS) + prompt("Access Security Group") + promptgroup(GUI_COMMON) + size(29) + } + field(SCAN, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuScan) + prompt("Scan Mechanism") + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup(GUI_SCAN) + interest(1) + } + field(PHAS, DBF_SHORT) { + special(SPC_SCAN) + prompt("Scan Phase") + interest(1) + promptgroup(GUI_SCAN) + } + field(EVNT, DBF_STRING) { + special(SPC_SCAN) + prompt("Event Name") + size(40) + interest(1) + promptgroup(GUI_SCAN) + } + field(TSE, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + interest(1) + promptgroup(GUI_LINKS) + } + field(DISV, DBF_SHORT) { + initial("1") + promptgroup(GUI_SCAN) + prompt("Disable Value") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Monitor lock") + interest(4) + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + special(SPC_NOMOD) + interest(4) + extra("ELLLIST mlis") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + interest(3) + prompt("Force Processing") + } + field(STAT, DBF_MENU) { + initial("UDF") + menu(menuAlarmStat) + prompt("Alarm Status") + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Alarm Severity") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + interest(2) + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("New Alarm Status") + } + field(NSEV, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("New Alarm Severity") + interest(2) + } + field(ACKS, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + interest(2) + } + field(ACKT, DBF_MENU) { + initial("YES") + menu(menuYesNo) + prompt("Alarm Ack Transient") + special(SPC_NOMOD) + interest(2) + promptgroup(GUI_ALARMS) + } + field(DISS, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + } + field(LCNT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Lock Count") + interest(2) + } + field(PACT, DBF_UCHAR) { + interest(1) + prompt("Record active") + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + special(SPC_NOMOD) + interest(1) + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + special(SPC_NOMOD) + prompt("Access Security Pvt") + interest(4) + } + field(PPN, DBF_NOACCESS) { + interest(4) + prompt("pprocessNotify") + special(SPC_NOMOD) + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + interest(4) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + prompt("Scan Private") + } + field(RSET, DBF_NOACCESS) { + extra("struct rset *rset") + interest(4) + special(SPC_NOMOD) + prompt("Address of RSET") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + special(SPC_NOMOD) + prompt("DSET address") + } + field(DPVT, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Device Private") + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + special(SPC_NOMOD) + interest(4) + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Lock Set") + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + menu(menuPriority) + prompt("Scheduling Priority") + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + special(SPC_NOMOD) + interest(1) + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + prompt("Undefined") + promptgroup(GUI_COMMON) + interest(1) + initial("1") + pp(TRUE) + } + field(UDFS, DBF_MENU) { + interest(1) + promptgroup(GUI_COMMON) + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + interest(2) + special(SPC_NOMOD) + prompt("Time") + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup(GUI_LINKS) + interest(1) + } + field(RPVT, DBF_NOACCESS) { + interest(4) + prompt("Record Private") + special(SPC_NOMOD) + extra("struct rpvtStruct *rpvt") + } + field(VAL, DBF_DOUBLE) { + promptgroup(GUI_OUTPUT) + asl(ASL0) + prompt("Result") + } + field(PVAL, DBF_DOUBLE) { + prompt("Previous Value") + } + field(CALC, DBF_STRING) { + pp(TRUE) + initial("0") + promptgroup(GUI_CALC) + size(80) + special(SPC_CALC) + prompt("Calculation") + } + field(CLCV, DBF_LONG) { + prompt("CALC Valid") + interest(1) + } + field(INPA, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + prompt("Input A") + special(SPC_MOD) + } + field(INPB, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + prompt("Input B") + special(SPC_MOD) + } + field(INPC, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + prompt("Input C") + special(SPC_MOD) + } + field(INPD, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + special(SPC_MOD) + prompt("Input D") + } + field(INPE, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + prompt("Input E") + special(SPC_MOD) + } + field(INPF, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + special(SPC_MOD) + prompt("Input F") + } + field(INPG, DBF_INLINK) { + special(SPC_MOD) + prompt("Input G") + promptgroup(GUI_CALC) + interest(1) + } + field(INPH, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + prompt("Input H") + special(SPC_MOD) + } + field(INPI, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + prompt("Input I") + special(SPC_MOD) + } + field(INPJ, DBF_INLINK) { + special(SPC_MOD) + prompt("Input J") + promptgroup(GUI_CALC) + interest(1) + } + field(INPK, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + special(SPC_MOD) + prompt("Input K") + } + field(INPL, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + special(SPC_MOD) + prompt("Input L") + } + field(OUT, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_OUTPUT) + special(SPC_MOD) + prompt("Output Specification") + } + field(INAV, DBF_MENU) { + interest(1) + prompt("INPA PV Status") + menu(calcoutINAV) + special(SPC_NOMOD) + initial("1") + } + field(INBV, DBF_MENU) { + interest(1) + prompt("INPB PV Status") + menu(calcoutINAV) + special(SPC_NOMOD) + initial("1") + } + field(INCV, DBF_MENU) { + initial("1") + menu(calcoutINAV) + prompt("INPC PV Status") + special(SPC_NOMOD) + interest(1) + } + field(INDV, DBF_MENU) { + special(SPC_NOMOD) + menu(calcoutINAV) + prompt("INPD PV Status") + interest(1) + initial("1") + } + field(INEV, DBF_MENU) { + menu(calcoutINAV) + special(SPC_NOMOD) + prompt("INPE PV Status") + interest(1) + initial("1") + } + field(INFV, DBF_MENU) { + initial("1") + menu(calcoutINAV) + prompt("INPF PV Status") + special(SPC_NOMOD) + interest(1) + } + field(INGV, DBF_MENU) { + interest(1) + menu(calcoutINAV) + prompt("INPG PV Status") + special(SPC_NOMOD) + initial("1") + } + field(INHV, DBF_MENU) { + initial("1") + interest(1) + menu(calcoutINAV) + prompt("INPH PV Status") + special(SPC_NOMOD) + } + field(INIV, DBF_MENU) { + initial("1") + interest(1) + special(SPC_NOMOD) + menu(calcoutINAV) + prompt("INPI PV Status") + } + field(INJV, DBF_MENU) { + interest(1) + special(SPC_NOMOD) + menu(calcoutINAV) + prompt("INPJ PV Status") + initial("1") + } + field(INKV, DBF_MENU) { + interest(1) + menu(calcoutINAV) + prompt("INPK PV Status") + special(SPC_NOMOD) + initial("1") + } + field(INLV, DBF_MENU) { + interest(1) + prompt("INPL PV Status") + menu(calcoutINAV) + special(SPC_NOMOD) + initial("1") + } + field(OUTV, DBF_MENU) { + menu(calcoutINAV) + prompt("OUT PV Status") + special(SPC_NOMOD) + interest(1) + } + field(OOPT, DBF_MENU) { + promptgroup(GUI_CALC) + interest(1) + prompt("Output Execute Opt") + menu(calcoutOOPT) + } + field(ODLY, DBF_DOUBLE) { + promptgroup(GUI_ALARMS) + interest(1) + prompt("Output Execute Delay") + asl(ASL0) + } + field(DLYA, DBF_USHORT) { + special(SPC_NOMOD) + asl(ASL0) + prompt("Output Delay Active") + } + field(DOPT, DBF_MENU) { + promptgroup(GUI_CALC) + interest(1) + menu(calcoutDOPT) + prompt("Output Data Opt") + } + field(OCAL, DBF_STRING) { + pp(TRUE) + prompt("Output Calculation") + special(SPC_CALC) + promptgroup(GUI_CALC) + size(80) + initial("0") + } + field(OCLV, DBF_LONG) { + interest(1) + prompt("OCAL Valid") + } + field(OEVT, DBF_STRING) { + promptgroup(GUI_CLOCK) + size(40) + asl(ASL0) + special(SPC_MOD) + prompt("Event To Issue") + } + field(EPVT, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Event private") + extra("EVENTPVT epvt") + } + field(IVOA, DBF_MENU) { + prompt("INVALID output action") + menu(menuIvoa) + promptgroup(GUI_OUTPUT) + interest(2) + } + field(IVOV, DBF_DOUBLE) { + interest(2) + promptgroup(GUI_OUTPUT) + prompt("INVALID output value") + } + field(EGU, DBF_STRING) { + prop(YES) + size(16) + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Units Name") + } + field(PREC, DBF_SHORT) { + prompt("Display Precision") + interest(1) + promptgroup(GUI_DISPLAY) + prop(YES) + } + field(HOPR, DBF_DOUBLE) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("High Operating Rng") + prop(YES) + } + field(LOPR, DBF_DOUBLE) { + prop(YES) + prompt("Low Operating Range") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(HIHI, DBF_DOUBLE) { + promptgroup(GUI_ALARMS) + interest(1) + prompt("Hihi Alarm Limit") + prop(YES) + pp(TRUE) + } + field(LOLO, DBF_DOUBLE) { + pp(TRUE) + prop(YES) + interest(1) + promptgroup(GUI_ALARMS) + prompt("Lolo Alarm Limit") + } + field(HIGH, DBF_DOUBLE) { + prompt("High Alarm Limit") + interest(1) + promptgroup(GUI_ALARMS) + prop(YES) + pp(TRUE) + } + field(LOW, DBF_DOUBLE) { + pp(TRUE) + prop(YES) + prompt("Low Alarm Limit") + promptgroup(GUI_ALARMS) + interest(1) + } + field(HHSV, DBF_MENU) { + pp(TRUE) + prop(YES) + prompt("Hihi Severity") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_ALARMS) + } + field(LLSV, DBF_MENU) { + prompt("Lolo Severity") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_ALARMS) + pp(TRUE) + prop(YES) + } + field(HSV, DBF_MENU) { + prompt("High Severity") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_ALARMS) + pp(TRUE) + prop(YES) + } + field(LSV, DBF_MENU) { + prompt("Low Severity") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_ALARMS) + prop(YES) + pp(TRUE) + } + field(HYST, DBF_DOUBLE) { + prompt("Alarm Deadband") + interest(1) + promptgroup(GUI_ALARMS) + } + field(ADEL, DBF_DOUBLE) { + prompt("Archive Deadband") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(MDEL, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Monitor Deadband") + } + field(A, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input A") + } + field(B, DBF_DOUBLE) { + prompt("Value of Input B") + pp(TRUE) + } + field(C, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input C") + } + field(D, DBF_DOUBLE) { + prompt("Value of Input D") + pp(TRUE) + } + field(E, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input E") + } + field(F, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input F") + } + field(G, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input G") + } + field(H, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input H") + } + field(I, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input I") + } + field(J, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input J") + } + field(K, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input K") + } + field(L, DBF_DOUBLE) { + prompt("Value of Input L") + pp(TRUE) + } + field(OVAL, DBF_DOUBLE) { + prompt("Output Value") + asl(ASL0) + } + field(LA, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of A") + interest(3) + } + field(LB, DBF_DOUBLE) { + prompt("Prev Value of B") + special(SPC_NOMOD) + interest(3) + } + field(LC, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Value of C") + } + field(LD, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Value of D") + } + field(LE, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of E") + interest(3) + } + field(LF, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Value of F") + } + field(LG, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of G") + special(SPC_NOMOD) + } + field(LH, DBF_DOUBLE) { + prompt("Prev Value of H") + special(SPC_NOMOD) + interest(3) + } + field(LI, DBF_DOUBLE) { + prompt("Prev Value of I") + special(SPC_NOMOD) + interest(3) + } + field(LJ, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of J") + special(SPC_NOMOD) + } + field(LK, DBF_DOUBLE) { + prompt("Prev Value of K") + special(SPC_NOMOD) + interest(3) + } + field(LL, DBF_DOUBLE) { + prompt("Prev Value of L") + special(SPC_NOMOD) + interest(3) + } + field(POVL, DBF_DOUBLE) { + prompt("Prev Value of OVAL") + asl(ASL0) + } + field(LALM, DBF_DOUBLE) { + interest(3) + prompt("Last Value Alarmed") + special(SPC_NOMOD) + } + field(ALST, DBF_DOUBLE) { + prompt("Last Value Archived") + special(SPC_NOMOD) + interest(3) + } + field(MLST, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Last Val Monitored") + interest(3) + } + field(RPCL, DBF_NOACCESS) { + extra("char rpcl[INFIX_TO_POSTFIX_SIZE(80)]") + interest(4) + special(SPC_NOMOD) + prompt("Reverse Polish Calc") + } + field(ORPC, DBF_NOACCESS) { + extra("char orpc[INFIX_TO_POSTFIX_SIZE(80)]") + interest(4) + prompt("Reverse Polish OCalc") + special(SPC_NOMOD) + } +} +device(calcout, CONSTANT, devCalcoutSoft, "Soft Channel") +device(calcout, CONSTANT, devCalcoutSoftCallback, "Async Soft Channel") +device(calcout, INST_IO, devcalcoutStream, "stream") +recordtype(bi) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + size(41) + promptgroup(GUI_COMMON) + } + field(ASG, DBF_STRING) { + size(29) + promptgroup(GUI_COMMON) + special(SPC_AS) + prompt("Access Security Group") + } + field(SCAN, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scan Mechanism") + menu(menuScan) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuPini) + prompt("Process at iocInit") + } + field(PHAS, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scan Phase") + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + prompt("Event Name") + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + size(40) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup(GUI_SCAN) + interest(1) + } + field(TSEL, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + prompt("Disable Value") + promptgroup(GUI_SCAN) + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + special(SPC_NOMOD) + interest(4) + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + prompt("Monitor List") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + prompt("Force Processing") + interest(3) + pp(TRUE) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Alarm Severity") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + interest(2) + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("New Alarm Status") + } + field(NSEV, DBF_MENU) { + menu(menuAlarmSevr) + prompt("New Alarm Severity") + special(SPC_NOMOD) + interest(2) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + interest(2) + } + field(ACKT, DBF_MENU) { + initial("YES") + promptgroup(GUI_ALARMS) + interest(2) + special(SPC_NOMOD) + menu(menuYesNo) + prompt("Alarm Ack Transient") + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup(GUI_SCAN) + interest(1) + } + field(LCNT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Lock Count") + interest(2) + } + field(PACT, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Record active") + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + special(SPC_NOMOD) + interest(1) + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + prompt("Access Security Pvt") + } + field(PPN, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("pprocessNotify") + interest(4) + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + extra("struct processNotifyRecord *ppnr") + interest(4) + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + special(SPC_NOMOD) + prompt("Scan Private") + interest(4) + } + field(RSET, DBF_NOACCESS) { + interest(4) + prompt("Address of RSET") + special(SPC_NOMOD) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + interest(4) + prompt("DSET address") + special(SPC_NOMOD) + extra("struct dset *dset") + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + prompt("Device Private") + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + special(SPC_NOMOD) + prompt("Address of dbRecordType") + interest(4) + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + prompt("Lock Set") + } + field(PRIO, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scheduling Priority") + menu(menuPriority) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + prompt("Break Point") + special(SPC_NOMOD) + interest(1) + } + field(UDF, DBF_UCHAR) { + prompt("Undefined") + interest(1) + promptgroup(GUI_COMMON) + initial("1") + pp(TRUE) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + promptgroup(GUI_COMMON) + interest(1) + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + } + field(TIME, DBF_NOACCESS) { + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + prompt("Time") + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup(GUI_LINKS) + interest(1) + } + field(INP, DBF_INLINK) { + prompt("Input Specification") + interest(1) + promptgroup(GUI_INPUTS) + } + field(VAL, DBF_ENUM) { + promptgroup(GUI_INPUTS) + prompt("Current Value") + asl(ASL0) + pp(TRUE) + } + field(ZSV, DBF_MENU) { + pp(TRUE) + menu(menuAlarmSevr) + prompt("Zero Error Severity") + interest(1) + promptgroup(GUI_ALARMS) + } + field(OSV, DBF_MENU) { + prompt("One Error Severity") + menu(menuAlarmSevr) + promptgroup(GUI_BITS1) + interest(1) + pp(TRUE) + } + field(COSV, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Change of State Svr") + promptgroup(GUI_BITS2) + interest(1) + pp(TRUE) + } + field(ZNAM, DBF_STRING) { + prompt("Zero Name") + promptgroup(GUI_CALC) + size(26) + interest(1) + prop(YES) + pp(TRUE) + } + field(ONAM, DBF_STRING) { + prop(YES) + pp(TRUE) + interest(1) + size(26) + promptgroup(GUI_CLOCK) + prompt("One Name") + } + field(RVAL, DBF_ULONG) { + pp(TRUE) + prompt("Raw Value") + } + field(ORAW, DBF_ULONG) { + special(SPC_NOMOD) + prompt("prev Raw Value") + interest(3) + } + field(MASK, DBF_ULONG) { + prompt("Hardware Mask") + special(SPC_NOMOD) + interest(1) + } + field(LALM, DBF_USHORT) { + interest(3) + special(SPC_NOMOD) + prompt("Last Value Alarmed") + } + field(MLST, DBF_USHORT) { + special(SPC_NOMOD) + prompt("Last Value Monitored") + interest(3) + } + field(SIOL, DBF_INLINK) { + prompt("Sim Input Specifctn") + interest(1) + promptgroup(GUI_INPUTS) + } + field(SVAL, DBF_ULONG) { + prompt("Simulation Value") + } + field(SIML, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Sim Mode Location") + } + field(SIMM, DBF_MENU) { + interest(1) + menu(menuSimm) + prompt("Simulation Mode") + } + field(SIMS, DBF_MENU) { + promptgroup(GUI_INPUTS) + interest(2) + menu(menuAlarmSevr) + prompt("Sim mode Alarm Svrty") + } +} +device(bi, CONSTANT, devBiSoft, "Soft Channel") +device(bi, CONSTANT, devBiSoftRaw, "Raw Soft Channel") +device(bi, CONSTANT, devBiSoftCallback, "Async Soft Channel") +device(bi, INST_IO, devBiDbState, "Db State") +device(bi, INST_IO, asynBiInt32, "asynInt32") +device(bi, INST_IO, asynBiUInt32Digital, "asynUInt32Digital") +device(bi, INST_IO, devbiStream, "stream") +driver(drvAsyn) +driver(stream) +registrar(dbndInitialize) +registrar(syncInitialize) +registrar(asSub) +registrar(arrayTestRegister) +registrar(drvAsynIPServerPortRegisterCommands) +registrar(asynRegister) +registrar(drvAsynIPPortRegisterCommands) +registrar(subAveRegister) +registrar(arrInitialize) +registrar(interpRegister) +registrar(streamRegistrar) +registrar(tsInitialize) +registrar(asynInterposeEosRegister) +registrar(asynInterposeFlushRegister) +registrar(editSseqRegistrar) +function(aSubReadDHTProcess) +function(aSubReadDHTInit) +variable(dbTemplateMaxVars, int) +variable(arrayTestDebug, int) +variable(interpDebug, int) +variable(aCalcAsyncThreshold, int) +variable(sCalcoutRecordDebug, int) +variable(asCaDebug, int) +variable(seqDLYprecision, int) +variable(boHIGHprecision, int) +variable(sCalcStackHW, int) +variable(calcoutODLYlimit, double) +variable(transformRecordDebug, int) +variable(atExitDebug, int) +variable(sCalcStackLW, int) +variable(devsCalcoutSoftDebug, int) +variable(dbBptNotMonotonic, int) +variable(sCalcPostfixDebug, int) +variable(swaitRecordDebug, int) +variable(aSubReadDHTDebug, int) +variable(callbackParallelThreadsDefault, int) +variable(dbRecordsOnceOnly, int) +variable(aCalcLoopMax, int) +variable(sseqRecDebug, int) +variable(aCalcPostfixDebug, int) +variable(sCalcPerformDebug, int) +variable(boHIGHlimit, double) +variable(aCalcPerformDebug, int) +variable(aCalcoutRecordDebug, int) +variable(histogramSDELprecision, int) +variable(calcoutODLYprecision, int) +variable(devaCalcoutSoftDebug, int) +variable(debugSubAve, int) +variable(streamDebug, int) +variable(sCalcLoopMax, int) +variable(seqDLYlimit, double) diff -r ec018606c207 -r 68a4f654dc00 iocBoot/iockstm/st.cmd --- a/iocBoot/iockstm/st.cmd Mon Jun 27 18:08:05 2016 +0200 +++ b/iocBoot/iockstm/st.cmd Thu Jul 05 08:48:18 2018 +0000 @@ -3,27 +3,39 @@ ## You may have to change kstm to something else ## everywhere it appears in this file -< envPaths - -epicsEnvSet EUROTH01_INET 141.14.128.45:4001 -epicsEnvSet EUROTH01_LINK EUROTH_01 +#< envPaths -epicsEnvSet EUROTH02_INET 141.14.128.45:4002 -epicsEnvSet EUROTH02_LINK EUROTH_02 +epicsEnvSet("ARCH","linux-arm") +epicsEnvSet("IOC","iockstm") +epicsEnvSet("TOP","/home/epics/FHI/zweikstm") +epicsEnvSet("HOME","/home/epics/") +epicsEnvSet("MODULES","/home/epics//EPICS/modules") +epicsEnvSet("SUPPORT","/home/epics//EPICS/support") +epicsEnvSet("SNCSEQ","/home/epics//EPICS/modules/seq-2.2.2") +epicsEnvSet("ASYN","/home/epics//EPICS/support/asyn4-26") +epicsEnvSet("STREAM","/home/epics//EPICS/support/stream") +epicsEnvSet("EUROTHERM2K","/home/epics//EPICS/support/eurotherm2k-1-18") +epicsEnvSet("EPICS_BASE","/home/epics//EPICS/base") -epicsEnvSet MTM_INET 141.14.128.45:4004 -epicsEnvSet MTM_LINK MTM +epicsEnvSet M1900_01_INET 141.14.128.48:4001 +epicsEnvSet M1900_01_LINK M1900_01 -epicsEnvSet M1900_INET 141.14.128.45:4003 -epicsEnvSet M1900_LINK M1900 +epicsEnvSet M1900_02_INET 141.14.128.48:4002 +epicsEnvSet M1900_02_LINK M1900_02 + +epicsEnvSet EUROTH01_INET 141.14.128.48:4003 +epicsEnvSet EUROTH01_LINK EUROTH_01 -epicsEnvSet PGC2_MC_INET 141.14.128.45:4005 -epicsEnvSet PGC2_MC_LINK PGC2_MC +epicsEnvSet EUROTH02_INET 141.14.128.48:4004 +epicsEnvSet EUROTH02_LINK EUROTH_02 -epicsEnvSet PGC2_PC_INET 141.14.128.45:4006 -epicsEnvSet PGC2_PC_LINK PGC2_PC +epicsEnvSet MAXI_INET 141.14.128.48:4005 +epicsEnvSet MAXI_LINK MAXI_01 -cd "${TOP}" +epicsEnvSet FOCUS_INET 141.14.128.48:4006 +epicsEnvSet FOCUS_LINK FOCUS_01 + +cd "$(TOP)" epicsEnvSet "STREAM_PROTOCOL_PATH", "$(TOP)/db" @@ -33,10 +45,10 @@ drvAsynIPPortConfigure(${EUROTH01_LINK}, ${EUROTH01_INET}, 0, 0, 0) drvAsynIPPortConfigure(${EUROTH02_LINK}, ${EUROTH02_INET}, 0, 0, 0) -drvAsynIPPortConfigure(${MTM_LINK}, ${MTM_INET}, 0, 0, 0) -drvAsynIPPortConfigure(${M1900_LINK}, ${M1900_INET}, 0, 0, 0) -drvAsynIPPortConfigure(${PGC2_MC_LINK}, ${PGC2_MC_INET}, 0, 0, 0) -drvAsynIPPortConfigure(${PGC2_PC_LINK}, ${PGC2_PC_INET}, 0, 0, 0) +drvAsynIPPortConfigure(${M1900_01_LINK}, ${M1900_01_INET}, 0, 0, 0) +drvAsynIPPortConfigure(${M1900_02_LINK}, ${M1900_02_INET}, 0, 0, 0) +drvAsynIPPortConfigure(${MAXI_LINK}, ${MAXI_INET}, 0, 0, 0) +drvAsynIPPortConfigure(${FOCUS_LINK}, ${FOCUS_INET}, 0, 0, 0) #drvAsynI2CConfigure( "I2C", "/dev/i2c-1" ) @@ -48,9 +60,8 @@ #define ASYN_TRACEIO_ASCII 0x0001 #define ASYN_TRACEIO_ESCAPE 0x0002 #define ASYN_TRACEIO_HEX 0x0004 -#asynSetTraceIOMask ${PGC2_MC_LINK} 0 1 -#asynSetTraceIOMask ${PGC2_PC_LINK} 0 1 #asynSetTraceIOMask ${M1900_LINK} 0 1 +#asynSetTraceIOMask ${EUROTH01_LINK} 0 4 # Set asyn trace masks # ASYN_TRACE_ERROR 0x0001 @@ -58,37 +69,24 @@ # ASYN_TRACEIO_FILTER 0x0004 # ASYN_TRACEIO_DRIVER 0x0008 # ASYN_TRACE_FLOW 0x0010 -#asynSetTraceMask ${PGC2_MC_LINK} 0 8 -#asynSetTraceMask ${PGC2_PC_LINK} 0 8 #asynSetTraceMask ${M1900_LINK} 0 8 +#asynSetTraceMask ${EUROTH01_LINK} 0xff epicsEnvSet ("streamDebug","1") ## Load record instances -dbLoadRecords("db/misc.db","P=FHI4KSTM, Q=MISC") - -dbLoadRecords("db/dht.db","P=FHI4KSTM, Q=DHT") +dbLoadRecords("db/misc.db","P=FHI2KSTMAFM, Q=MISC") -dbLoadTemplate("db/4kStmEuro.sub") - -dbLoadRecords("db/mtm.db","PORT=MTM, P=FHI4KSTM, Q=MTM") -dbLoadRecords("db/M1900.db","PORT=M1900, P=FHI4KSTM, Q=M1900") -dbLoadRecords("db/pgc2.db","PORT=PGC2_MC, P=FHI4KSTM, Q=PGC2_MC") -dbLoadRecords("db/pgc2.db","PORT=PGC2_PC, P=FHI4KSTM, Q=PGC2_PC") +#belongs to GPIO temp sensor +dbLoadRecords("db/dht.db","P=FHI2KSTMAFM, Q=DHT") -#dbLoadRecords("db/adcPi.db","P=FHI4KSTM:ADCPI:CH_0,C=0") -dbLoadRecords("db/adcPi.db","P=FHI4KSTM:ADCPI:CH_1,C=1") -dbLoadRecords("db/adcPi.db","P=FHI4KSTM:ADCPI:CH_2,C=2") -dbLoadRecords("db/adcPi.db","P=FHI4KSTM:ADCPI:CH_3,C=3") -#dbLoadRecords("db/adcPi.db","P=FHI4KSTM:ADCPI:CH_4,C=4") -#dbLoadRecords("db/adcPi.db","P=FHI4KSTM:ADCPI:CH_5,C=5") -#dbLoadRecords("db/adcPi.db","P=FHI4KSTM:ADCPI:CH_6,C=6") -#dbLoadRecords("db/adcPi.db","P=FHI4KSTM:ADCPI:CH_7,C=7") +dbLoadTemplate("db/2kStmEuro.sub") +dbLoadTemplate("db/maxigauge.sub") -#2K translation PVs -dbLoadRecords("db/2Kstm.db"); -dbLoadRecords("db/PhotonSTM.db"); +dbLoadRecords("db/M1900.db","PORT=M1900_01, P=FHI2KSTMAFM:M1900, Q=SampleTemperature") +dbLoadRecords("db/M1900.db","PORT=M1900_02, P=FHI2KSTMAFM:M1900, Q=MicroscopeTemperature") +dbLoadRecords("db/focusEVC300.db", "PORT=FOCUS_01, P=FHI2KSTMAFM, R=EVC300") var aSubReadDHTDebug 1 iocInit() diff -r ec018606c207 -r 68a4f654dc00 kstmApp/Db/2kStmEuro.sub --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kstmApp/Db/2kStmEuro.sub Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,20 @@ +# Macros: +# P Device prefix +# Q Device suffix +# PORT Asyn port name +# GAD Global address number, normally 0 +# LAD Local address number, normally 1 +# SPMAX Maximum setpoint +# RRMAX Maximum ramp rate +# SPCMD Setpoint command, set to 'write' for floating point +# PREC Setpoint precision +# EGU Engineering units for ramp rate, default is C/s +# name object and gui association name +# gda_name Name to export to gda as +# gda_desc Description for gda +file db/eurotherm2k.template +{ +pattern { P, Q, PORT, GAD, LAD, SPMAX, RRMAX, SPCMD, PREC, EGU, name, gda_name, gda_desc } + { "FHI2KSTMAFM:Eurotherm:", "PrepSampleTemperature", "EUROTH_01", "0", "1", "1000", "1", "writeint", "0", "C/s", "", "", "" } + { "FHI2KSTMAFM:Eurotherm:", "MainSampleTemperature", "EUROTH_02", "0", "1", "1000", "1", "writeint", "0", "C/s", "", "", "" } +} diff -r ec018606c207 -r 68a4f654dc00 kstmApp/Db/Makefile --- a/kstmApp/Db/Makefile Mon Jun 27 18:08:05 2016 +0200 +++ b/kstmApp/Db/Makefile Thu Jul 05 08:48:18 2018 +0000 @@ -17,22 +17,20 @@ DB += mtm.db DB += mtm.proto -DB += 4kStmEuro.sub +DB += 2kStmEuro.sub DB += eurotherm2k.proto DB += eurotherm2k.template -DB += pgc2.db -DB += pgc2.proto +DB += maxigauge.sub +DB += maxigauge.proto +DB += maxigauge.template + +DB += focusEVC300.db +DB += focusEVC300.proto DB += M1900.db DB += M1900.proto -DB += adcPi.db - -DB += 2Kstm.db - -DB += PhotonSTM.db - #---------------------------------------------------- # If .db template is not named *.template add # _template = diff -r ec018606c207 -r 68a4f654dc00 kstmApp/Db/focusEVC300.db --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kstmApp/Db/focusEVC300.db Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,186 @@ +record(ai, "$(P):$(R):HV"){ + field(DESC, "measured high voltage") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getFloat(HV) $(PORT)") + field(EGU, "V") + field(SCAN, "1 second") +} + +record(ai, "$(P):$(R):HVmax"){ + field(DESC, "max. measured high voltage") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getFloat(HVmax) $(PORT)") + field(EGU, "V") + field(SCAN, "1 second") +} + +record(ai, "$(P):$(R):Emis"){ + field(DESC, "measured emission current") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getFloat(Emis) $(PORT)") + field(EGU, "mA") + field(SCAN, "1 second") +} + +record(ai, "$(P):$(R):Emismax"){ + field(DESC, "max. measured emission current") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getFloat(Emismax) $(PORT)") + field(EGU, "mA") + field(SCAN, "1 second") +} + +record(ai, "$(P):$(R):Fil"){ + field(DESC, "measured filament current") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getFloat(Fil) $(PORT)") + field(EGU, "A") + field(SCAN, "1 second") +} + +record(ai, "$(P):$(R):Filmax"){ + field(DESC, "max. measured filament current") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getFloat(Filmax) $(PORT)") + field(EGU, "A") + field(SCAN, "1 second") +} + +record(ai, "$(P):$(R):Temp"){ + field(DESC, "measured temperature of thermocouple") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getFloat(Temp) $(PORT)") + field(EGU, "°C") + field(SCAN, "1 second") +} + +record(ai, "$(P):$(R):Flux"){ + field(DESC, "measured flux") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getFloat(Flux) $(PORT)") + field(EGU, "A") + field(SCAN, "1 second") +} + +record(ai, "$(P):$(R):Aux"){ + field(DESC, "measured voltage at AUX-input") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getFloat(Aux) $(PORT)") + field(EGU, "V") + field(SCAN, "1 second") +} + +record(stringin, "$(P):$(R):TMR"){ + field(DESC, "reached timer count-down") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getString(TMR) $(PORT)") + field(SCAN, "1 second") +} + +record(stringin, "$(P):$(R):Clk"){ + field(DESC, "accumulated clock-time") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getString(Clk) $(PORT)") + field(SCAN, "1 second") +} + +record(ai, "$(P):$(R):Exp"){ + field(DESC, "reached exposition count-down") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getFloat(Exp) $(PORT)") + field(SCAN, "1 second") +} + +record(ai, "$(P):$(R):Dep"){ + field(DESC, "accumulated deposition") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getFloat(Dep) $(PORT)") + field(SCAN, "1 second") +} + +record(bi, "$(P):$(R):Timer"){ + field(DESC, "timer status") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getBool(Timer) $(PORT)") + field(ONAM, "ON") + field(ZNAM, "OFF") + field(SCAN, "1 second") +} + +record(bi, "$(P):$(R):Clock"){ + field(DESC, "clock status") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getBool(Clock) $(PORT)") + field(ONAM, "ON") + field(ZNAM, "OFF") + field(SCAN, "1 second") +} + +record(bi, "$(P):$(R):Exposure"){ + field(DESC, "exposition status") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getBool(Exposure) $(PORT)") + field(ONAM, "ON") + field(ZNAM, "OFF") +} + +record(bi, "$(P):$(R):Deposition"){ + field(DESC, "deposition status") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getBool(Deposition) $(PORT)") + field(ONAM, "ON") + field(ZNAM, "OFF") + field(SCAN, "1 second") +} + +record(bi, "$(P):$(R):Automodus"){ + field(DESC, "flux regulation status") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getBool(Automodus) $(PORT)") + field(ONAM, "ON") + field(ZNAM, "OFF") + field(SCAN, "1 second") +} + +record(bi, "$(P):$(R):Fluxmode"){ + field(DESC, "automodus status") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getBool(Fluxmode) $(PORT)") + field(ONAM, "ON") + field(ZNAM, "OFF") + field(SCAN, "1 second") +} + +record(stringin, "$(P):$(R):Shutter"){ + field(DESC, "shutter status") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getString(Shutter) $(PORT)") + field(SCAN, "1 second") +} + +record(bi, "$(P):$(R):Emiscon"){ + field(DESC, "emission or filament; status") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getBool(Emiscon) $(PORT)") + field(ONAM, "off: filament control") + field(ZNAM, "on: emission control") + field(SCAN, "1 second") +} + +record(bi, "$(P):$(R):Interlock"){ + field(DESC, "interlock status") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getBool(Interlock) $(PORT)") + field(ONAM, "ok") + field(ZNAM, "failure") + field(SCAN, "1 second") +} + +record(bi, "$(P):$(R):Supr"){ + field(DESC, "suppressor status") + field(DTYP, "stream") + field(INP, "@focusEVC300.proto getBool(Timer) $(PORT)") + field(ONAM, "ON") + field(ZNAM, "OFF") + field(SCAN, "1 second") +} \ No newline at end of file diff -r ec018606c207 -r 68a4f654dc00 kstmApp/Db/focusEVC300.proto --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kstmApp/Db/focusEVC300.proto Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,16 @@ +Terminator = CR; + +getFloat{ + out "GET \$1"; + in "%f"; +} + +getBool{ + out "GET \$1"; + in "%b"; +} + +getString{ + out "GET \$1"; + in "%#s"; +} \ No newline at end of file diff -r ec018606c207 -r 68a4f654dc00 kstmApp/Db/maxigauge.proto --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kstmApp/Db/maxigauge.proto Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,6 @@ +getSensorValue { + out "PR\$1\r"; + in ACK CR 0x00 LF; + out ENQ; + in "%s" CR 0x00 LF; +} diff -r ec018606c207 -r 68a4f654dc00 kstmApp/Db/maxigauge.sub --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kstmApp/Db/maxigauge.sub Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,14 @@ +# macros +# P -> Device +# R -> PV +# PORT -> Asyn Link +# CHA -> Physical Port on the Pfeiffer Maxigauge + +file db/maxigauge.template +{ + pattern{ P, R, PORT, CHA } + { "FHI2KSTMAFM:MaxiGauge", "ForeVacuum", "MAXI_01", "1" } + { "FHI2KSTMAFM:MaxiGauge", "ExchangeGas", "MAXI_01", "2" } + { "FHI2KSTMAFM:MaxiGauge", "PrepChamber", "MAXI_01", "3" } + { "FHI2KSTMAFM:MaxiGauge", "MainChamber", "MAXI_01", "4" } +} diff -r ec018606c207 -r 68a4f654dc00 kstmApp/Db/maxigauge.template --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kstmApp/Db/maxigauge.template Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,22 @@ +record(stringin, "$(P):$(R):getter"){ + field(DESC, "get Pfeiffer MaxiGauge Sensor Value") + field(DTYP, "stream") + field(INP, "@maxigauge.proto getSensorValue($(CHA)) $(PORT)") + field(SCAN, "1 second") + field(FLNK, "$(P):$(R):Status") +} + +record(scalcout, "$(P):$(R):Status"){ + field(DESC, "extracts the Status from the response") + field(INAA, "$(P):$(R):getter") + field(CALC, "SSCANF(AA, \"%d%*\")") + field(FLNK, "$(P):$(R):Pressure") +} + +record(scalcout, "$(P):$(R):Pressure"){ + field(DESC, "extracts the Pressure from the response") + field(INAA, "$(P):$(R):getter") + field(CALC, "SSCANF(AA, \"%*2c%E\")") + field(PREC, "12") + field(EGU, "mbar") +} diff -r ec018606c207 -r 68a4f654dc00 kstmApp/src/Makefile --- a/kstmApp/src/Makefile Mon Jun 27 18:08:05 2016 +0200 +++ b/kstmApp/src/Makefile Thu Jul 05 08:48:18 2018 +0000 @@ -21,13 +21,13 @@ kstm_DBD += asyn.dbd kstm_DBD += drvAsynIPPort.dbd kstm_DBD += stream.dbd -kstm_DBD += adcPi.dbd -#kstm_DBD += drvAsynI2C.dbd +kstm_DBD += calc.dbd # Add all the support libraries needed by this IOC #kstm_LIBS += xxx kstm_LIBS += stream kstm_LIBS += asyn +kstm_LIBS += calc # kstm_registerRecordDeviceDriver.cpp derives from kstm.dbd kstm_SRCS += kstm_registerRecordDeviceDriver.cpp @@ -37,11 +37,6 @@ kstm_SRCS += pi_2_mmio.c kstm_SRCS += pi_2_dht_read.c kstm_SRCS += aSubReadDHT.c -#kstm_SRCS += dbSubReadADC.c -#kstm_SRCS += devadcpi.c -kstm_SRCS += drvAdcPi.c -kstm_SRCS += devAdcPi.c -#kstm_SRCS += drvAsynI2C.cpp # Build the main IOC entry point on workstation OSs. kstm_SRCS_DEFAULT += kstmMain.cpp diff -r ec018606c207 -r 68a4f654dc00 kstmApp/src/O.Common/kstm.dbd --- a/kstmApp/src/O.Common/kstm.dbd Mon Jun 27 18:08:05 2016 +0200 +++ b/kstmApp/src/O.Common/kstm.dbd Thu Jul 05 08:48:18 2018 +0000 @@ -1,34 +1,45 @@ -menu(serialPRTY) { - choice(serialPRTY_unknown, "Unknown") - choice(serialPRTY_None, "None") - choice(serialPRTY_Even, "Even") - choice(serialPRTY_Odd, "Odd") -} -menu(waveformPOST) { - choice(waveformPOST_Always, "Always") - choice(waveformPOST_OnChange, "On Change") -} -menu(aaoPOST) { - choice(aaoPOST_Always, "Always") - choice(aaoPOST_OnChange, "On Change") -} -menu(menuPriority) { - choice(menuPriorityLOW, "LOW") - choice(menuPriorityMEDIUM, "MEDIUM") - choice(menuPriorityHIGH, "HIGH") -} -menu(serialSBIT) { - choice(serialSBIT_unknown, "Unknown") - choice(serialSBIT_1, "1") - choice(serialSBIT_2, "2") +menu(selSELM) { + choice(selSELM_Specified, "Specified") + choice(selSELM_High_Signal, "High Signal") + choice(selSELM_Low_Signal, "Low Signal") + choice(selSELM_Median_Signal, "Median Signal") +} +menu(menuOmsl) { + choice(menuOmslsupervisory, "supervisory") + choice(menuOmslclosed_loop, "closed_loop") +} +menu(asynAUTOCONNECT) { + choice(asynAUTOCONNECT_noAutoConnect, "noAutoConnect") + choice(asynAUTOCONNECT_autoConnect, "autoConnect") } menu(calcoutDOPT) { choice(calcoutDOPT_Use_VAL, "Use CALC") choice(calcoutDOPT_Use_OVAL, "Use OCAL") } -menu(menuOmsl) { - choice(menuOmslsupervisory, "supervisory") - choice(menuOmslclosed_loop, "closed_loop") +menu(menuScan) { + choice(menuScanPassive, "Passive") + choice(menuScanEvent, "Event") + choice(menuScanI_O_Intr, "I/O Intr") + choice(menuScan10_second, "10 second") + choice(menuScan5_second, "5 second") + choice(menuScan2_second, "2 second") + choice(menuScan1_second, "1 second") + choice(menuScan_5_second, ".5 second") + choice(menuScan_2_second, ".2 second") + choice(menuScan_1_second, ".1 second") +} +menu(transformIVLA) { + choice(transformIVLA_IGNORE, "Ignore error") + choice(transformIVLA_DO_NOTHING, "Do Nothing") +} +menu(gpibUCMD) { + choice(gpibUCMD_None, "None") + choice(gpibUCMD_Device_Clear__DCL_, "Device Clear (DCL)") + choice(gpibUCMD_Local_Lockout__LL0_, "Local Lockout (LL0)") + choice(gpibUCMD_Serial_Poll_Disable__SPD_, "Serial Poll Disable (SPD)") + choice(gpibUCMD_Serial_Poll_Enable__SPE_, "Serial Poll Enable (SPE)") + choice(gpibUCMD_Unlisten__UNL_, "Unlisten (UNL)") + choice(gpibUCMD_Untalk__UNT_, "Untalk (UNT)") } menu(menuFtype) { choice(menuFtypeSTRING, "STRING") @@ -42,9 +53,29 @@ choice(menuFtypeDOUBLE, "DOUBLE") choice(menuFtypeENUM, "ENUM") } -menu(stringinPOST) { - choice(stringinPOST_OnChange, "On Change") - choice(stringinPOST_Always, "Always") +menu(menuPost) { + choice(menuPost_OnChange, "On Change") + choice(menuPost_Always, "Always") +} +menu(calcoutINAV) { + choice(calcoutINAV_EXT_NC, "Ext PV NC") + choice(calcoutINAV_EXT, "Ext PV OK") + choice(calcoutINAV_LOC, "Local PV") + choice(calcoutINAV_CON, "Constant") +} +menu(serialMCTL) { + choice(serialMCTL_unknown, "Unknown") + choice(serialMCTL_CLOCAL, "CLOCAL") + choice(serialMCTL_Yes, "YES") +} +menu(aaoPOST) { + choice(aaoPOST_Always, "Always") + choice(aaoPOST_OnChange, "On Change") +} +menu(serialSBIT) { + choice(serialSBIT_unknown, "Unknown") + choice(serialSBIT_1, "1") + choice(serialSBIT_2, "2") } menu(menuPini) { choice(menuPiniNO, "NO") @@ -54,22 +85,130 @@ choice(menuPiniPAUSE, "PAUSE") choice(menuPiniPAUSED, "PAUSED") } -menu(dfanoutSELM) { - choice(dfanoutSELM_All, "All") - choice(dfanoutSELM_Specified, "Specified") - choice(dfanoutSELM_Mask, "Mask") -} -menu(menuScan) { - choice(menuScanPassive, "Passive") - choice(menuScanEvent, "Event") - choice(menuScanI_O_Intr, "I/O Intr") - choice(menuScan10_second, "10 second") - choice(menuScan5_second, "5 second") - choice(menuScan2_second, "2 second") - choice(menuScan1_second, "1 second") - choice(menuScan_5_second, ".5 second") - choice(menuScan_2_second, ".2 second") - choice(menuScan_1_second, ".1 second") +menu(menuYesNo) { + choice(menuYesNoNO, "NO") + choice(menuYesNoYES, "YES") +} +menu(scalcoutOOPT) { + choice(scalcoutOOPT_Every_Time, "Every Time") + choice(scalcoutOOPT_On_Change, "On Change") + choice(scalcoutOOPT_When_Zero, "When Zero") + choice(scalcoutOOPT_When_Non_zero, "When Non-zero") + choice(scalcoutOOPT_Transition_To_Zero, "Transition To Zero") + choice(scalcoutOOPT_Transition_To_Non_zero, "Transition To Non-zero") + choice(scalcoutOOPT_Never, "Never") +} +menu(serialFCTL) { + choice(serialFCTL_unknown, "Unknown") + choice(serialFCTL_None, "None") + choice(serialFCTL_Hardware, "Hardware") +} +menu(scalcoutINAV) { + choice(scalcoutINAV_EXT_NC, "Ext PV NC") + choice(scalcoutINAV_EXT, "Ext PV OK") + choice(scalcoutINAV_LOC, "Local PV") + choice(scalcoutINAV_CON, "Constant") +} +menu(aoOIF) { + choice(aoOIF_Full, "Full") + choice(aoOIF_Incremental, "Incremental") +} +menu(fanoutSELM) { + choice(fanoutSELM_All, "All") + choice(fanoutSELM_Specified, "Specified") + choice(fanoutSELM_Mask, "Mask") +} +menu(asynEOMREASON) { + choice(asynEOMREASONNone, "None") + choice(asynEOMREASONCNT, "Count") + choice(asynEOMREASONEOS, "Eos") + choice(asynEOMREASONCNTEOS, "Count Eos") + choice(asynEOMREASONEND, "End") + choice(asynEOMREASONCNTEND, "Count End") + choice(asynEOMREASONEOSEND, "Eos End") + choice(asynEOMREASONCNTEOSEND, "Count Eos End") +} +menu(acalcoutDOPT) { + choice(acalcoutDOPT_Use_VAL, "Use CALC") + choice(acalcoutDOPT_Use_OVAL, "Use OCAL") +} +menu(scalcoutINAP) { + choice(scalcoutINAP_No, "No PROC on Change") + choice(scalcoutINAP_Yes, "PROC on Change") +} +menu(menuAlarmSevr) { + choice(menuAlarmSevrNO_ALARM, "NO_ALARM") + choice(menuAlarmSevrMINOR, "MINOR") + choice(menuAlarmSevrMAJOR, "MAJOR") + choice(menuAlarmSevrINVALID, "INVALID") +} +menu(swaitINAV) { + choice(swaitINAV_PV_OK, "PV OK") + choice(swaitINAV_PV_BAD, "PV BAD") + choice(swaitINAV_No_PV, "No PV") +} +menu(menuIvoa) { + choice(menuIvoaContinue_normally, "Continue normally") + choice(menuIvoaDon_t_drive_outputs, "Don't drive outputs") + choice(menuIvoaSet_output_to_IVOV, "Set output to IVOV") +} +menu(transformIAV) { + choice(transformIAV_EXT_NC, "Ext PV NC") + choice(transformIAV_EXT, "Ext PV OK") + choice(transformIAV_LOC, "Local PV") + choice(transformIAV_CON, "Constant") +} +menu(acalcoutOOPT) { + choice(acalcoutOOPT_Every_Time, "Every Time") + choice(acalcoutOOPT_On_Change, "On Change") + choice(acalcoutOOPT_When_Zero, "When Zero") + choice(acalcoutOOPT_When_Non_zero, "When Non-zero") + choice(acalcoutOOPT_Transition_To_Zero, "Transition To Zero") + choice(acalcoutOOPT_Transition_To_Non_zero, "Transition To Non-zero") + choice(acalcoutOOPT_Never, "Never") +} +menu(calcoutOOPT) { + choice(calcoutOOPT_Every_Time, "Every Time") + choice(calcoutOOPT_On_Change, "On Change") + choice(calcoutOOPT_When_Zero, "When Zero") + choice(calcoutOOPT_When_Non_zero, "When Non-zero") + choice(calcoutOOPT_Transition_To_Zero, "Transition To Zero") + choice(calcoutOOPT_Transition_To_Non_zero, "Transition To Non-zero") +} +menu(acalcoutWAIT) { + choice(acalcoutWAIT_NoWait, "NoWait") + choice(acalcoutWAIT_Wait, "Wait") +} +menu(asynINTERFACE) { + choice(asynINTERFACE_OCTET, "asynOctet") + choice(asynINTERFACE_INT32, "asynInt32") + choice(asynINTERFACE_UINT32, "asynUInt32Digital") + choice(asynINTERFACE_FLOAT64, "asynFloat64") +} +menu(acalcoutINAP) { + choice(acalcoutINAP_No, "No PROC on Change") + choice(acalcoutINAP_Yes, "PROC on Change") +} +menu(histogramCMD) { + choice(histogramCMD_Read, "Read") + choice(histogramCMD_Clear, "Clear") + choice(histogramCMD_Start, "Start") + choice(histogramCMD_Stop, "Stop") +} +menu(acalcoutINAV) { + choice(acalcoutINAV_EXT_NC, "Ext PV NC") + choice(acalcoutINAV_EXT, "Ext PV OK") + choice(acalcoutINAV_LOC, "Local PV") + choice(acalcoutINAV_CON, "Constant") +} +menu(swaitOOPT) { + choice(swaitOOPT_Every_Time, "Every Time") + choice(swaitOOPT_On_Change, "On Change") + choice(swaitOOPT_When_Zero, "When Zero") + choice(swaitOOPT_When_Non_zero, "When Non-zero") + choice(swaitOOPT_Transition_To_Zero, "Transition To Zero") + choice(swaitOOPT_Transition_To_Non_zero, "Transition To Non-zero") + choice(swaitOOPT_Never, "Never") } menu(gpibACMD) { choice(gpibACMD_None, "None") @@ -79,9 +218,57 @@ choice(gpibACMD_Take_Control__TCT_, "Take Control (TCT)") choice(gpibACMD_Serial_Poll, "Serial Poll") } -menu(aSubLFLG) { - choice(aSubLFLG_IGNORE, "IGNORE") - choice(aSubLFLG_READ, "READ") +menu(swaitINAP) { + choice(swaitINAP_No, "No") + choice(swaitINAP_Yes, "Yes") +} +menu(transformCOPT) { + choice(transformCOPT_CONDITIONAL, "Conditional") + choice(transformCOPT_ALWAYS, "Always") +} +menu(swaitDOPT) { + choice(swaitDOPT_Use_VAL, "Use VAL") + choice(swaitDOPT_Use_DOL, "Use DOL") +} +menu(menuConvert) { + choice(menuConvertNO_CONVERSION, "NO CONVERSION") + choice(menuConvertSLOPE, "SLOPE") + choice(menuConvertLINEAR, "LINEAR") + choice(menuConverttypeKdegF, "typeKdegF") + choice(menuConverttypeKdegC, "typeKdegC") + choice(menuConverttypeJdegF, "typeJdegF") + choice(menuConverttypeJdegC, "typeJdegC") + choice(menuConverttypeEdegF, "typeEdegF(ixe only)") + choice(menuConverttypeEdegC, "typeEdegC(ixe only)") + choice(menuConverttypeTdegF, "typeTdegF") + choice(menuConverttypeTdegC, "typeTdegC") + choice(menuConverttypeRdegF, "typeRdegF") + choice(menuConverttypeRdegC, "typeRdegC") + choice(menuConverttypeSdegF, "typeSdegF") + choice(menuConverttypeSdegC, "typeSdegC") +} +menu(asynFMT) { + choice(asynFMT_ASCII, "ASCII") + choice(asynFMT_Hybrid, "Hybrid") + choice(asynFMT_Binary, "Binary") +} +menu(serialBAUD) { + choice(serialBAUD_unknown, "Unknown") + choice(serialBAUD_300, "300") + choice(serialBAUD_600, "600") + choice(serialBAUD_1200, "1200") + choice(serialBAUD_2400, "2400") + choice(serialBAUD_4800, "4800") + choice(serialBAUD_9600, "9600") + choice(serialBAUD_19200, "19200") + choice(serialBAUD_38400, "38400") + choice(serialBAUD_57600, "57600") + choice(serialBAUD_115200, "115200") + choice(serialBAUD_230400, "230400") + choice(serialBAUD_460800, "460800") + choice(serialBAUD_576000, "576000") + choice(serialBAUD_921600, "921600") + choice(serialBAUD_1152000, "1152000") } menu(asynTMOD) { choice(asynTMOD_Write_Read, "Write/Read") @@ -90,16 +277,6 @@ choice(asynTMOD_Flush, "Flush") choice(asynTMOD_NoIO, "NoI/O") } -menu(menuPost) { - choice(menuPost_OnChange, "On Change") - choice(menuPost_Always, "Always") -} -menu(asynINTERFACE) { - choice(asynINTERFACE_OCTET, "asynOctet") - choice(asynINTERFACE_INT32, "asynInt32") - choice(asynINTERFACE_UINT32, "asynUInt32Digital") - choice(asynINTERFACE_FLOAT64, "asynFloat64") -} menu(menuAlarmStat) { choice(menuAlarmStatNO_ALARM, "NO_ALARM") choice(menuAlarmStatREAD, "READ") @@ -124,115 +301,66 @@ choice(menuAlarmStatREAD_ACCESS, "READ_ACCESS") choice(menuAlarmStatWRITE_ACCESS, "WRITE_ACCESS") } -menu(aoOIF) { - choice(aoOIF_Full, "Full") - choice(aoOIF_Incremental, "Incremental") -} -menu(aaiPOST) { - choice(aaiPOST_Always, "Always") - choice(aaiPOST_OnChange, "On Change") -} -menu(calcoutINAV) { - choice(calcoutINAV_EXT_NC, "Ext PV NC") - choice(calcoutINAV_EXT, "Ext PV OK") - choice(calcoutINAV_LOC, "Local PV") - choice(calcoutINAV_CON, "Constant") -} -menu(asynAUTOCONNECT) { - choice(asynAUTOCONNECT_noAutoConnect, "noAutoConnect") - choice(asynAUTOCONNECT_autoConnect, "autoConnect") -} -menu(asynFMT) { - choice(asynFMT_ASCII, "ASCII") - choice(asynFMT_Hybrid, "Hybrid") - choice(asynFMT_Binary, "Binary") -} -menu(seqSELM) { - choice(seqSELM_All, "All") - choice(seqSELM_Specified, "Specified") - choice(seqSELM_Mask, "Mask") +menu(dfanoutSELM) { + choice(dfanoutSELM_All, "All") + choice(dfanoutSELM_Specified, "Specified") + choice(dfanoutSELM_Mask, "Mask") +} +menu(sseqLNKV) { + choice(sseqLNKV_EXT_NC, "Ext PV NC") + choice(sseqLNKV_EXT, "Ext PV OK") + choice(sseqLNKV_LOC, "Local PV") + choice(sseqLNKV_CON, "Constant") } menu(asynCONNECT) { choice(asynCONNECT_Disconnect, "Disconnect") choice(asynCONNECT_Connect, "Connect") } -menu(gpibUCMD) { - choice(gpibUCMD_None, "None") - choice(gpibUCMD_Device_Clear__DCL_, "Device Clear (DCL)") - choice(gpibUCMD_Local_Lockout__LL0_, "Local Lockout (LL0)") - choice(gpibUCMD_Serial_Poll_Disable__SPD_, "Serial Poll Disable (SPD)") - choice(gpibUCMD_Serial_Poll_Enable__SPE_, "Serial Poll Enable (SPE)") - choice(gpibUCMD_Unlisten__UNL_, "Unlisten (UNL)") - choice(gpibUCMD_Untalk__UNT_, "Untalk (UNT)") -} -menu(serialBAUD) { - choice(serialBAUD_unknown, "Unknown") - choice(serialBAUD_300, "300") - choice(serialBAUD_600, "600") - choice(serialBAUD_1200, "1200") - choice(serialBAUD_2400, "2400") - choice(serialBAUD_4800, "4800") - choice(serialBAUD_9600, "9600") - choice(serialBAUD_19200, "19200") - choice(serialBAUD_38400, "38400") - choice(serialBAUD_57600, "57600") - choice(serialBAUD_115200, "115200") - choice(serialBAUD_230400, "230400") - choice(serialBAUD_460800, "460800") - choice(serialBAUD_576000, "576000") - choice(serialBAUD_921600, "921600") - choice(serialBAUD_1152000, "1152000") -} -menu(histogramCMD) { - choice(histogramCMD_Read, "Read") - choice(histogramCMD_Clear, "Clear") - choice(histogramCMD_Start, "Start") - choice(histogramCMD_Stop, "Stop") -} -menu(asynTRACE) { - choice(asynTRACE_Off, "Off") - choice(asynTRACE_On, "On") -} -menu(asynEOMREASON) { - choice(asynEOMREASONNone, "None") - choice(asynEOMREASONCNT, "Count") - choice(asynEOMREASONEOS, "Eos") - choice(asynEOMREASONCNTEOS, "Count Eos") - choice(asynEOMREASONEND, "End") - choice(asynEOMREASONCNTEND, "Count End") - choice(asynEOMREASONEOSEND, "Eos End") - choice(asynEOMREASONCNTEOSEND, "Count Eos End") -} -menu(menuIvoa) { - choice(menuIvoaContinue_normally, "Continue normally") - choice(menuIvoaDon_t_drive_outputs, "Don't drive outputs") - choice(menuIvoaSet_output_to_IVOV, "Set output to IVOV") -} -menu(stringoutPOST) { - choice(stringoutPOST_OnChange, "On Change") - choice(stringoutPOST_Always, "Always") -} -menu(menuAlarmSevr) { - choice(menuAlarmSevrNO_ALARM, "NO_ALARM") - choice(menuAlarmSevrMINOR, "MINOR") - choice(menuAlarmSevrMAJOR, "MAJOR") - choice(menuAlarmSevrINVALID, "INVALID") -} -menu(serialMCTL) { - choice(serialMCTL_unknown, "Unknown") - choice(serialMCTL_CLOCAL, "CLOCAL") - choice(serialMCTL_Yes, "YES") -} -menu(serialFCTL) { - choice(serialFCTL_unknown, "Unknown") - choice(serialFCTL_None, "None") - choice(serialFCTL_Hardware, "Hardware") +menu(menuPriority) { + choice(menuPriorityLOW, "LOW") + choice(menuPriorityMEDIUM, "MEDIUM") + choice(menuPriorityHIGH, "HIGH") +} +menu(asynENABLE) { + choice(asynENABLE_Disable, "Disable") + choice(asynENABLE_Enable, "Enable") +} +menu(scalcoutWAIT) { + choice(scalcoutWAIT_NoWait, "NoWait") + choice(scalcoutWAIT_Wait, "Wait") } menu(menuSimm) { choice(menuSimmNO, "NO") choice(menuSimmYES, "YES") choice(menuSimmRAW, "RAW") } +menu(sseqWAIT) { + choice(sseqWAIT_NoWait, "NoWait") + choice(sseqWAIT_Wait, "Wait") + choice(sseqWAIT_Wait1, "After1") + choice(sseqWAIT_Wait2, "After2") + choice(sseqWAIT_Wait3, "After3") + choice(sseqWAIT_Wait4, "After4") + choice(sseqWAIT_Wait5, "After5") + choice(sseqWAIT_Wait6, "After6") + choice(sseqWAIT_Wait7, "After7") + choice(sseqWAIT_Wait8, "After8") + choice(sseqWAIT_Wait9, "After9") + choice(sseqWAIT_Wait10, "AfterA") +} +menu(sseqSELM) { + choice(sseqSELM_All, "All") + choice(sseqSELM_Specified, "Specified") + choice(sseqSELM_Mask, "Mask") +} +menu(acalcoutSIZE) { + choice(acalcoutSIZE_NELM, "NELM") + choice(acalcoutSIZE_NUSE, "NUSE") +} +menu(stringoutPOST) { + choice(stringoutPOST_OnChange, "On Change") + choice(stringoutPOST_Always, "Always") +} menu(compressALG) { choice(compressALG_N_to_1_Low_Value, "N to 1 Low Value") choice(compressALG_N_to_1_High_Value, "N to 1 High Value") @@ -241,53 +369,10 @@ choice(compressALG_Circular_Buffer, "Circular Buffer") choice(compressALG_N_to_1_Median, "N to 1 Median") } -menu(aSubEFLG) { - choice(aSubEFLG_NEVER, "NEVER") - choice(aSubEFLG_ON_CHANGE, "ON CHANGE") - choice(aSubEFLG_ALWAYS, "ALWAYS") -} -menu(fanoutSELM) { - choice(fanoutSELM_All, "All") - choice(fanoutSELM_Specified, "Specified") - choice(fanoutSELM_Mask, "Mask") -} -menu(calcoutOOPT) { - choice(calcoutOOPT_Every_Time, "Every Time") - choice(calcoutOOPT_On_Change, "On Change") - choice(calcoutOOPT_When_Zero, "When Zero") - choice(calcoutOOPT_When_Non_zero, "When Non-zero") - choice(calcoutOOPT_Transition_To_Zero, "Transition To Zero") - choice(calcoutOOPT_Transition_To_Non_zero, "Transition To Non-zero") -} -menu(asynENABLE) { - choice(asynENABLE_Disable, "Disable") - choice(asynENABLE_Enable, "Enable") -} -menu(menuConvert) { - choice(menuConvertNO_CONVERSION, "NO CONVERSION") - choice(menuConvertSLOPE, "SLOPE") - choice(menuConvertLINEAR, "LINEAR") - choice(menuConverttypeKdegF, "typeKdegF") - choice(menuConverttypeKdegC, "typeKdegC") - choice(menuConverttypeJdegF, "typeJdegF") - choice(menuConverttypeJdegC, "typeJdegC") - choice(menuConverttypeEdegF, "typeEdegF(ixe only)") - choice(menuConverttypeEdegC, "typeEdegC(ixe only)") - choice(menuConverttypeTdegF, "typeTdegF") - choice(menuConverttypeTdegC, "typeTdegC") - choice(menuConverttypeRdegF, "typeRdegF") - choice(menuConverttypeRdegC, "typeRdegC") - choice(menuConverttypeSdegF, "typeSdegF") - choice(menuConverttypeSdegC, "typeSdegC") -} -menu(serialIX) { - choice(serialIX_unknown, "Unknown") - choice(serialIX_No, "No") - choice(serialIX_Yes, "Yes") -} -menu(menuYesNo) { - choice(menuYesNoNO, "NO") - choice(menuYesNoYES, "YES") +menu(seqSELM) { + choice(seqSELM_All, "All") + choice(seqSELM_Specified, "Specified") + choice(seqSELM_Mask, "Mask") } menu(serialDBIT) { choice(serialDBIT_unknown, "Unknown") @@ -296,61 +381,5784 @@ choice(serialDBIT_7, "7") choice(serialDBIT_8, "8") } -menu(selSELM) { - choice(selSELM_Specified, "Specified") - choice(selSELM_High_Signal, "High Signal") - choice(selSELM_Low_Signal, "Low Signal") - choice(selSELM_Median_Signal, "Median Signal") -} -recordtype(calcout) { +menu(aaiPOST) { + choice(aaiPOST_Always, "Always") + choice(aaiPOST_OnChange, "On Change") +} +menu(aSubLFLG) { + choice(aSubLFLG_IGNORE, "IGNORE") + choice(aSubLFLG_READ, "READ") +} +menu(aSubEFLG) { + choice(aSubEFLG_NEVER, "NEVER") + choice(aSubEFLG_ON_CHANGE, "ON CHANGE") + choice(aSubEFLG_ALWAYS, "ALWAYS") +} +menu(serialPRTY) { + choice(serialPRTY_unknown, "Unknown") + choice(serialPRTY_None, "None") + choice(serialPRTY_Even, "Even") + choice(serialPRTY_Odd, "Odd") +} +menu(serialIX) { + choice(serialIX_unknown, "Unknown") + choice(serialIX_No, "No") + choice(serialIX_Yes, "Yes") +} +menu(stringinPOST) { + choice(stringinPOST_OnChange, "On Change") + choice(stringinPOST_Always, "Always") +} +menu(asynTRACE) { + choice(asynTRACE_Off, "Off") + choice(asynTRACE_On, "On") +} +menu(scalcoutDOPT) { + choice(scalcoutDOPT_Use_VAL, "Use CALC") + choice(scalcoutDOPT_Use_OVAL, "Use OCAL") +} +menu(waveformPOST) { + choice(waveformPOST_Always, "Always") + choice(waveformPOST_OnChange, "On Change") +} +recordtype(sub) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + %struct subRecord; + %typedef long (*SUBFUNCPTR)(struct subRecord *); + field(NAME, DBF_STRING) { + prompt("Record Name") + special(SPC_NOMOD) + size(61) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + promptgroup(GUI_COMMON) + size(41) + } + field(ASG, DBF_STRING) { + size(29) + promptgroup(GUI_COMMON) + prompt("Access Security Group") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + special(SPC_SCAN) + menu(menuScan) + prompt("Scan Mechanism") + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup(GUI_SCAN) + interest(1) + } + field(PHAS, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + special(SPC_SCAN) + prompt("Scan Phase") + } + field(EVNT, DBF_STRING) { + special(SPC_SCAN) + prompt("Event Name") + interest(1) + size(40) + promptgroup(GUI_SCAN) + } + field(TSE, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + interest(1) + promptgroup(GUI_SCAN) + } + field(DTYP, DBF_DEVICE) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + promptgroup(GUI_SCAN) + prompt("Disable Value") + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + interest(1) + promptgroup(GUI_SCAN) + } + field(MLOK, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Monitor lock") + interest(4) + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Monitor List") + extra("ELLLIST mlis") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + prompt("Force Processing") + interest(3) + pp(TRUE) + } + field(STAT, DBF_MENU) { + initial("UDF") + menu(menuAlarmStat) + prompt("Alarm Status") + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + menu(menuAlarmStat) + prompt("New Alarm Status") + special(SPC_NOMOD) + interest(2) + } + field(NSEV, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("New Alarm Severity") + interest(2) + } + field(ACKS, DBF_MENU) { + interest(2) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + interest(2) + promptgroup(GUI_ALARMS) + special(SPC_NOMOD) + menu(menuYesNo) + prompt("Alarm Ack Transient") + initial("YES") + } + field(DISS, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + } + field(LCNT, DBF_UCHAR) { + interest(2) + special(SPC_NOMOD) + prompt("Lock Count") + } + field(PACT, DBF_UCHAR) { + interest(1) + prompt("Record active") + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("dbPutField process") + } + field(RPRO, DBF_UCHAR) { + interest(1) + prompt("Reprocess ") + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Access Security Pvt") + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + interest(4) + prompt("pprocessNotify") + special(SPC_NOMOD) + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Scan Private") + interest(4) + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Address of RSET") + interest(4) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("DSET address") + interest(4) + extra("struct dset *dset") + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + prompt("Device Private") + special(SPC_NOMOD) + interest(4) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + special(SPC_NOMOD) + interest(4) + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + prompt("Lock Set") + special(SPC_NOMOD) + interest(4) + } + field(PRIO, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuPriority) + prompt("Scheduling Priority") + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + interest(1) + special(SPC_NOMOD) + prompt("Break Point") + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + initial("1") + interest(1) + promptgroup(GUI_COMMON) + prompt("Undefined") + pp(TRUE) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + interest(1) + promptgroup(GUI_COMMON) + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + } + field(TIME, DBF_NOACCESS) { + interest(2) + special(SPC_NOMOD) + prompt("Time") + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + interest(1) + promptgroup(GUI_LINKS) + } + field(VAL, DBF_DOUBLE) { + prompt("Result") + asl(ASL0) + pp(TRUE) + } + field(INAM, DBF_STRING) { + prompt("Init Routine Name") + special(SPC_NOMOD) + size(40) + promptgroup(GUI_SUB) + interest(1) + } + field(SNAM, DBF_STRING) { + interest(1) + size(40) + promptgroup(GUI_SUB) + special(SPC_MOD) + prompt("Subroutine Name") + } + field(SADR, DBF_NOACCESS) { + extra("SUBFUNCPTR sadr") + interest(4) + special(SPC_NOMOD) + prompt("Subroutine Address") + } + field(INPA, DBF_INLINK) { + prompt("Input A") + promptgroup(GUI_INPUTS) + interest(1) + } + field(INPB, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Input B") + } + field(INPC, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Input C") + } + field(INPD, DBF_INLINK) { + prompt("Input D") + promptgroup(GUI_INPUTS) + interest(1) + } + field(INPE, DBF_INLINK) { + prompt("Input E") + interest(1) + promptgroup(GUI_INPUTS) + } + field(INPF, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input F") + } + field(INPG, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Input G") + } + field(INPH, DBF_INLINK) { + prompt("Input H") + promptgroup(GUI_INPUTS) + interest(1) + } + field(INPI, DBF_INLINK) { + prompt("Input I") + interest(1) + promptgroup(GUI_INPUTS) + } + field(INPJ, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input J") + } + field(INPK, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input K") + } + field(INPL, DBF_INLINK) { + prompt("Input L") + promptgroup(GUI_INPUTS) + interest(1) + } + field(EGU, DBF_STRING) { + prop(YES) + promptgroup(GUI_DISPLAY) + size(16) + interest(1) + prompt("Units Name") + } + field(HOPR, DBF_DOUBLE) { + prop(YES) + interest(1) + promptgroup(GUI_DISPLAY) + prompt("High Operating Rng") + } + field(LOPR, DBF_DOUBLE) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Low Operating Range") + prop(YES) + } + field(HIHI, DBF_DOUBLE) { + pp(TRUE) + prop(YES) + prompt("Hihi Alarm Limit") + interest(1) + promptgroup(GUI_ALARMS) + } + field(LOLO, DBF_DOUBLE) { + prompt("Lolo Alarm Limit") + interest(1) + promptgroup(GUI_ALARMS) + pp(TRUE) + prop(YES) + } + field(HIGH, DBF_DOUBLE) { + prompt("High Alarm Limit") + promptgroup(GUI_ALARMS) + interest(1) + pp(TRUE) + prop(YES) + } + field(LOW, DBF_DOUBLE) { + prompt("Low Alarm Limit") + promptgroup(GUI_ALARMS) + interest(1) + pp(TRUE) + prop(YES) + } + field(PREC, DBF_SHORT) { + prompt("Display Precision") + promptgroup(GUI_DISPLAY) + interest(1) + prop(YES) + } + field(BRSV, DBF_MENU) { + interest(1) + promptgroup(GUI_SUB) + prompt("Bad Return Severity") + menu(menuAlarmSevr) + pp(TRUE) + } + field(HHSV, DBF_MENU) { + prop(YES) + pp(TRUE) + menu(menuAlarmSevr) + prompt("Hihi Severity") + promptgroup(GUI_ALARMS) + interest(1) + } + field(LLSV, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Lolo Severity") + interest(1) + promptgroup(GUI_ALARMS) + pp(TRUE) + prop(YES) + } + field(HSV, DBF_MENU) { + menu(menuAlarmSevr) + prompt("High Severity") + interest(1) + promptgroup(GUI_ALARMS) + pp(TRUE) + prop(YES) + } + field(LSV, DBF_MENU) { + prompt("Low Severity") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_ALARMS) + prop(YES) + pp(TRUE) + } + field(HYST, DBF_DOUBLE) { + prompt("Alarm Deadband") + interest(1) + promptgroup(GUI_ALARMS) + } + field(ADEL, DBF_DOUBLE) { + prompt("Archive Deadband") + interest(1) + promptgroup(GUI_DISPLAY) + } + field(MDEL, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Monitor Deadband") + } + field(A, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input A") + } + field(B, DBF_DOUBLE) { + prompt("Value of Input B") + pp(TRUE) + } + field(C, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input C") + } + field(D, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input D") + } + field(E, DBF_DOUBLE) { + prompt("Value of Input E") + pp(TRUE) + } + field(F, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input F") + } + field(G, DBF_DOUBLE) { + prompt("Value of Input G") + pp(TRUE) + } + field(H, DBF_DOUBLE) { + prompt("Value of Input H") + pp(TRUE) + } + field(I, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input I") + } + field(J, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input J") + } + field(K, DBF_DOUBLE) { + prompt("Value of Input K") + pp(TRUE) + } + field(L, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input L") + } + field(LA, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of A") + special(SPC_NOMOD) + } + field(LB, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of B") + interest(3) + } + field(LC, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of C") + special(SPC_NOMOD) + } + field(LD, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of D") + special(SPC_NOMOD) + } + field(LE, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of E") + interest(3) + } + field(LF, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of F") + interest(3) + } + field(LG, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of G") + special(SPC_NOMOD) + } + field(LH, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of H") + interest(3) + } + field(LI, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of I") + special(SPC_NOMOD) + } + field(LJ, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of J") + interest(3) + } + field(LK, DBF_DOUBLE) { + prompt("Prev Value of K") + special(SPC_NOMOD) + interest(3) + } + field(LL, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Value of L") + } + field(LALM, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Last Value Alarmed") + interest(3) + } + field(ALST, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Last Value Archived") + } + field(MLST, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Last Value Monitored") + interest(3) + } +} +recordtype(state) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + prompt("Record Name") + special(SPC_NOMOD) + size(61) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + size(41) + promptgroup(GUI_COMMON) + } + field(ASG, DBF_STRING) { + size(29) + promptgroup(GUI_COMMON) + prompt("Access Security Group") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scan Mechanism") + menu(menuScan) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuPini) + prompt("Process at iocInit") + } + field(PHAS, DBF_SHORT) { + special(SPC_SCAN) + prompt("Scan Phase") + promptgroup(GUI_SCAN) + interest(1) + } + field(EVNT, DBF_STRING) { + special(SPC_SCAN) + prompt("Event Name") + interest(1) + size(40) + promptgroup(GUI_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup(GUI_SCAN) + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup(GUI_SCAN) + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup(GUI_LINKS) + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + promptgroup(GUI_SCAN) + prompt("Disable Value") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + interest(4) + prompt("Monitor lock") + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + prompt("Monitor List") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + prompt("Force Processing") + interest(3) + pp(TRUE) + } + field(STAT, DBF_MENU) { + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("Alarm Status") + initial("UDF") + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + interest(2) + } + field(NSEV, DBF_MENU) { + interest(2) + prompt("New Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + interest(2) + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + } + field(ACKT, DBF_MENU) { + initial("YES") + special(SPC_NOMOD) + menu(menuYesNo) + prompt("Alarm Ack Transient") + promptgroup(GUI_ALARMS) + interest(2) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_SCAN) + } + field(LCNT, DBF_UCHAR) { + interest(2) + prompt("Lock Count") + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + interest(1) + prompt("Record active") + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + special(SPC_NOMOD) + interest(4) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + special(SPC_NOMOD) + interest(4) + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + extra("struct processNotifyRecord *ppnr") + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + interest(4) + } + field(SPVT, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Scan Private") + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + extra("struct rset *rset") + special(SPC_NOMOD) + prompt("Address of RSET") + interest(4) + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + special(SPC_NOMOD) + prompt("DSET address") + } + field(DPVT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Device Private") + interest(4) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + special(SPC_NOMOD) + interest(4) + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + special(SPC_SCAN) + menu(menuPriority) + prompt("Scheduling Priority") + promptgroup(GUI_SCAN) + interest(1) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + interest(1) + special(SPC_NOMOD) + prompt("Break Point") + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + interest(1) + promptgroup(GUI_COMMON) + prompt("Undefined") + initial("1") + pp(TRUE) + } + field(UDFS, DBF_MENU) { + interest(1) + promptgroup(GUI_COMMON) + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + extra("epicsTimeStamp time") + prompt("Time") + special(SPC_NOMOD) + interest(2) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup(GUI_LINKS) + interest(1) + } + field(VAL, DBF_STRING) { + pp(TRUE) + prompt("Value") + asl(ASL0) + size(20) + promptgroup(GUI_DISPLAY) + } + field(OVAL, DBF_STRING) { + special(SPC_NOMOD) + prompt("Prev Value") + interest(3) + size(20) + } +} +recordtype(waveform) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + size(41) + promptgroup(GUI_COMMON) + } + field(ASG, DBF_STRING) { + prompt("Access Security Group") + special(SPC_AS) + size(29) + promptgroup(GUI_COMMON) + } + field(SCAN, DBF_MENU) { + special(SPC_SCAN) + menu(menuScan) + prompt("Scan Mechanism") + interest(1) + promptgroup(GUI_SCAN) + } + field(PINI, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuPini) + prompt("Process at iocInit") + } + field(PHAS, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scan Phase") + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + special(SPC_SCAN) + prompt("Event Name") + interest(1) + promptgroup(GUI_SCAN) + size(40) + } + field(TSE, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup(GUI_SCAN) + interest(1) + } + field(DTYP, DBF_DEVICE) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + promptgroup(GUI_SCAN) + prompt("Disable Value") + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + special(SPC_NOMOD) + prompt("Monitor lock") + interest(4) + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + special(SPC_NOMOD) + prompt("Monitor List") + interest(4) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + interest(3) + prompt("Force Processing") + } + field(STAT, DBF_MENU) { + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + initial("UDF") + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Alarm Severity") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + menu(menuAlarmStat) + prompt("New Alarm Status") + special(SPC_NOMOD) + interest(2) + } + field(NSEV, DBF_MENU) { + interest(2) + prompt("New Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + special(SPC_NOMOD) + interest(2) + } + field(ACKT, DBF_MENU) { + initial("YES") + interest(2) + promptgroup(GUI_ALARMS) + special(SPC_NOMOD) + menu(menuYesNo) + prompt("Alarm Ack Transient") + } + field(DISS, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + } + field(LCNT, DBF_UCHAR) { + interest(2) + special(SPC_NOMOD) + prompt("Lock Count") + } + field(PACT, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Record active") + } + field(PUTF, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("dbPutField process") + } + field(RPRO, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Reprocess ") + } + field(ASP, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Access Security Pvt") + interest(4) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + interest(4) + prompt("pprocessNotify") + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + extra("struct processNotifyRecord *ppnr") + interest(4) + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + special(SPC_NOMOD) + interest(4) + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + interest(4) + prompt("Address of RSET") + special(SPC_NOMOD) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + prompt("DSET address") + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + interest(4) + prompt("Device Private") + special(SPC_NOMOD) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Address of dbRecordType") + interest(4) + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + special(SPC_NOMOD) + interest(4) + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + interest(1) + prompt("Break Point") + special(SPC_NOMOD) + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + interest(1) + promptgroup(GUI_COMMON) + prompt("Undefined") + initial("1") + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup(GUI_COMMON) + interest(1) + } + field(TIME, DBF_NOACCESS) { + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + prompt("Time") + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + interest(1) + promptgroup(GUI_LINKS) + } + field(VAL, DBF_NOACCESS) { + extra("void * val") + special(SPC_DBADDR) + asl(ASL0) + prompt("Value") + pp(TRUE) + } + field(RARM, DBF_SHORT) { + pp(TRUE) + prompt("Rearm the waveform") + promptgroup(GUI_WAVE) + interest(1) + } + field(PREC, DBF_SHORT) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Display Precision") + prop(YES) + } + field(INP, DBF_INLINK) { + prompt("Input Specification") + interest(1) + promptgroup(GUI_INPUTS) + } + field(EGU, DBF_STRING) { + prompt("Engineering Units Name") + promptgroup(GUI_DISPLAY) + size(16) + interest(1) + prop(YES) + } + field(HOPR, DBF_DOUBLE) { + prompt("High Operating Range") + interest(1) + promptgroup(GUI_DISPLAY) + prop(YES) + } + field(LOPR, DBF_DOUBLE) { + prop(YES) + prompt("Low Operating Range") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(NELM, DBF_ULONG) { + initial("1") + prompt("Number of Elements") + special(SPC_NOMOD) + interest(1) + promptgroup(GUI_WAVE) + } + field(FTVL, DBF_MENU) { + interest(1) + promptgroup(GUI_WAVE) + menu(menuFtype) + prompt("Field Type of Value") + special(SPC_NOMOD) + } + field(BUSY, DBF_SHORT) { + prompt("Busy Indicator") + special(SPC_NOMOD) + } + field(NORD, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Number elements read") + } + field(BPTR, DBF_NOACCESS) { + prompt("Buffer Pointer") + special(SPC_NOMOD) + interest(4) + extra("void * bptr") + } + field(SIOL, DBF_INLINK) { + prompt("Sim Input Specifctn") + interest(1) + promptgroup(GUI_INPUTS) + } + field(SIML, DBF_INLINK) { + prompt("Sim Mode Location") + promptgroup(GUI_INPUTS) + interest(1) + } + field(SIMM, DBF_MENU) { + menu(menuYesNo) + prompt("Simulation Mode") + interest(1) + } + field(SIMS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Sim mode Alarm Svrty") + interest(2) + promptgroup(GUI_INPUTS) + } + field(MPST, DBF_MENU) { + prompt("Post Value Monitors") + menu(waveformPOST) + interest(1) + promptgroup(GUI_DISPLAY) + } + field(APST, DBF_MENU) { + prompt("Post Archive Monitors") + menu(waveformPOST) + interest(1) + promptgroup(GUI_DISPLAY) + } + field(HASH, DBF_ULONG) { + interest(3) + prompt("Hash of OnChange data.") + } +} +device(waveform, CONSTANT, devWfSoft, "Soft Channel") +device(waveform, INST_IO, asynWfOctetCmdResponse, "asynOctetCmdResponse") +device(waveform, INST_IO, asynWfOctetWriteRead, "asynOctetWriteRead") +device(waveform, INST_IO, asynWfOctetRead, "asynOctetRead") +device(waveform, INST_IO, asynWfOctetWrite, "asynOctetWrite") +device(waveform, INST_IO, asynInt8ArrayWfIn, "asynInt8ArrayIn") +device(waveform, INST_IO, asynInt8ArrayWfOut, "asynInt8ArrayOut") +device(waveform, INST_IO, asynInt16ArrayWfIn, "asynInt16ArrayIn") +device(waveform, INST_IO, asynInt16ArrayWfOut, "asynInt16ArrayOut") +device(waveform, INST_IO, asynInt32ArrayWfIn, "asynInt32ArrayIn") +device(waveform, INST_IO, asynInt32ArrayWfOut, "asynInt32ArrayOut") +device(waveform, INST_IO, asynInt32TimeSeries, "asynInt32TimeSeries") +device(waveform, INST_IO, asynFloat32ArrayWfIn, "asynFloat32ArrayIn") +device(waveform, INST_IO, asynFloat32ArrayWfOut, "asynFloat32ArrayOut") +device(waveform, INST_IO, asynFloat64ArrayWfIn, "asynFloat64ArrayIn") +device(waveform, INST_IO, asynFloat64ArrayWfOut, "asynFloat64ArrayOut") +device(waveform, INST_IO, asynFloat64TimeSeries, "asynFloat64TimeSeries") +device(waveform, INST_IO, devwaveformStream, "stream") +recordtype(mbbo) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + prompt("Record Name") + special(SPC_NOMOD) + size(61) + } + field(DESC, DBF_STRING) { + size(41) + promptgroup(GUI_COMMON) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + size(29) + promptgroup(GUI_COMMON) + prompt("Access Security Group") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuScan) + prompt("Scan Mechanism") + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + menu(menuPini) + prompt("Process at iocInit") + promptgroup(GUI_SCAN) + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(EVNT, DBF_STRING) { + interest(1) + promptgroup(GUI_SCAN) + size(40) + special(SPC_SCAN) + prompt("Event Name") + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + interest(1) + promptgroup(GUI_SCAN) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup(GUI_SCAN) + interest(1) + } + field(DTYP, DBF_DEVICE) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + promptgroup(GUI_SCAN) + prompt("Disable Value") + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Monitor lock") + interest(4) + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + prompt("Monitor List") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + prompt("Force Processing") + interest(3) + pp(TRUE) + } + field(STAT, DBF_MENU) { + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + initial("UDF") + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Alarm Severity") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + interest(2) + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("New Alarm Status") + } + field(NSEV, DBF_MENU) { + interest(2) + menu(menuAlarmSevr) + prompt("New Alarm Severity") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + interest(2) + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + } + field(ACKT, DBF_MENU) { + promptgroup(GUI_ALARMS) + interest(2) + prompt("Alarm Ack Transient") + menu(menuYesNo) + special(SPC_NOMOD) + initial("YES") + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup(GUI_SCAN) + interest(1) + } + field(LCNT, DBF_UCHAR) { + interest(2) + prompt("Lock Count") + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + interest(1) + prompt("Record active") + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + special(SPC_NOMOD) + interest(1) + } + field(ASP, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Access Security Pvt") + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + interest(4) + prompt("pprocessNotify") + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + interest(4) + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + special(SPC_NOMOD) + prompt("Scan Private") + interest(4) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + special(SPC_NOMOD) + interest(4) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + interest(4) + prompt("DSET address") + special(SPC_NOMOD) + extra("struct dset *dset") + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + prompt("Device Private") + special(SPC_NOMOD) + interest(4) + } + field(RDES, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Lock Set") + interest(4) + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scheduling Priority") + menu(menuPriority) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + interest(1) + prompt("Break Point") + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + initial("1") + prompt("Undefined") + interest(1) + promptgroup(GUI_COMMON) + pp(TRUE) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + interest(1) + promptgroup(GUI_COMMON) + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + } + field(TIME, DBF_NOACCESS) { + extra("epicsTimeStamp time") + prompt("Time") + special(SPC_NOMOD) + interest(2) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + interest(1) + promptgroup(GUI_LINKS) + } + field(VAL, DBF_ENUM) { + pp(TRUE) + asl(ASL0) + prompt("Desired Value") + special(SPC_DBADDR) + promptgroup(GUI_OUTPUT) + } + field(DOL, DBF_INLINK) { + promptgroup(GUI_MBB) + interest(1) + prompt("Desired Output Loc") + } + field(OMSL, DBF_MENU) { + promptgroup(GUI_MBB) + interest(1) + prompt("Output Mode Select") + menu(menuOmsl) + } + field(NOBT, DBF_SHORT) { + promptgroup(GUI_MBB) + interest(1) + prompt("Number of Bits") + special(SPC_NOMOD) + } + field(OUT, DBF_OUTLINK) { + promptgroup(GUI_MBB) + interest(1) + prompt("Output Specification") + } + field(ZRVL, DBF_ULONG) { + prompt("Zero Value") + base(HEX) + special(SPC_MOD) + interest(1) + promptgroup(GUI_BITS1) + pp(TRUE) + } + field(ONVL, DBF_ULONG) { + pp(TRUE) + interest(1) + promptgroup(GUI_BITS1) + base(HEX) + special(SPC_MOD) + prompt("One Value") + } + field(TWVL, DBF_ULONG) { + promptgroup(GUI_BITS1) + interest(1) + prompt("Two Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + } + field(THVL, DBF_ULONG) { + pp(TRUE) + base(HEX) + special(SPC_MOD) + prompt("Three Value") + promptgroup(GUI_BITS1) + interest(1) + } + field(FRVL, DBF_ULONG) { + pp(TRUE) + interest(1) + promptgroup(GUI_BITS1) + prompt("Four Value") + base(HEX) + special(SPC_MOD) + } + field(FVVL, DBF_ULONG) { + pp(TRUE) + prompt("Five Value") + base(HEX) + special(SPC_MOD) + interest(1) + promptgroup(GUI_BITS1) + } + field(SXVL, DBF_ULONG) { + pp(TRUE) + prompt("Six Value") + base(HEX) + special(SPC_MOD) + interest(1) + promptgroup(GUI_BITS1) + } + field(SVVL, DBF_ULONG) { + prompt("Seven Value") + base(HEX) + special(SPC_MOD) + promptgroup(GUI_BITS1) + interest(1) + pp(TRUE) + } + field(EIVL, DBF_ULONG) { + pp(TRUE) + prompt("Eight Value") + base(HEX) + special(SPC_MOD) + promptgroup(GUI_BITS2) + interest(1) + } + field(NIVL, DBF_ULONG) { + pp(TRUE) + interest(1) + promptgroup(GUI_BITS2) + prompt("Nine Value") + base(HEX) + special(SPC_MOD) + } + field(TEVL, DBF_ULONG) { + promptgroup(GUI_BITS2) + interest(1) + prompt("Ten Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + } + field(ELVL, DBF_ULONG) { + promptgroup(GUI_BITS2) + interest(1) + base(HEX) + prompt("Eleven Value") + special(SPC_MOD) + pp(TRUE) + } + field(TVVL, DBF_ULONG) { + pp(TRUE) + prompt("Twelve Value") + base(HEX) + special(SPC_MOD) + promptgroup(GUI_BITS2) + interest(1) + } + field(TTVL, DBF_ULONG) { + pp(TRUE) + base(HEX) + special(SPC_MOD) + prompt("Thirteen Value") + interest(1) + promptgroup(GUI_BITS2) + } + field(FTVL, DBF_ULONG) { + interest(1) + promptgroup(GUI_BITS2) + prompt("Fourteen Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + } + field(FFVL, DBF_ULONG) { + pp(TRUE) + interest(1) + promptgroup(GUI_BITS2) + prompt("Fifteen Value") + base(HEX) + special(SPC_MOD) + } + field(ZRST, DBF_STRING) { + prompt("Zero String") + special(SPC_MOD) + size(26) + promptgroup(GUI_BITS1) + interest(1) + pp(TRUE) + } + field(ONST, DBF_STRING) { + pp(TRUE) + size(26) + interest(1) + promptgroup(GUI_BITS1) + prompt("One String") + special(SPC_MOD) + } + field(TWST, DBF_STRING) { + special(SPC_MOD) + prompt("Two String") + interest(1) + size(26) + promptgroup(GUI_BITS1) + pp(TRUE) + } + field(THST, DBF_STRING) { + size(26) + interest(1) + promptgroup(GUI_BITS1) + prompt("Three String") + special(SPC_MOD) + pp(TRUE) + } + field(FRST, DBF_STRING) { + pp(TRUE) + special(SPC_MOD) + prompt("Four String") + size(26) + interest(1) + promptgroup(GUI_BITS1) + } + field(FVST, DBF_STRING) { + pp(TRUE) + promptgroup(GUI_BITS1) + size(26) + interest(1) + special(SPC_MOD) + prompt("Five String") + } + field(SXST, DBF_STRING) { + pp(TRUE) + special(SPC_MOD) + prompt("Six String") + interest(1) + size(26) + promptgroup(GUI_BITS1) + } + field(SVST, DBF_STRING) { + special(SPC_MOD) + prompt("Seven String") + size(26) + interest(1) + promptgroup(GUI_BITS1) + pp(TRUE) + } + field(EIST, DBF_STRING) { + pp(TRUE) + special(SPC_MOD) + prompt("Eight String") + interest(1) + size(26) + promptgroup(GUI_BITS2) + } + field(NIST, DBF_STRING) { + special(SPC_MOD) + prompt("Nine String") + size(26) + promptgroup(GUI_BITS2) + interest(1) + pp(TRUE) + } + field(TEST, DBF_STRING) { + prompt("Ten String") + special(SPC_MOD) + size(26) + interest(1) + promptgroup(GUI_BITS2) + pp(TRUE) + } + field(ELST, DBF_STRING) { + pp(TRUE) + size(26) + interest(1) + promptgroup(GUI_BITS2) + prompt("Eleven String") + special(SPC_MOD) + } + field(TVST, DBF_STRING) { + pp(TRUE) + prompt("Twelve String") + special(SPC_MOD) + size(26) + promptgroup(GUI_BITS2) + interest(1) + } + field(TTST, DBF_STRING) { + size(26) + interest(1) + promptgroup(GUI_BITS2) + prompt("Thirteen String") + special(SPC_MOD) + pp(TRUE) + } + field(FTST, DBF_STRING) { + special(SPC_MOD) + prompt("Fourteen String") + promptgroup(GUI_BITS2) + size(26) + interest(1) + pp(TRUE) + } + field(FFST, DBF_STRING) { + pp(TRUE) + prompt("Fifteen String") + special(SPC_MOD) + size(26) + interest(1) + promptgroup(GUI_BITS2) + } + field(ZRSV, DBF_MENU) { + pp(TRUE) + interest(1) + promptgroup(GUI_BITS1) + menu(menuAlarmSevr) + prompt("State Zero Severity") + } + field(ONSV, DBF_MENU) { + promptgroup(GUI_BITS1) + interest(1) + menu(menuAlarmSevr) + prompt("State One Severity") + pp(TRUE) + } + field(TWSV, DBF_MENU) { + prompt("State Two Severity") + menu(menuAlarmSevr) + promptgroup(GUI_BITS1) + interest(1) + pp(TRUE) + } + field(THSV, DBF_MENU) { + promptgroup(GUI_BITS1) + interest(1) + menu(menuAlarmSevr) + prompt("State Three Severity") + pp(TRUE) + } + field(FRSV, DBF_MENU) { + interest(1) + promptgroup(GUI_BITS1) + menu(menuAlarmSevr) + prompt("State Four Severity") + pp(TRUE) + } + field(FVSV, DBF_MENU) { + pp(TRUE) + promptgroup(GUI_BITS1) + interest(1) + prompt("State Five Severity") + menu(menuAlarmSevr) + } + field(SXSV, DBF_MENU) { + menu(menuAlarmSevr) + prompt("State Six Severity") + promptgroup(GUI_BITS1) + interest(1) + pp(TRUE) + } + field(SVSV, DBF_MENU) { + pp(TRUE) + promptgroup(GUI_BITS1) + interest(1) + menu(menuAlarmSevr) + prompt("State Seven Severity") + } + field(EISV, DBF_MENU) { + promptgroup(GUI_BITS2) + interest(1) + prompt("State Eight Severity") + menu(menuAlarmSevr) + pp(TRUE) + } + field(NISV, DBF_MENU) { + pp(TRUE) + menu(menuAlarmSevr) + prompt("State Nine Severity") + interest(1) + promptgroup(GUI_BITS2) + } + field(TESV, DBF_MENU) { + prompt("State Ten Severity") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_BITS2) + pp(TRUE) + } + field(ELSV, DBF_MENU) { + menu(menuAlarmSevr) + prompt("State Eleven Severity") + interest(1) + promptgroup(GUI_BITS2) + pp(TRUE) + } + field(TVSV, DBF_MENU) { + prompt("State Twelve Severity") + menu(menuAlarmSevr) + promptgroup(GUI_BITS2) + interest(1) + pp(TRUE) + } + field(TTSV, DBF_MENU) { + pp(TRUE) + menu(menuAlarmSevr) + prompt("State Thirteen Sevr") + promptgroup(GUI_BITS2) + interest(1) + } + field(FTSV, DBF_MENU) { + pp(TRUE) + menu(menuAlarmSevr) + prompt("State Fourteen Sevr") + interest(1) + promptgroup(GUI_BITS2) + } + field(FFSV, DBF_MENU) { + promptgroup(GUI_BITS2) + interest(1) + menu(menuAlarmSevr) + prompt("State Fifteen Sevr") + pp(TRUE) + } + field(UNSV, DBF_MENU) { + promptgroup(GUI_MBB) + interest(1) + prompt("Unknown State Sevr") + menu(menuAlarmSevr) + pp(TRUE) + } + field(COSV, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Change of State Sevr") + promptgroup(GUI_MBB) + interest(1) + pp(TRUE) + } + field(RVAL, DBF_ULONG) { + pp(TRUE) + prompt("Raw Value") + } + field(ORAW, DBF_ULONG) { + prompt("Prev Raw Value") + special(SPC_NOMOD) + interest(3) + } + field(RBV, DBF_ULONG) { + prompt("Readback Value") + special(SPC_NOMOD) + } + field(ORBV, DBF_ULONG) { + prompt("Prev Readback Value") + special(SPC_NOMOD) + interest(3) + } + field(MASK, DBF_ULONG) { + interest(1) + prompt("Hardware Mask") + special(SPC_NOMOD) + } + field(MLST, DBF_USHORT) { + special(SPC_NOMOD) + prompt("Last Value Monitored") + interest(3) + } + field(LALM, DBF_USHORT) { + interest(3) + prompt("Last Value Alarmed") + special(SPC_NOMOD) + } + field(SDEF, DBF_SHORT) { + special(SPC_NOMOD) + prompt("States Defined") + interest(3) + } + field(SHFT, DBF_USHORT) { + prompt("Shift") + interest(1) + promptgroup(GUI_MBB) + } + field(SIOL, DBF_OUTLINK) { + promptgroup(GUI_MBB) + interest(1) + prompt("Sim Output Specifctn") + } + field(SIML, DBF_INLINK) { + prompt("Sim Mode Location") + promptgroup(GUI_MBB) + interest(1) + } + field(SIMM, DBF_MENU) { + prompt("Simulation Mode") + menu(menuYesNo) + interest(1) + } + field(SIMS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Sim mode Alarm Svrty") + promptgroup(GUI_MBB) + interest(2) + } + field(IVOA, DBF_MENU) { + interest(2) + promptgroup(GUI_MBB) + menu(menuIvoa) + prompt("INVALID outpt action") + } + field(IVOV, DBF_USHORT) { + prompt("INVALID output value") + promptgroup(GUI_MBB) + interest(2) + } +} +device(mbbo, CONSTANT, devMbboSoft, "Soft Channel") +device(mbbo, CONSTANT, devMbboSoftRaw, "Raw Soft Channel") +device(mbbo, CONSTANT, devMbboSoftCallback, "Async Soft Channel") +device(mbbo, INST_IO, asynMbboInt32, "asynInt32") +device(mbbo, INST_IO, asynMbboUInt32Digital, "asynUInt32Digital") +device(mbbo, INST_IO, devmbboStream, "stream") +recordtype(ai) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + special(SPC_NOMOD) + prompt("Record Name") + size(61) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + promptgroup(GUI_COMMON) + size(41) + } + field(ASG, DBF_STRING) { + size(29) + promptgroup(GUI_COMMON) + prompt("Access Security Group") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + special(SPC_SCAN) + menu(menuScan) + prompt("Scan Mechanism") + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup(GUI_SCAN) + interest(1) + } + field(PHAS, DBF_SHORT) { + special(SPC_SCAN) + prompt("Scan Phase") + interest(1) + promptgroup(GUI_SCAN) + } + field(EVNT, DBF_STRING) { + promptgroup(GUI_SCAN) + interest(1) + size(40) + prompt("Event Name") + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup(GUI_LINKS) + interest(1) + } + field(DISV, DBF_SHORT) { + promptgroup(GUI_SCAN) + prompt("Disable Value") + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Monitor lock") + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + prompt("Monitor List") + special(SPC_NOMOD) + interest(4) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("Alarm Status") + initial("UDF") + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + interest(2) + prompt("New Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + interest(2) + prompt("New Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + interest(2) + } + field(ACKT, DBF_MENU) { + promptgroup(GUI_ALARMS) + interest(2) + menu(menuYesNo) + special(SPC_NOMOD) + prompt("Alarm Ack Transient") + initial("YES") + } + field(DISS, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + } + field(LCNT, DBF_UCHAR) { + interest(2) + prompt("Lock Count") + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + interest(1) + prompt("Record active") + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("dbPutField process") + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + special(SPC_NOMOD) + prompt("Access Security Pvt") + interest(4) + } + field(PPN, DBF_NOACCESS) { + interest(4) + prompt("pprocessNotify") + special(SPC_NOMOD) + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + interest(4) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + special(SPC_NOMOD) + prompt("Scan Private") + interest(4) + } + field(RSET, DBF_NOACCESS) { + extra("struct rset *rset") + special(SPC_NOMOD) + prompt("Address of RSET") + interest(4) + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + prompt("DSET address") + special(SPC_NOMOD) + interest(4) + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + prompt("Device Private") + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + special(SPC_NOMOD) + interest(4) + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + prompt("Lock Set") + special(SPC_NOMOD) + interest(4) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + interest(1) + special(SPC_NOMOD) + prompt("Break Point") + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + prompt("Undefined") + promptgroup(GUI_COMMON) + interest(1) + initial("1") + } + field(UDFS, DBF_MENU) { + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_COMMON) + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + interest(2) + special(SPC_NOMOD) + prompt("Time") + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Process Link") + } + field(VAL, DBF_DOUBLE) { + pp(TRUE) + promptgroup(GUI_INPUTS) + prompt("Current EGU Value") + asl(ASL0) + } + field(INP, DBF_INLINK) { + prompt("Input Specification") + interest(1) + promptgroup(GUI_INPUTS) + } + field(PREC, DBF_SHORT) { + prop(YES) + prompt("Display Precision") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(LINR, DBF_MENU) { + pp(TRUE) + promptgroup(GUI_CONVERT) + interest(1) + menu(menuConvert) + special(SPC_LINCONV) + prompt("Linearization") + } + field(EGUF, DBF_DOUBLE) { + pp(TRUE) + prompt("Engineer Units Full") + special(SPC_LINCONV) + interest(1) + promptgroup(GUI_CONVERT) + } + field(EGUL, DBF_DOUBLE) { + pp(TRUE) + special(SPC_LINCONV) + prompt("Engineer Units Low") + promptgroup(GUI_CONVERT) + interest(1) + } + field(EGU, DBF_STRING) { + prop(YES) + prompt("Engineering Units") + interest(1) + size(16) + promptgroup(GUI_DISPLAY) + } + field(HOPR, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("High Operating Range") + prop(YES) + } + field(LOPR, DBF_DOUBLE) { + prop(YES) + prompt("Low Operating Range") + interest(1) + promptgroup(GUI_DISPLAY) + } + field(AOFF, DBF_DOUBLE) { + pp(TRUE) + prompt("Adjustment Offset") + promptgroup(GUI_CONVERT) + interest(1) + } + field(ASLO, DBF_DOUBLE) { + prompt("Adjustment Slope") + promptgroup(GUI_CONVERT) + interest(1) + initial("1") + pp(TRUE) + } + field(SMOO, DBF_DOUBLE) { + prompt("Smoothing") + promptgroup(GUI_CONVERT) + interest(1) + } + field(HIHI, DBF_DOUBLE) { + pp(TRUE) + prop(YES) + interest(1) + promptgroup(GUI_ALARMS) + prompt("Hihi Alarm Limit") + } + field(LOLO, DBF_DOUBLE) { + promptgroup(GUI_ALARMS) + interest(1) + prompt("Lolo Alarm Limit") + prop(YES) + pp(TRUE) + } + field(HIGH, DBF_DOUBLE) { + prompt("High Alarm Limit") + promptgroup(GUI_ALARMS) + interest(1) + pp(TRUE) + prop(YES) + } + field(LOW, DBF_DOUBLE) { + pp(TRUE) + prop(YES) + promptgroup(GUI_ALARMS) + interest(1) + prompt("Low Alarm Limit") + } + field(HHSV, DBF_MENU) { + prompt("Hihi Severity") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_ALARMS) + prop(YES) + pp(TRUE) + } + field(LLSV, DBF_MENU) { + prop(YES) + pp(TRUE) + interest(1) + promptgroup(GUI_ALARMS) + prompt("Lolo Severity") + menu(menuAlarmSevr) + } + field(HSV, DBF_MENU) { + menu(menuAlarmSevr) + prompt("High Severity") + promptgroup(GUI_ALARMS) + interest(1) + pp(TRUE) + prop(YES) + } + field(LSV, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Low Severity") + interest(1) + promptgroup(GUI_ALARMS) + pp(TRUE) + prop(YES) + } + field(HYST, DBF_DOUBLE) { + prompt("Alarm Deadband") + promptgroup(GUI_ALARMS) + interest(1) + } + field(AFTC, DBF_DOUBLE) { + promptgroup(GUI_ALARMS) + interest(1) + prompt("Alarm Filter Time Constant") + } + field(ADEL, DBF_DOUBLE) { + prompt("Archive Deadband") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(MDEL, DBF_DOUBLE) { + prompt("Monitor Deadband") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(LALM, DBF_DOUBLE) { + interest(3) + prompt("Last Value Alarmed") + special(SPC_NOMOD) + } + field(AFVL, DBF_DOUBLE) { + prompt("Alarm Filter Value") + special(SPC_NOMOD) + interest(3) + } + field(ALST, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Last Value Archived") + } + field(MLST, DBF_DOUBLE) { + prompt("Last Val Monitored") + special(SPC_NOMOD) + interest(3) + } + field(ESLO, DBF_DOUBLE) { + initial("1") + promptgroup(GUI_CONVERT) + interest(2) + prompt("Raw to EGU Slope") + pp(TRUE) + } + field(EOFF, DBF_DOUBLE) { + promptgroup(GUI_CONVERT) + interest(2) + prompt("Raw to EGU Offset") + pp(TRUE) + } + field(ROFF, DBF_ULONG) { + pp(TRUE) + prompt("Raw Offset") + interest(2) + } + field(PBRK, DBF_NOACCESS) { + extra("void * pbrk") + special(SPC_NOMOD) + prompt("Ptrto brkTable") + interest(4) + } + field(INIT, DBF_SHORT) { + prompt("Initialized?") + special(SPC_NOMOD) + interest(3) + } + field(LBRK, DBF_SHORT) { + prompt("LastBreak Point") + special(SPC_NOMOD) + interest(3) + } + field(RVAL, DBF_LONG) { + prompt("Current Raw Value") + pp(TRUE) + } + field(ORAW, DBF_LONG) { + interest(3) + prompt("Previous Raw Value") + special(SPC_NOMOD) + } + field(SIOL, DBF_INLINK) { + prompt("Sim. Input Specification") + promptgroup(GUI_INPUTS) + interest(1) + } + field(SVAL, DBF_DOUBLE) { + prompt("Simulation Value") + } + field(SIML, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Sim. Mode Location") + } + field(SIMM, DBF_MENU) { + menu(menuSimm) + prompt("Simulation Mode") + interest(1) + } + field(SIMS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Simulation Mode Severity") + promptgroup(GUI_INPUTS) + interest(2) + } +} +device(ai, CONSTANT, devAiSoft, "Soft Channel") +device(ai, CONSTANT, devAiSoftRaw, "Raw Soft Channel") +device(ai, CONSTANT, devAiSoftCallback, "Async Soft Channel") +device(ai, INST_IO, devTimestampAI, "Soft Timestamp") +device(ai, INST_IO, devAiGeneralTime, "General Time") +device(ai, INST_IO, asynAiInt32, "asynInt32") +device(ai, INST_IO, asynAiInt32Average, "asynInt32Average") +device(ai, INST_IO, asynAiFloat64, "asynFloat64") +device(ai, INST_IO, asynAiFloat64Average, "asynFloat64Average") +device(ai, INST_IO, devaiStream, "stream") +recordtype(sseq) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" - %#include "dbScan.h" - %#include "postfix.h" field(NAME, DBF_STRING) { + prompt("Record Name") special(SPC_NOMOD) size(61) + } + field(DESC, DBF_STRING) { + size(41) + promptgroup(GUI_COMMON) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + size(29) + promptgroup(GUI_COMMON) + prompt("Access Security Group") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + special(SPC_SCAN) + menu(menuScan) + prompt("Scan Mechanism") + } + field(PINI, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Process at iocInit") + menu(menuPini) + } + field(PHAS, DBF_SHORT) { + special(SPC_SCAN) + prompt("Scan Phase") + promptgroup(GUI_SCAN) + interest(1) + } + field(EVNT, DBF_STRING) { + size(40) + interest(1) + promptgroup(GUI_SCAN) + special(SPC_SCAN) + prompt("Event Name") + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + interest(1) + promptgroup(GUI_SCAN) + } + field(TSEL, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + interest(1) + promptgroup(GUI_LINKS) + } + field(DISV, DBF_SHORT) { + promptgroup(GUI_SCAN) + prompt("Disable Value") + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + special(SPC_NOMOD) + interest(4) + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + prompt("Monitor List") + special(SPC_NOMOD) + interest(4) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + interest(3) + prompt("Force Processing") + } + field(STAT, DBF_MENU) { + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + initial("UDF") + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + menu(menuAlarmStat) + prompt("New Alarm Status") + special(SPC_NOMOD) + interest(2) + } + field(NSEV, DBF_MENU) { + interest(2) + menu(menuAlarmSevr) + prompt("New Alarm Severity") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + interest(2) + } + field(ACKT, DBF_MENU) { + initial("YES") + special(SPC_NOMOD) + menu(menuYesNo) + prompt("Alarm Ack Transient") + promptgroup(GUI_ALARMS) + interest(2) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup(GUI_SCAN) + interest(1) + } + field(LCNT, DBF_UCHAR) { + interest(2) + prompt("Lock Count") + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + interest(1) + prompt("Record active") + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + interest(4) + prompt("Access Security Pvt") + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + special(SPC_NOMOD) + prompt("pprocessNotify") + interest(4) + } + field(PPNR, DBF_NOACCESS) { + extra("struct processNotifyRecord *ppnr") + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + interest(4) + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + special(SPC_NOMOD) + prompt("Scan Private") + interest(4) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + special(SPC_NOMOD) + interest(4) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + prompt("DSET address") + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Device Private") + interest(4) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + prompt("Address of dbRecordType") + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + interest(4) + prompt("Lock Set") + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + special(SPC_SCAN) + interest(1) + promptgroup(GUI_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + prompt("Break Point") + special(SPC_NOMOD) + interest(1) + } + field(UDF, DBF_UCHAR) { + initial("1") + interest(1) + promptgroup(GUI_COMMON) + prompt("Undefined") + pp(TRUE) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_COMMON) + } + field(TIME, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Time") + interest(2) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Forward Process Link") + } + field(VAL, DBF_LONG) { + pp(TRUE) + asl(ASL0) + prompt("Used to trigger") + } + field(SELM, DBF_MENU) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Select Mechanism") + menu(sseqSELM) + } + field(SELN, DBF_USHORT) { + initial("1") + interest(1) + prompt("Link Selection") + } + field(SELL, DBF_INLINK) { + prompt("Link Selection Loc") + promptgroup(GUI_INPUTS) + interest(1) + } + field(PREC, DBF_SHORT) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Display Precision") + } + field(DLY1, DBF_DOUBLE) { + promptgroup(GUI_SEQ1) + interest(1) + prompt("Delay 1") + special(SPC_MOD) + } + field(DOL1, DBF_INLINK) { + prompt("Input link1") + special(SPC_MOD) + promptgroup(GUI_SEQ1) + interest(1) + } + field(DO1, DBF_DOUBLE) { + special(SPC_MOD) + prompt("Constant input 1") + promptgroup(GUI_SEQ1) + interest(1) + } + field(LNK1, DBF_OUTLINK) { + special(SPC_MOD) + prompt("Output Link 1") + interest(1) + promptgroup(GUI_SEQ1) + } + field(STR1, DBF_STRING) { + interest(4) + size(40) + promptgroup(GUI_SEQ1) + prompt("String value 1") + special(SPC_MOD) + } + field(DT1, DBF_SHORT) { + prompt("DOL link type") + special(SPC_NOMOD) + interest(4) + } + field(LT1, DBF_SHORT) { + interest(4) + special(SPC_NOMOD) + prompt("LNK link type") + } + field(WAIT1, DBF_MENU) { + interest(1) + promptgroup(GUI_SEQ1) + special(SPC_MOD) + prompt("Wait for completion?") + menu(sseqWAIT) + } + field(WERR1, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + } + field(WTG1, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + } + field(IX1, DBF_SHORT) { + interest(2) + special(SPC_NOMOD) + initial("0") + } + field(DOL1V, DBF_MENU) { + initial("1") + special(SPC_NOMOD) + menu(sseqLNKV) + prompt("DOL LINK Status") + interest(1) + } + field(LNK1V, DBF_MENU) { + initial("1") + special(SPC_NOMOD) + menu(sseqLNKV) + prompt("LNK LINK Status") + interest(1) + } + field(DLY2, DBF_DOUBLE) { + promptgroup(GUI_SEQ1) + interest(1) + special(SPC_MOD) + prompt("Delay 2") + } + field(DOL2, DBF_INLINK) { + interest(1) + promptgroup(GUI_SEQ1) + prompt("Input link 2") + special(SPC_MOD) + } + field(DO2, DBF_DOUBLE) { + special(SPC_MOD) + prompt("Constant input 2") + promptgroup(GUI_SEQ1) + interest(1) + } + field(LNK2, DBF_OUTLINK) { + prompt("Output Link 2") + special(SPC_MOD) + interest(1) + promptgroup(GUI_SEQ1) + } + field(STR2, DBF_STRING) { + special(SPC_MOD) + prompt("String value 2") + promptgroup(GUI_SEQ1) + size(40) + interest(4) + } + field(DT2, DBF_SHORT) { + prompt("DOL link type") + special(SPC_NOMOD) + interest(4) + } + field(LT2, DBF_SHORT) { + interest(4) + prompt("LNK link type") + special(SPC_NOMOD) + } + field(WAIT2, DBF_MENU) { + interest(1) + promptgroup(GUI_SEQ1) + special(SPC_MOD) + prompt("Wait for completion?") + menu(sseqWAIT) + } + field(WERR2, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + } + field(WTG2, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + } + field(IX2, DBF_SHORT) { + interest(2) + special(SPC_NOMOD) + initial("1") + } + field(DOL2V, DBF_MENU) { + initial("1") + special(SPC_NOMOD) + menu(sseqLNKV) + prompt("DOL LINK Status") + interest(1) + } + field(LNK2V, DBF_MENU) { + initial("1") + interest(1) + prompt("LNK LINK Status") + menu(sseqLNKV) + special(SPC_NOMOD) + } + field(DLY3, DBF_DOUBLE) { + promptgroup(GUI_SEQ1) + interest(1) + special(SPC_MOD) + prompt("Delay 3") + } + field(DOL3, DBF_INLINK) { + special(SPC_MOD) + prompt("Input link 3") + promptgroup(GUI_SEQ1) + interest(1) + } + field(DO3, DBF_DOUBLE) { + prompt("Constant input 3") + special(SPC_MOD) + interest(1) + promptgroup(GUI_SEQ1) + } + field(LNK3, DBF_OUTLINK) { + promptgroup(GUI_SEQ1) + interest(1) + special(SPC_MOD) + prompt("Output Link 3") + } + field(STR3, DBF_STRING) { + special(SPC_MOD) + prompt("String value 3") + size(40) + interest(4) + promptgroup(GUI_SEQ1) + } + field(DT3, DBF_SHORT) { + interest(4) + prompt("DOL link type") + special(SPC_NOMOD) + } + field(LT3, DBF_SHORT) { + interest(4) + prompt("LNK link type") + special(SPC_NOMOD) + } + field(WAIT3, DBF_MENU) { + special(SPC_MOD) + menu(sseqWAIT) + prompt("Wait for completion?") + promptgroup(GUI_SEQ1) + interest(1) + } + field(WERR3, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + } + field(WTG3, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + } + field(IX3, DBF_SHORT) { + interest(2) + special(SPC_NOMOD) + initial("2") + } + field(DOL3V, DBF_MENU) { + prompt("DOL LINK Status") + menu(sseqLNKV) + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(LNK3V, DBF_MENU) { + interest(1) + menu(sseqLNKV) + prompt("LNK LINK Status") + special(SPC_NOMOD) + initial("1") + } + field(DLY4, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_SEQ2) + prompt("Delay 4") + special(SPC_MOD) + } + field(DOL4, DBF_INLINK) { + promptgroup(GUI_SEQ2) + interest(1) + special(SPC_MOD) + prompt("Input link 4") + } + field(DO4, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_SEQ1) + special(SPC_MOD) + prompt("Constant input 4") + } + field(LNK4, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_SEQ2) + prompt("Output Link 4") + special(SPC_MOD) + } + field(STR4, DBF_STRING) { + promptgroup(GUI_SEQ1) + size(40) + interest(4) + special(SPC_MOD) + prompt("String value 4") + } + field(DT4, DBF_SHORT) { + interest(4) + prompt("DOL link type") + special(SPC_NOMOD) + } + field(LT4, DBF_SHORT) { + prompt("LNK link type") + special(SPC_NOMOD) + interest(4) + } + field(WAIT4, DBF_MENU) { + special(SPC_MOD) + menu(sseqWAIT) + prompt("Wait for completion?") + promptgroup(GUI_SEQ1) + interest(1) + } + field(WERR4, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + } + field(WTG4, DBF_SHORT) { + special(SPC_NOMOD) + interest(1) + } + field(IX4, DBF_SHORT) { + initial("3") + special(SPC_NOMOD) + interest(2) + } + field(DOL4V, DBF_MENU) { + menu(sseqLNKV) + special(SPC_NOMOD) + prompt("DOL LINK Status") + interest(1) + initial("1") + } + field(LNK4V, DBF_MENU) { + initial("1") + interest(1) + prompt("LNK LINK Status") + menu(sseqLNKV) + special(SPC_NOMOD) + } + field(DLY5, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_SEQ2) + prompt("Delay 5") + special(SPC_MOD) + } + field(DOL5, DBF_INLINK) { + interest(1) + promptgroup(GUI_SEQ2) + prompt("Input link 5") + special(SPC_MOD) + } + field(DO5, DBF_DOUBLE) { + promptgroup(GUI_SEQ1) + interest(1) + special(SPC_MOD) + prompt("Constant input 5") + } + field(LNK5, DBF_OUTLINK) { + promptgroup(GUI_SEQ2) + interest(1) + special(SPC_MOD) + prompt("Output Link 5") + } + field(STR5, DBF_STRING) { + special(SPC_MOD) + prompt("String value 5") + size(40) + promptgroup(GUI_SEQ1) + interest(4) + } + field(DT5, DBF_SHORT) { + interest(4) + special(SPC_NOMOD) + prompt("DOL link type") + } + field(LT5, DBF_SHORT) { + prompt("LNK link type") + special(SPC_NOMOD) + interest(4) + } + field(WAIT5, DBF_MENU) { + special(SPC_MOD) + prompt("Wait for completion?") + menu(sseqWAIT) + promptgroup(GUI_SEQ1) + interest(1) + } + field(WERR5, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + } + field(WTG5, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + } + field(IX5, DBF_SHORT) { + special(SPC_NOMOD) + interest(2) + initial("4") + } + field(DOL5V, DBF_MENU) { + initial("1") + interest(1) + menu(sseqLNKV) + special(SPC_NOMOD) + prompt("DOL LINK Status") + } + field(LNK5V, DBF_MENU) { + initial("1") + interest(1) + menu(sseqLNKV) + prompt("LNK LINK Status") + special(SPC_NOMOD) + } + field(DLY6, DBF_DOUBLE) { + promptgroup(GUI_SEQ2) + interest(1) + special(SPC_MOD) + prompt("Delay 6") + } + field(DOL6, DBF_INLINK) { + prompt("Input link 6") + special(SPC_MOD) + promptgroup(GUI_SEQ2) + interest(1) + } + field(DO6, DBF_DOUBLE) { + promptgroup(GUI_SEQ1) + interest(1) + special(SPC_MOD) + prompt("Constant input 6") + } + field(LNK6, DBF_OUTLINK) { + promptgroup(GUI_SEQ2) + interest(1) + prompt("Output Link 6") + special(SPC_MOD) + } + field(STR6, DBF_STRING) { + size(40) + interest(4) + promptgroup(GUI_SEQ1) + special(SPC_MOD) + prompt("String value 6") + } + field(DT6, DBF_SHORT) { + interest(4) + prompt("DOL link type") + special(SPC_NOMOD) + } + field(LT6, DBF_SHORT) { + special(SPC_NOMOD) + prompt("LNK link type") + interest(4) + } + field(WAIT6, DBF_MENU) { + promptgroup(GUI_SEQ1) + interest(1) + special(SPC_MOD) + menu(sseqWAIT) + prompt("Wait for completion?") + } + field(WERR6, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + } + field(WTG6, DBF_SHORT) { + special(SPC_NOMOD) + interest(1) + } + field(IX6, DBF_SHORT) { + initial("5") + special(SPC_NOMOD) + interest(2) + } + field(DOL6V, DBF_MENU) { + interest(1) + menu(sseqLNKV) + prompt("DOL LINK Status") + special(SPC_NOMOD) + initial("1") + } + field(LNK6V, DBF_MENU) { + initial("1") + menu(sseqLNKV) + prompt("LNK LINK Status") + special(SPC_NOMOD) + interest(1) + } + field(DLY7, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_SEQ3) + special(SPC_MOD) + prompt("Delay 7") + } + field(DOL7, DBF_INLINK) { + interest(1) + promptgroup(GUI_SEQ3) + prompt("Input link 7") + special(SPC_MOD) + } + field(DO7, DBF_DOUBLE) { + special(SPC_MOD) + prompt("Constant input 7") + interest(1) + promptgroup(GUI_SEQ1) + } + field(LNK7, DBF_OUTLINK) { + special(SPC_MOD) + prompt("Output Link 7") + promptgroup(GUI_SEQ3) + interest(1) + } + field(STR7, DBF_STRING) { + prompt("String value 7") + special(SPC_MOD) + interest(4) + size(40) + promptgroup(GUI_SEQ1) + } + field(DT7, DBF_SHORT) { + interest(4) + special(SPC_NOMOD) + prompt("DOL link type") + } + field(LT7, DBF_SHORT) { + interest(4) + special(SPC_NOMOD) + prompt("LNK link type") + } + field(WAIT7, DBF_MENU) { + promptgroup(GUI_SEQ1) + interest(1) + special(SPC_MOD) + menu(sseqWAIT) + prompt("Wait for completion?") + } + field(WERR7, DBF_SHORT) { + special(SPC_NOMOD) + interest(1) + } + field(WTG7, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + } + field(IX7, DBF_SHORT) { + special(SPC_NOMOD) + interest(2) + initial("6") + } + field(DOL7V, DBF_MENU) { + menu(sseqLNKV) + prompt("DOL LINK Status") + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(LNK7V, DBF_MENU) { + initial("1") + prompt("LNK LINK Status") + menu(sseqLNKV) + special(SPC_NOMOD) + interest(1) + } + field(DLY8, DBF_DOUBLE) { + prompt("Delay 8") + special(SPC_MOD) + promptgroup(GUI_SEQ3) + interest(1) + } + field(DOL8, DBF_INLINK) { + prompt("Input link 8") + special(SPC_MOD) + interest(1) + promptgroup(GUI_SEQ3) + } + field(DO8, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_SEQ1) + prompt("Constant input 8") + special(SPC_MOD) + } + field(LNK8, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_SEQ3) + prompt("Output Link 8") + special(SPC_MOD) + } + field(STR8, DBF_STRING) { + size(40) + interest(4) + promptgroup(GUI_SEQ1) + special(SPC_MOD) + prompt("String value 8") + } + field(DT8, DBF_SHORT) { + interest(4) + special(SPC_NOMOD) + prompt("DOL link type") + } + field(LT8, DBF_SHORT) { + interest(4) + special(SPC_NOMOD) + prompt("LNK link type") + } + field(WAIT8, DBF_MENU) { + special(SPC_MOD) + menu(sseqWAIT) + prompt("Wait for completion?") + interest(1) + promptgroup(GUI_SEQ1) + } + field(WERR8, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + } + field(WTG8, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + } + field(IX8, DBF_SHORT) { + special(SPC_NOMOD) + interest(2) + initial("7") + } + field(DOL8V, DBF_MENU) { + interest(1) + menu(sseqLNKV) + prompt("DOL LINK Status") + special(SPC_NOMOD) + initial("1") + } + field(LNK8V, DBF_MENU) { + initial("1") + interest(1) + prompt("LNK LINK Status") + menu(sseqLNKV) + special(SPC_NOMOD) + } + field(DLY9, DBF_DOUBLE) { + prompt("Delay 9") + special(SPC_MOD) + interest(1) + promptgroup(GUI_SEQ3) + } + field(DOL9, DBF_INLINK) { + prompt("Input link 9") + special(SPC_MOD) + interest(1) + promptgroup(GUI_SEQ3) + } + field(DO9, DBF_DOUBLE) { + prompt("Constant input 9") + special(SPC_MOD) + promptgroup(GUI_SEQ1) + interest(1) + } + field(LNK9, DBF_OUTLINK) { + special(SPC_MOD) + prompt("Output Link 9") + interest(1) + promptgroup(GUI_SEQ3) + } + field(STR9, DBF_STRING) { + interest(4) + size(40) + promptgroup(GUI_SEQ1) + special(SPC_MOD) + prompt("String value 9") + } + field(DT9, DBF_SHORT) { + interest(4) + prompt("DOL link type") + special(SPC_NOMOD) + } + field(LT9, DBF_SHORT) { + prompt("LNK link type") + special(SPC_NOMOD) + interest(4) + } + field(WAIT9, DBF_MENU) { + special(SPC_MOD) + menu(sseqWAIT) + prompt("Wait for completion?") + interest(1) + promptgroup(GUI_SEQ1) + } + field(WERR9, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + } + field(WTG9, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + } + field(IX9, DBF_SHORT) { + initial("8") + special(SPC_NOMOD) + interest(2) + } + field(DOL9V, DBF_MENU) { + initial("1") + menu(sseqLNKV) + special(SPC_NOMOD) + prompt("DOL LINK Status") + interest(1) + } + field(LNK9V, DBF_MENU) { + initial("1") + interest(1) + menu(sseqLNKV) + prompt("LNK LINK Status") + special(SPC_NOMOD) + } + field(DLYA, DBF_DOUBLE) { + special(SPC_MOD) + prompt("Delay 10") + promptgroup(GUI_SEQ3) + interest(1) + } + field(DOLA, DBF_INLINK) { + special(SPC_MOD) + prompt("Input link 10") + promptgroup(GUI_SEQ3) + interest(1) + } + field(DOA, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_SEQ1) + prompt("Constant input 10") + special(SPC_MOD) + } + field(LNKA, DBF_OUTLINK) { + special(SPC_MOD) + prompt("Output Link 10") + interest(1) + promptgroup(GUI_SEQ3) + } + field(STRA, DBF_STRING) { + prompt("String value A") + special(SPC_MOD) + size(40) + interest(4) + promptgroup(GUI_SEQ1) + } + field(DTA, DBF_SHORT) { + interest(4) + prompt("DOL link type") + special(SPC_NOMOD) + } + field(LTA, DBF_SHORT) { + prompt("LNK link type") + special(SPC_NOMOD) + interest(4) + } + field(WAITA, DBF_MENU) { + special(SPC_MOD) + prompt("Wait for completion?") + menu(sseqWAIT) + promptgroup(GUI_SEQ1) + interest(1) + } + field(WERRA, DBF_SHORT) { + special(SPC_NOMOD) + interest(1) + } + field(WTGA, DBF_SHORT) { + interest(1) + } + field(IXA, DBF_SHORT) { + initial("9") + interest(2) + } + field(DOLAV, DBF_MENU) { + interest(1) + menu(sseqLNKV) + special(SPC_NOMOD) + prompt("DOL LINK Status") + initial("1") + } + field(LNKAV, DBF_MENU) { + menu(sseqLNKV) + special(SPC_NOMOD) + prompt("LNK LINK Status") + interest(1) + initial("1") + } + field(ABORT, DBF_SHORT) { + prompt("Abort sequence") + special(SPC_MOD) + interest(1) + } + field(ABORTING, DBF_SHORT) { + interest(1) + special(SPC_MOD) + prompt("Aborting") + } + field(BUSY, DBF_SHORT) { + prompt("Sequence active") + special(SPC_NOMOD) + interest(1) + } +} +recordtype(acalcout) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + size(61) + special(SPC_NOMOD) prompt("Record Name") } field(DESC, DBF_STRING) { + prompt("Descriptor") + size(41) + promptgroup(GUI_COMMON) + } + field(ASG, DBF_STRING) { + size(29) + promptgroup(GUI_COMMON) + prompt("Access Security Group") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuScan) + special(SPC_SCAN) + prompt("Scan Mechanism") + } + field(PINI, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Process at iocInit") + menu(menuPini) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(EVNT, DBF_STRING) { + interest(1) + promptgroup(GUI_SCAN) + size(40) + prompt("Event Name") + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup(GUI_SCAN) + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + interest(1) + promptgroup(GUI_LINKS) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup(GUI_SCAN) + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup(GUI_SCAN) + interest(1) + } + field(MLOK, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Monitor lock") + interest(4) + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + interest(4) + prompt("Monitor List") + special(SPC_NOMOD) + extra("ELLLIST mlis") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + interest(3) + prompt("Force Processing") + } + field(STAT, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("Alarm Status") + initial("UDF") + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("Alarm Severity") + } + field(NSTA, DBF_MENU) { + interest(2) + prompt("New Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + interest(2) + menu(menuAlarmSevr) + prompt("New Alarm Severity") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + interest(2) + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + menu(menuYesNo) + special(SPC_NOMOD) + prompt("Alarm Ack Transient") + interest(2) + promptgroup(GUI_ALARMS) + initial("YES") + } + field(DISS, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + } + field(LCNT, DBF_UCHAR) { + interest(2) + prompt("Lock Count") + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Record active") + } + field(PUTF, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("dbPutField process") + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + special(SPC_NOMOD) + interest(1) + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + prompt("Access Security Pvt") + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + prompt("pprocessNotify") + special(SPC_NOMOD) + interest(4) + } + field(PPNR, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + interest(4) + prompt("Scan Private") + special(SPC_NOMOD) + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + extra("struct rset *rset") + interest(4) + prompt("Address of RSET") + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + prompt("DSET address") + special(SPC_NOMOD) + interest(4) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + special(SPC_NOMOD) + interest(4) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Address of dbRecordType") + interest(4) + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + prompt("Lock Set") + special(SPC_NOMOD) + interest(4) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + interest(1) + special(SPC_NOMOD) + prompt("Break Point") + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + initial("1") + prompt("Undefined") + interest(1) + promptgroup(GUI_COMMON) + } + field(UDFS, DBF_MENU) { + interest(1) + promptgroup(GUI_COMMON) + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + special(SPC_NOMOD) + interest(2) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Process Link") + } + field(VERS, DBF_DOUBLE) { + prompt("Code Version") + special(SPC_NOMOD) + initial("1") + } + field(RPVT, DBF_NOACCESS) { + extra("void *rpvt") + special(SPC_NOMOD) + prompt("Record Private") + size(4) + interest(4) + } + field(VAL, DBF_DOUBLE) { + prompt("Result") + asl(ASL0) + } + field(AVAL, DBF_NOACCESS) { + pp(TRUE) + extra("double *aval") + prompt("Array Value") + special(SPC_DBADDR) + asl(ASL0) + } + field(NELM, DBF_ULONG) { + initial("1") + prompt("Number of Elements") + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + } + field(NUSE, DBF_ULONG) { + pp(TRUE) + initial("0") + prompt("# elem's in use") + special(SPC_MOD) + interest(1) + promptgroup(GUI_WAVE) + } + field(PVAL, DBF_DOUBLE) { + prompt("Previous Value") + } + field(PAVL, DBF_NOACCESS) { + pp(TRUE) + extra("double *pavl") + asl(ASL0) + prompt("Prev. Array Value") + } + field(CALC, DBF_STRING) { + prompt("Calculation") + special(SPC_MOD) + promptgroup(GUI_CALC) + size(80) + pp(TRUE) + } + field(CLCV, DBF_LONG) { + prompt("CALC Valid") + interest(1) + } + field(INPA, DBF_INLINK) { + special(SPC_MOD) + prompt("Input A") + promptgroup(GUI_CALC) + interest(1) + } + field(INPB, DBF_INLINK) { + special(SPC_MOD) + prompt("Input B") + promptgroup(GUI_CALC) + interest(1) + } + field(INPC, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + special(SPC_MOD) + prompt("Input C") + } + field(INPD, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + special(SPC_MOD) + prompt("Input D") + } + field(INPE, DBF_INLINK) { + special(SPC_MOD) + prompt("Input E") + interest(1) + promptgroup(GUI_CALC) + } + field(INPF, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + prompt("Input F") + special(SPC_MOD) + } + field(INPG, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + special(SPC_MOD) + prompt("Input G") + } + field(INPH, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + special(SPC_MOD) + prompt("Input H") + } + field(INPI, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + prompt("Input I") + special(SPC_MOD) + } + field(INPJ, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + prompt("Input J") + special(SPC_MOD) + } + field(INPK, DBF_INLINK) { + special(SPC_MOD) + prompt("Input K") + interest(1) + promptgroup(GUI_CALC) + } + field(INPL, DBF_INLINK) { + special(SPC_MOD) + prompt("Input L") + interest(1) + promptgroup(GUI_CALC) + } + field(INAA, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + special(SPC_MOD) + prompt("Array input AA") + } + field(INBB, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + special(SPC_MOD) + prompt("Array input BB") + } + field(INCC, DBF_INLINK) { + special(SPC_MOD) + prompt("Array input CC") + promptgroup(GUI_CALC) + interest(1) + } + field(INDD, DBF_INLINK) { + prompt("Array input DD") + special(SPC_MOD) + interest(1) + promptgroup(GUI_CALC) + } + field(INEE, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + special(SPC_MOD) + prompt("Array input EE") + } + field(INFF, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + prompt("Array input FF") + special(SPC_MOD) + } + field(INGG, DBF_INLINK) { + special(SPC_MOD) + prompt("Array input GG") + promptgroup(GUI_CALC) + interest(1) + } + field(INHH, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + prompt("Array input HH") + special(SPC_MOD) + } + field(INII, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + special(SPC_MOD) + prompt("Array input II") + } + field(INJJ, DBF_INLINK) { + prompt("Array input JJ") + special(SPC_MOD) + promptgroup(GUI_CALC) + interest(1) + } + field(INKK, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + prompt("Array input KK") + special(SPC_MOD) + } + field(INLL, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + prompt("Array input LL") + special(SPC_MOD) + } + field(OUT, DBF_OUTLINK) { + special(SPC_MOD) + prompt("Output Link") + promptgroup(GUI_OUTPUT) + interest(1) + } + field(INAV, DBF_MENU) { + special(SPC_NOMOD) + menu(acalcoutINAV) + prompt("INPA PV Status") + interest(1) + initial("1") + } + field(INBV, DBF_MENU) { + initial("1") + interest(1) + menu(acalcoutINAV) + special(SPC_NOMOD) + prompt("INPB PV Status") + } + field(INCV, DBF_MENU) { + interest(1) + menu(acalcoutINAV) + prompt("INPC PV Status") + special(SPC_NOMOD) + initial("1") + } + field(INDV, DBF_MENU) { + initial("1") + interest(1) + menu(acalcoutINAV) + special(SPC_NOMOD) + prompt("INPD PV Status") + } + field(INEV, DBF_MENU) { + special(SPC_NOMOD) + menu(acalcoutINAV) + prompt("INPE PV Status") + interest(1) + initial("1") + } + field(INFV, DBF_MENU) { + initial("1") + interest(1) + menu(acalcoutINAV) + special(SPC_NOMOD) + prompt("INPF PV Status") + } + field(INGV, DBF_MENU) { + initial("1") + interest(1) + menu(acalcoutINAV) + special(SPC_NOMOD) + prompt("INPG PV Status") + } + field(INHV, DBF_MENU) { + initial("1") + menu(acalcoutINAV) + special(SPC_NOMOD) + prompt("INPH PV Status") + interest(1) + } + field(INIV, DBF_MENU) { + interest(1) + prompt("INPI PV Status") + menu(acalcoutINAV) + special(SPC_NOMOD) + initial("1") + } + field(INJV, DBF_MENU) { + interest(1) + prompt("INPJ PV Status") + menu(acalcoutINAV) + special(SPC_NOMOD) + initial("1") + } + field(INKV, DBF_MENU) { + prompt("INPK PV Status") + menu(acalcoutINAV) + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(INLV, DBF_MENU) { + menu(acalcoutINAV) + prompt("INPL PV Status") + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(IAAV, DBF_MENU) { + initial("1") + interest(1) + special(SPC_NOMOD) + menu(acalcoutINAV) + prompt("INAA PV Status") + } + field(IBBV, DBF_MENU) { + prompt("INBB PV Status") + menu(acalcoutINAV) + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(ICCV, DBF_MENU) { + interest(1) + menu(acalcoutINAV) + prompt("INCC PV Status") + special(SPC_NOMOD) + initial("1") + } + field(IDDV, DBF_MENU) { + menu(acalcoutINAV) + special(SPC_NOMOD) + prompt("INDD PV Status") + interest(1) + initial("1") + } + field(IEEV, DBF_MENU) { + interest(1) + menu(acalcoutINAV) + prompt("INEE PV Status") + special(SPC_NOMOD) + initial("1") + } + field(IFFV, DBF_MENU) { + menu(acalcoutINAV) + special(SPC_NOMOD) + prompt("INFF PV Status") + interest(1) + initial("1") + } + field(IGGV, DBF_MENU) { + menu(acalcoutINAV) + prompt("INGG PV Status") + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(IHHV, DBF_MENU) { + menu(acalcoutINAV) + special(SPC_NOMOD) + prompt("INHH PV Status") + interest(1) + initial("1") + } + field(IIIV, DBF_MENU) { + interest(1) + menu(acalcoutINAV) + special(SPC_NOMOD) + prompt("INII PV Status") + initial("1") + } + field(IJJV, DBF_MENU) { + menu(acalcoutINAV) + prompt("INJJ PV Status") + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(IKKV, DBF_MENU) { + special(SPC_NOMOD) + menu(acalcoutINAV) + prompt("INKK PV Status") + interest(1) + initial("1") + } + field(ILLV, DBF_MENU) { + interest(1) + prompt("INLL PV Status") + menu(acalcoutINAV) + special(SPC_NOMOD) + initial("1") + } + field(OUTV, DBF_MENU) { + special(SPC_NOMOD) + menu(acalcoutINAV) + prompt("OUT PV Status") + interest(1) + } + field(OOPT, DBF_MENU) { + promptgroup(GUI_CALC) + interest(1) + menu(acalcoutOOPT) + prompt("Output Execute Opt") + } + field(ODLY, DBF_DOUBLE) { + promptgroup(GUI_ALARMS) + interest(1) + prompt("Output Execute Delay") + asl(ASL0) + } + field(WAIT, DBF_MENU) { + interest(1) + prompt("Wait for completion?") + menu(acalcoutWAIT) + } + field(DLYA, DBF_USHORT) { + special(SPC_NOMOD) + asl(ASL0) + prompt("Output Delay Active") + } + field(DOPT, DBF_MENU) { + promptgroup(GUI_CALC) + interest(1) + menu(acalcoutDOPT) + prompt("Output Data Opt") + } + field(OCAL, DBF_STRING) { + pp(TRUE) + prompt("Output Calculation") + special(SPC_MOD) + size(80) + promptgroup(GUI_CALC) + } + field(OCLV, DBF_LONG) { + interest(1) + prompt("OCAL Valid") + } + field(OEVT, DBF_USHORT) { + promptgroup(GUI_CLOCK) + asl(ASL0) + prompt("Event To Issue") + } + field(IVOA, DBF_MENU) { + menu(menuIvoa) + prompt("INVALID output action") + promptgroup(GUI_OUTPUT) + interest(2) + } + field(IVOV, DBF_DOUBLE) { + interest(2) + promptgroup(GUI_OUTPUT) + prompt("INVALID output value") + } + field(EGU, DBF_STRING) { + prompt("Units Name") + size(16) + interest(1) + promptgroup(GUI_DISPLAY) + } + field(PREC, DBF_SHORT) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Display Precision") + } + field(HOPR, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("High Operating Rng") + } + field(LOPR, DBF_DOUBLE) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Low Operating Range") + } + field(HIHI, DBF_DOUBLE) { + prompt("Hihi Alarm Limit") + interest(1) + promptgroup(GUI_ALARMS) + pp(TRUE) + } + field(LOLO, DBF_DOUBLE) { + pp(TRUE) + prompt("Lolo Alarm Limit") + promptgroup(GUI_ALARMS) + interest(1) + } + field(HIGH, DBF_DOUBLE) { + pp(TRUE) + prompt("High Alarm Limit") + promptgroup(GUI_ALARMS) + interest(1) + } + field(LOW, DBF_DOUBLE) { + pp(TRUE) + promptgroup(GUI_ALARMS) + interest(1) + prompt("Low Alarm Limit") + } + field(HHSV, DBF_MENU) { + pp(TRUE) + promptgroup(GUI_ALARMS) + interest(1) + menu(menuAlarmSevr) + prompt("Hihi Severity") + } + field(LLSV, DBF_MENU) { + pp(TRUE) + menu(menuAlarmSevr) + prompt("Lolo Severity") + promptgroup(GUI_ALARMS) + interest(1) + } + field(HSV, DBF_MENU) { + pp(TRUE) + promptgroup(GUI_ALARMS) + interest(1) + menu(menuAlarmSevr) + prompt("High Severity") + } + field(LSV, DBF_MENU) { + pp(TRUE) + prompt("Low Severity") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_ALARMS) + } + field(HYST, DBF_DOUBLE) { + prompt("Alarm Deadband") + interest(1) + promptgroup(GUI_ALARMS) + } + field(ADEL, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Archive Deadband") + } + field(MDEL, DBF_DOUBLE) { + prompt("Monitor Deadband") + interest(1) + promptgroup(GUI_DISPLAY) + } + field(A, DBF_DOUBLE) { + prompt("Value of Input A") + pp(TRUE) + } + field(B, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input B") + } + field(C, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input C") + } + field(D, DBF_DOUBLE) { + prompt("Value of Input D") + pp(TRUE) + } + field(E, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input E") + } + field(F, DBF_DOUBLE) { + prompt("Value of Input F") + pp(TRUE) + } + field(G, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input G") + } + field(H, DBF_DOUBLE) { + prompt("Value of Input H") + pp(TRUE) + } + field(I, DBF_DOUBLE) { + prompt("Value of Input I") + pp(TRUE) + } + field(J, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input J") + } + field(K, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input K") + } + field(L, DBF_DOUBLE) { + prompt("Value of Input L") + pp(TRUE) + } + field(AA, DBF_NOACCESS) { + extra("double *aa") + special(SPC_DBADDR) + prompt("Value of array input") + asl(ASL0) + pp(TRUE) + } + field(BB, DBF_NOACCESS) { + extra("double *bb") + prompt("Value of array input") + special(SPC_DBADDR) + asl(ASL0) + pp(TRUE) + } + field(CC, DBF_NOACCESS) { + pp(TRUE) + extra("double *cc") + special(SPC_DBADDR) + asl(ASL0) + prompt("Value of array input") + } + field(DD, DBF_NOACCESS) { + pp(TRUE) + special(SPC_DBADDR) + asl(ASL0) + prompt("Value of array input") + extra("double *dd") + } + field(EE, DBF_NOACCESS) { + pp(TRUE) + extra("double *ee") + prompt("Value of array input") + special(SPC_DBADDR) + asl(ASL0) + } + field(FF, DBF_NOACCESS) { + pp(TRUE) + special(SPC_DBADDR) + prompt("Value of array input") + asl(ASL0) + extra("double *ff") + } + field(GG, DBF_NOACCESS) { + pp(TRUE) + asl(ASL0) + special(SPC_DBADDR) + prompt("Value of array input") + extra("double *gg") + } + field(HH, DBF_NOACCESS) { + special(SPC_DBADDR) + prompt("Value of array input") + asl(ASL0) + extra("double *hh") + pp(TRUE) + } + field(II, DBF_NOACCESS) { + pp(TRUE) + asl(ASL0) + special(SPC_DBADDR) + prompt("Value of array input") + extra("double *ii") + } + field(JJ, DBF_NOACCESS) { + pp(TRUE) + extra("double *jj") + special(SPC_DBADDR) + asl(ASL0) + prompt("Value of array input") + } + field(KK, DBF_NOACCESS) { + extra("double *kk") + special(SPC_DBADDR) + prompt("Value of array input") + asl(ASL0) + pp(TRUE) + } + field(LL, DBF_NOACCESS) { + pp(TRUE) + extra("double *ll") + special(SPC_DBADDR) + prompt("Value of array input") + asl(ASL0) + } + field(PAA, DBF_NOACCESS) { + extra("double *paa") + prompt("Prev Val of array input") + asl(ASL0) + } + field(NEWM, DBF_ULONG) { + special(SPC_NOMOD) + asl(ASL0) + prompt("new array value mask") + } + field(OVAL, DBF_DOUBLE) { + asl(ASL0) + prompt("Output Value") + } + field(OAV, DBF_NOACCESS) { + special(SPC_DBADDR) + asl(ASL0) + prompt("Output array value") + extra("double *oav") + pp(TRUE) + } + field(POAV, DBF_NOACCESS) { + pp(TRUE) + extra("double *poav") + asl(ASL0) + prompt("Output array value") + } + field(PA, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Value of A") + } + field(PB, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of B") + interest(3) + } + field(PC, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of C") + special(SPC_NOMOD) + } + field(PD, DBF_DOUBLE) { + prompt("Prev Value of D") + special(SPC_NOMOD) + interest(3) + } + field(PE, DBF_DOUBLE) { + prompt("Prev Value of E") + special(SPC_NOMOD) + interest(3) + } + field(PF, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Value of F") + } + field(PG, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Value of G") + } + field(PH, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of H") + interest(3) + } + field(PI, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of I") + special(SPC_NOMOD) + } + field(PJ, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Value of J") + } + field(PK, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of K") + interest(3) + } + field(PL, DBF_DOUBLE) { + prompt("Prev Value of L") + special(SPC_NOMOD) + interest(3) + } + field(POVL, DBF_DOUBLE) { + prompt("Prev Value of OVAL") + asl(ASL0) + } + field(LALM, DBF_DOUBLE) { + interest(3) + prompt("Last Value Alarmed") + special(SPC_NOMOD) + } + field(ALST, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Last Value Archived") + } + field(MLST, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Last Val Monitored") + interest(3) + } + field(RPCL, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Reverse Polish Calc") + extra("unsigned char rpcl[282]") + } + field(ORPC, DBF_NOACCESS) { + interest(4) + prompt("Reverse Polish OCalc") + special(SPC_NOMOD) + extra("unsigned char orpc[282]") + } + field(CACT, DBF_UCHAR) { + interest(1) + prompt("Calc active") + special(SPC_NOMOD) + } + field(CSTAT, DBF_LONG) { + prompt("Calc status") + special(SPC_NOMOD) + interest(1) + } + field(AMASK, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Array mod") + interest(1) + } + field(SIZE, DBF_MENU) { + menu(acalcoutSIZE) + prompt("Array size reported to clients") + interest(1) + } +} +device(acalcout, CONSTANT, devaCalcoutSoft, "Soft Channel") +recordtype(compress) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + special(SPC_NOMOD) + prompt("Record Name") + size(61) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + promptgroup(GUI_COMMON) + size(41) + } + field(ASG, DBF_STRING) { + prompt("Access Security Group") + special(SPC_AS) + size(29) + promptgroup(GUI_COMMON) + } + field(SCAN, DBF_MENU) { + menu(menuScan) + prompt("Scan Mechanism") + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(PINI, DBF_MENU) { + menu(menuPini) + prompt("Process at iocInit") + promptgroup(GUI_SCAN) + interest(1) + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + special(SPC_SCAN) + interest(1) + promptgroup(GUI_SCAN) + } + field(EVNT, DBF_STRING) { + interest(1) + size(40) + promptgroup(GUI_SCAN) + special(SPC_SCAN) + prompt("Event Name") + } + field(TSE, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup(GUI_SCAN) + interest(1) + } + field(DTYP, DBF_DEVICE) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + initial("1") + promptgroup(GUI_SCAN) + prompt("Disable Value") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + interest(1) + promptgroup(GUI_SCAN) + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + prompt("Monitor lock") + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + special(SPC_NOMOD) + interest(4) + extra("ELLLIST mlis") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + interest(3) + prompt("Force Processing") + } + field(STAT, DBF_MENU) { + initial("UDF") + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("Alarm Status") + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + interest(2) + } + field(NSEV, DBF_MENU) { + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("New Alarm Severity") + interest(2) + } + field(ACKS, DBF_MENU) { + interest(2) + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + special(SPC_NOMOD) + menu(menuYesNo) + prompt("Alarm Ack Transient") + promptgroup(GUI_ALARMS) + interest(2) + } + field(DISS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + interest(1) + promptgroup(GUI_SCAN) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + special(SPC_NOMOD) + interest(2) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + special(SPC_NOMOD) + interest(1) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + special(SPC_NOMOD) + interest(1) + } + field(RPRO, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Reprocess ") + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + prompt("Access Security Pvt") + special(SPC_NOMOD) + interest(4) + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + special(SPC_NOMOD) + prompt("pprocessNotify") + interest(4) + } + field(PPNR, DBF_NOACCESS) { + interest(4) + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + special(SPC_NOMOD) + prompt("Scan Private") + interest(4) + } + field(RSET, DBF_NOACCESS) { + interest(4) + prompt("Address of RSET") + special(SPC_NOMOD) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + prompt("DSET address") + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + interest(4) + prompt("Device Private") + special(SPC_NOMOD) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + special(SPC_NOMOD) + prompt("Address of dbRecordType") + interest(4) + } + field(LSET, DBF_NOACCESS) { + interest(4) + prompt("Lock Set") + special(SPC_NOMOD) + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + menu(menuPriority) + prompt("Scheduling Priority") + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + interest(1) + special(SPC_NOMOD) + prompt("Break Point") + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + initial("1") + prompt("Undefined") + interest(1) + promptgroup(GUI_COMMON) + } + field(UDFS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + promptgroup(GUI_COMMON) + interest(1) + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + special(SPC_NOMOD) + interest(2) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup(GUI_LINKS) + interest(1) + } + field(VAL, DBF_NOACCESS) { + special(SPC_DBADDR) + asl(ASL0) + prompt("Value") + extra("void * val") + pp(TRUE) + } + field(INP, DBF_INLINK) { + prompt("Input Specification") + promptgroup(GUI_COMPRESS) + interest(1) + } + field(RES, DBF_SHORT) { + special(SPC_RESET) + prompt("Reset") + asl(ASL0) + interest(3) + } + field(ALG, DBF_MENU) { + prompt("Compression Algorithm") + menu(compressALG) + special(SPC_RESET) + promptgroup(GUI_ALARMS) + interest(1) + } + field(NSAM, DBF_ULONG) { + promptgroup(GUI_COMPRESS) + interest(1) + special(SPC_NOMOD) + prompt("Number of Values") + initial("1") + } + field(N, DBF_ULONG) { + initial("1") + special(SPC_RESET) + prompt("N to 1 Compression") + promptgroup(GUI_COMPRESS) + interest(1) + } + field(IHIL, DBF_DOUBLE) { + prompt("Init High Interest Lim") + promptgroup(GUI_COMPRESS) + interest(1) + } + field(ILIL, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_COMPRESS) + prompt("Init Low Interest Lim") + } + field(HOPR, DBF_DOUBLE) { + prompt("High Operating Range") + promptgroup(GUI_DISPLAY) + interest(1) + prop(YES) + } + field(LOPR, DBF_DOUBLE) { + prop(YES) + prompt("Low Operating Range") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(PREC, DBF_SHORT) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Display Precision") + prop(YES) + } + field(EGU, DBF_STRING) { + prompt("EngineeringUnits") + interest(1) + size(16) + promptgroup(GUI_DISPLAY) + prop(YES) + } + field(OFF, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Offset") + } + field(NUSE, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Number Used") + } + field(OUSE, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Old Number Used") + } + field(BPTR, DBF_NOACCESS) { + prompt("Buffer Pointer") + special(SPC_NOMOD) + interest(4) + extra("double *bptr") + } + field(SPTR, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Summing Buffer Ptr") + extra("double *sptr") + } + field(WPTR, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Working Buffer Ptr") + extra("double *wptr") + } + field(INPN, DBF_LONG) { + interest(4) + prompt("Number of elements in Working Buffer") + special(SPC_NOMOD) + } + field(CVB, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Compress Value Buffer") + interest(3) + } + field(INX, DBF_ULONG) { + interest(3) + special(SPC_NOMOD) + prompt("Compressed Array Inx") + } +} +recordtype(fanout) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + special(SPC_NOMOD) + prompt("Record Name") + size(61) + } + field(DESC, DBF_STRING) { + size(41) + promptgroup(GUI_COMMON) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + prompt("Access Security Group") + special(SPC_AS) + size(29) + promptgroup(GUI_COMMON) + } + field(SCAN, DBF_MENU) { + menu(menuScan) + prompt("Scan Mechanism") + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(PINI, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Process at iocInit") + menu(menuPini) + } + field(PHAS, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scan Phase") + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + special(SPC_SCAN) + prompt("Event Name") + interest(1) + size(40) + promptgroup(GUI_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup(GUI_SCAN) + interest(1) + } + field(TSEL, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + interest(1) + promptgroup(GUI_LINKS) + } + field(DISV, DBF_SHORT) { + initial("1") + promptgroup(GUI_SCAN) + prompt("Disable Value") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + prompt("Monitor lock") + special(SPC_NOMOD) + interest(4) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + special(SPC_NOMOD) + interest(4) + extra("ELLLIST mlis") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("Alarm Status") + initial("UDF") + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("Alarm Severity") + } + field(NSTA, DBF_MENU) { + interest(2) + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("New Alarm Status") + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + interest(2) + } + field(ACKS, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + interest(2) + } + field(ACKT, DBF_MENU) { + menu(menuYesNo) + special(SPC_NOMOD) + prompt("Alarm Ack Transient") + promptgroup(GUI_ALARMS) + interest(2) + initial("YES") + } + field(DISS, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + } + field(LCNT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Lock Count") + interest(2) + } + field(PACT, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Record active") + } + field(PUTF, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("dbPutField process") + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + interest(4) + prompt("Access Security Pvt") + special(SPC_NOMOD) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("pprocessNotify") + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + interest(4) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + interest(4) + prompt("Scan Private") + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + extra("struct rset *rset") + interest(4) + prompt("Address of RSET") + special(SPC_NOMOD) + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + prompt("DSET address") + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + interest(4) + prompt("Device Private") + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + special(SPC_NOMOD) + interest(4) + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + prompt("Lock Set") + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + special(SPC_SCAN) + interest(1) + promptgroup(GUI_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + interest(1) + special(SPC_NOMOD) + prompt("Break Point") + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + prompt("Undefined") + interest(1) + promptgroup(GUI_COMMON) + initial("1") + pp(TRUE) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup(GUI_COMMON) + interest(1) + } + field(TIME, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Time") + interest(2) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Forward Process Link") + } + field(VAL, DBF_LONG) { + asl(ASL0) + prompt("Used to trigger") + pp(TRUE) + } + field(SELM, DBF_MENU) { + menu(fanoutSELM) + prompt("Select Mechanism") + promptgroup(GUI_LINKS) + interest(1) + } + field(SELN, DBF_USHORT) { + prompt("Link Selection") + interest(1) + initial("1") + } + field(SELL, DBF_INLINK) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Link Selection Loc") + } + field(OFFS, DBF_SHORT) { + initial("0") + interest(1) + prompt("Offset for Specified") + } + field(SHFT, DBF_SHORT) { + prompt("Shift for Mask mode") + interest(1) + initial("-1") + } + field(LNK0, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Link 0") + } + field(LNK1, DBF_FWDLINK) { + prompt("Forward Link 1") + promptgroup(GUI_LINKS) + interest(1) + } + field(LNK2, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Link 2") + } + field(LNK3, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Link 3") + } + field(LNK4, DBF_FWDLINK) { + prompt("Forward Link 4") + promptgroup(GUI_LINKS) + interest(1) + } + field(LNK5, DBF_FWDLINK) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Forward Link 5") + } + field(LNK6, DBF_FWDLINK) { + prompt("Forward Link 6") + interest(1) + promptgroup(GUI_LINKS) + } + field(LNK7, DBF_FWDLINK) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Forward Link 7") + } + field(LNK8, DBF_FWDLINK) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Forward Link 8") + } + field(LNK9, DBF_FWDLINK) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Forward Link 9") + } + field(LNKA, DBF_FWDLINK) { + prompt("Forward Link 10") + interest(1) + promptgroup(GUI_LINKS) + } + field(LNKB, DBF_FWDLINK) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Forward Link 11") + } + field(LNKC, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Link 12") + } + field(LNKD, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Link 13") + } + field(LNKE, DBF_FWDLINK) { + prompt("Forward Link 14") + interest(1) + promptgroup(GUI_LINKS) + } + field(LNKF, DBF_FWDLINK) { + prompt("Forward Link 15") + promptgroup(GUI_LINKS) + interest(1) + } +} +recordtype(histogram) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + size(61) + special(SPC_NOMOD) + prompt("Record Name") + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + size(41) + promptgroup(GUI_COMMON) + } + field(ASG, DBF_STRING) { + size(29) + promptgroup(GUI_COMMON) + special(SPC_AS) + prompt("Access Security Group") + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuScan) + special(SPC_SCAN) + prompt("Scan Mechanism") + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + interest(1) + promptgroup(GUI_SCAN) + } + field(PHAS, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + special(SPC_SCAN) + prompt("Scan Phase") + } + field(EVNT, DBF_STRING) { + interest(1) + promptgroup(GUI_SCAN) + size(40) + special(SPC_SCAN) + prompt("Event Name") + } + field(TSE, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + promptgroup(GUI_SCAN) + prompt("Disable Value") + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + interest(1) + promptgroup(GUI_SCAN) + } + field(MLOK, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Monitor lock") + interest(4) + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + prompt("Monitor List") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("Alarm Status") + initial("UDF") + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Alarm Severity") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + menu(menuAlarmStat) + prompt("New Alarm Status") + special(SPC_NOMOD) + interest(2) + } + field(NSEV, DBF_MENU) { + interest(2) + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("New Alarm Severity") + } + field(ACKS, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + interest(2) + } + field(ACKT, DBF_MENU) { + special(SPC_NOMOD) + menu(menuYesNo) + prompt("Alarm Ack Transient") + interest(2) + promptgroup(GUI_ALARMS) + initial("YES") + } + field(DISS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + interest(1) + promptgroup(GUI_SCAN) + } + field(LCNT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Lock Count") + interest(2) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + special(SPC_NOMOD) + interest(1) + } + field(PUTF, DBF_UCHAR) { + interest(1) + prompt("dbPutField process") + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Access Security Pvt") + interest(4) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("pprocessNotify") + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + interest(4) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Scan Private") + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + special(SPC_NOMOD) + interest(4) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + special(SPC_NOMOD) + prompt("DSET address") + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + special(SPC_NOMOD) + interest(4) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + prompt("Address of dbRecordType") + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + special(SPC_NOMOD) + interest(4) + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuPriority) + special(SPC_SCAN) + prompt("Scheduling Priority") + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + interest(1) + prompt("Break Point") + special(SPC_NOMOD) + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + initial("1") + promptgroup(GUI_COMMON) + interest(1) + prompt("Undefined") + } + field(UDFS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + interest(1) + promptgroup(GUI_COMMON) + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + interest(2) + prompt("Time") + special(SPC_NOMOD) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + interest(1) + promptgroup(GUI_LINKS) + } + field(VAL, DBF_NOACCESS) { + extra("void * val") + special(SPC_DBADDR) + prompt("Value") + asl(ASL0) + } + field(NELM, DBF_USHORT) { + initial("1") + interest(1) + promptgroup(GUI_HIST) + prompt("Num of Array Elements") + special(SPC_NOMOD) + } + field(CSTA, DBF_SHORT) { + interest(1) + special(SPC_NOMOD) + prompt("Collection Status") + initial("1") + } + field(CMD, DBF_MENU) { + asl(ASL0) + menu(histogramCMD) + special(SPC_CALC) + prompt("Collection Control") + interest(1) + } + field(ULIM, DBF_DOUBLE) { + promptgroup(GUI_HIST) + interest(1) + prompt("Upper Signal Limit") + special(SPC_RESET) + prop(YES) + } + field(LLIM, DBF_DOUBLE) { + prop(YES) + interest(1) + promptgroup(GUI_HIST) + special(SPC_RESET) + prompt("Lower Signal Limit ") + } + field(WDTH, DBF_DOUBLE) { + interest(3) + prompt("Element Width") + special(SPC_NOMOD) + } + field(SGNL, DBF_DOUBLE) { + special(SPC_MOD) + prompt("Signal Value") + } + field(PREC, DBF_SHORT) { + prompt("Display Precision") + interest(1) + promptgroup(GUI_DISPLAY) + prop(YES) + } + field(SVL, DBF_INLINK) { + prompt("Signal Value Location") + interest(1) + promptgroup(GUI_INPUTS) + } + field(BPTR, DBF_NOACCESS) { + prompt("Buffer Pointer") + special(SPC_NOMOD) + interest(4) + extra("epicsUInt32 *bptr") + } + field(WDOG, DBF_NOACCESS) { + extra("void * wdog") + interest(4) + prompt("Watchdog callback") + special(SPC_NOMOD) + } + field(MDEL, DBF_SHORT) { + interest(1) + promptgroup(GUI_HIST) + prompt("Monitor Count Deadband") + } + field(MCNT, DBF_SHORT) { + special(SPC_NOMOD) + prompt("Counts Since Monitor") + interest(3) + } + field(SDEL, DBF_DOUBLE) { + prompt("Monitor Seconds Dband") + special(SPC_RESET) + promptgroup(GUI_HIST) + interest(1) + } + field(SIOL, DBF_INLINK) { + prompt("Sim Input Specifctn") + promptgroup(GUI_INPUTS) + interest(1) + } + field(SVAL, DBF_DOUBLE) { + prompt("Simulation Value") + } + field(SIML, DBF_INLINK) { + prompt("Sim Mode Location") + interest(1) + promptgroup(GUI_INPUTS) + } + field(SIMM, DBF_MENU) { + interest(1) + prompt("Simulation Mode") + menu(menuYesNo) + } + field(SIMS, DBF_MENU) { + promptgroup(GUI_INPUTS) + interest(2) + menu(menuAlarmSevr) + prompt("Sim mode Alarm Svrty") + } + field(HOPR, DBF_ULONG) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("High Operating Range") + prop(YES) + } + field(LOPR, DBF_ULONG) { + prop(YES) + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Low Operating Range") + } +} +device(histogram, CONSTANT, devHistogramSoft, "Soft Channel") +recordtype(longout) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + special(SPC_NOMOD) + prompt("Record Name") + size(61) + } + field(DESC, DBF_STRING) { promptgroup(GUI_COMMON) size(41) prompt("Descriptor") } field(ASG, DBF_STRING) { promptgroup(GUI_COMMON) + size(29) special(SPC_AS) - size(29) prompt("Access Security Group") } field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) special(SPC_SCAN) menu(menuScan) - interest(1) prompt("Scan Mechanism") + promptgroup(GUI_SCAN) + interest(1) } field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) menu(menuPini) - interest(1) prompt("Process at iocInit") + interest(1) + promptgroup(GUI_SCAN) } field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) + interest(1) + promptgroup(GUI_SCAN) prompt("Scan Phase") + special(SPC_SCAN) } field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) prompt("Event Name") + special(SPC_SCAN) + size(40) + interest(1) + promptgroup(GUI_SCAN) } field(TSE, DBF_SHORT) { promptgroup(GUI_SCAN) @@ -358,6 +6166,1331 @@ prompt("Time Stamp Event") } field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup(GUI_SCAN) + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup(GUI_LINKS) + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + promptgroup(GUI_SCAN) + prompt("Disable Value") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + interest(4) + prompt("Monitor lock") + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + interest(4) + prompt("Monitor List") + special(SPC_NOMOD) + extra("ELLLIST mlis") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + prompt("Force Processing") + interest(3) + pp(TRUE) + } + field(STAT, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("Alarm Status") + initial("UDF") + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + interest(2) + } + field(NSEV, DBF_MENU) { + interest(2) + prompt("New Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + interest(2) + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + initial("YES") + promptgroup(GUI_ALARMS) + interest(2) + prompt("Alarm Ack Transient") + menu(menuYesNo) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup(GUI_SCAN) + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + special(SPC_NOMOD) + interest(2) + } + field(PACT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Record active") + interest(1) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + special(SPC_NOMOD) + interest(1) + } + field(RPRO, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Reprocess ") + } + field(ASP, DBF_NOACCESS) { + interest(4) + prompt("Access Security Pvt") + special(SPC_NOMOD) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + special(SPC_NOMOD) + interest(4) + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + extra("struct processNotifyRecord *ppnr") + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + interest(4) + } + field(SPVT, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Scan Private") + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + extra("struct rset *rset") + interest(4) + special(SPC_NOMOD) + prompt("Address of RSET") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + prompt("DSET address") + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + interest(4) + prompt("Device Private") + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + interest(4) + prompt("Address of dbRecordType") + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + special(SPC_NOMOD) + interest(4) + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + special(SPC_SCAN) + menu(menuPriority) + prompt("Scheduling Priority") + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + special(SPC_NOMOD) + prompt("Break Point") + interest(1) + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + initial("1") + promptgroup(GUI_COMMON) + interest(1) + prompt("Undefined") + } + field(UDFS, DBF_MENU) { + initial("INVALID") + interest(1) + promptgroup(GUI_COMMON) + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + } + field(TIME, DBF_NOACCESS) { + extra("epicsTimeStamp time") + interest(2) + prompt("Time") + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Process Link") + } + field(VAL, DBF_LONG) { + pp(TRUE) + asl(ASL0) + prompt("Desired Output") + promptgroup(GUI_OUTPUT) + } + field(OUT, DBF_OUTLINK) { + promptgroup(GUI_OUTPUT) + interest(1) + prompt("Output Specification") + } + field(DOL, DBF_INLINK) { + interest(1) + promptgroup(GUI_OUTPUT) + prompt("Desired Output Loc") + } + field(OMSL, DBF_MENU) { + interest(1) + promptgroup(GUI_OUTPUT) + prompt("Output Mode Select") + menu(menuOmsl) + } + field(EGU, DBF_STRING) { + size(16) + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Units name") + prop(YES) + } + field(DRVH, DBF_LONG) { + pp(TRUE) + prop(YES) + promptgroup(GUI_OUTPUT) + interest(1) + prompt("Drive High Limit") + } + field(DRVL, DBF_LONG) { + prop(YES) + pp(TRUE) + prompt("Drive Low Limit") + interest(1) + promptgroup(GUI_OUTPUT) + } + field(HOPR, DBF_LONG) { + prop(YES) + prompt("High Operating Range") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(LOPR, DBF_LONG) { + prop(YES) + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Low Operating Range") + } + field(HIHI, DBF_LONG) { + prop(YES) + pp(TRUE) + interest(1) + promptgroup(GUI_ALARMS) + prompt("Hihi Alarm Limit") + } + field(LOLO, DBF_LONG) { + prompt("Lolo Alarm Limit") + interest(1) + promptgroup(GUI_ALARMS) + prop(YES) + pp(TRUE) + } + field(HIGH, DBF_LONG) { + prop(YES) + pp(TRUE) + interest(1) + promptgroup(GUI_ALARMS) + prompt("High Alarm Limit") + } + field(LOW, DBF_LONG) { + pp(TRUE) + prop(YES) + prompt("Low Alarm Limit") + promptgroup(GUI_ALARMS) + interest(1) + } + field(HHSV, DBF_MENU) { + pp(TRUE) + interest(1) + promptgroup(GUI_ALARMS) + prompt("Hihi Severity") + menu(menuAlarmSevr) + } + field(LLSV, DBF_MENU) { + prompt("Lolo Severity") + menu(menuAlarmSevr) + promptgroup(GUI_ALARMS) + interest(1) + pp(TRUE) + } + field(HSV, DBF_MENU) { + interest(1) + promptgroup(GUI_ALARMS) + menu(menuAlarmSevr) + prompt("High Severity") + pp(TRUE) + } + field(LSV, DBF_MENU) { + pp(TRUE) + menu(menuAlarmSevr) + prompt("Low Severity") + interest(1) + promptgroup(GUI_ALARMS) + } + field(HYST, DBF_LONG) { + promptgroup(GUI_ALARMS) + interest(1) + prompt("Alarm Deadband") + } + field(ADEL, DBF_LONG) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Archive Deadband") + } + field(MDEL, DBF_LONG) { + prompt("Monitor Deadband") + interest(1) + promptgroup(GUI_DISPLAY) + } + field(LALM, DBF_LONG) { + special(SPC_NOMOD) + prompt("Last Value Alarmed") + interest(3) + } + field(ALST, DBF_LONG) { + interest(3) + prompt("Last Value Archived") + special(SPC_NOMOD) + } + field(MLST, DBF_LONG) { + special(SPC_NOMOD) + prompt("Last Val Monitored") + interest(3) + } + field(SIOL, DBF_OUTLINK) { + prompt("Sim Output Specifctn") + interest(1) + promptgroup(GUI_INPUTS) + } + field(SIML, DBF_INLINK) { + prompt("Sim Mode Location") + interest(1) + promptgroup(GUI_INPUTS) + } + field(SIMM, DBF_MENU) { + interest(1) + prompt("Simulation Mode") + menu(menuYesNo) + } + field(SIMS, DBF_MENU) { + prompt("Sim mode Alarm Svrty") + menu(menuAlarmSevr) + interest(2) + promptgroup(GUI_INPUTS) + } + field(IVOA, DBF_MENU) { + promptgroup(GUI_OUTPUT) + interest(2) + prompt("INVALID output action") + menu(menuIvoa) + } + field(IVOV, DBF_LONG) { + promptgroup(GUI_OUTPUT) + interest(2) + prompt("INVALID output value") + } +} +device(longout, CONSTANT, devLoSoft, "Soft Channel") +device(longout, CONSTANT, devLoSoftCallback, "Async Soft Channel") +device(longout, INST_IO, asynLoInt32, "asynInt32") +device(longout, INST_IO, asynLoUInt32Digital, "asynUInt32Digital") +device(longout, INST_IO, devlongoutStream, "stream") +recordtype(subArray) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + prompt("Record Name") + special(SPC_NOMOD) + size(61) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + promptgroup(GUI_COMMON) + size(41) + } + field(ASG, DBF_STRING) { + size(29) + promptgroup(GUI_COMMON) + special(SPC_AS) + prompt("Access Security Group") + } + field(SCAN, DBF_MENU) { + menu(menuScan) + special(SPC_SCAN) + prompt("Scan Mechanism") + promptgroup(GUI_SCAN) + interest(1) + } + field(PINI, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuPini) + prompt("Process at iocInit") + } + field(PHAS, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scan Phase") + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + special(SPC_SCAN) + prompt("Event Name") + interest(1) + promptgroup(GUI_SCAN) + size(40) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + interest(1) + promptgroup(GUI_SCAN) + } + field(TSEL, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + initial("1") + promptgroup(GUI_SCAN) + prompt("Disable Value") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Monitor lock") + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + interest(4) + prompt("Monitor List") + special(SPC_NOMOD) + extra("ELLLIST mlis") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + interest(3) + prompt("Force Processing") + pp(TRUE) + } + field(STAT, DBF_MENU) { + initial("UDF") + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("Alarm Status") + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("Alarm Severity") + } + field(NSTA, DBF_MENU) { + interest(2) + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("New Alarm Status") + } + field(NSEV, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("New Alarm Severity") + interest(2) + } + field(ACKS, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + interest(2) + } + field(ACKT, DBF_MENU) { + initial("YES") + menu(menuYesNo) + prompt("Alarm Ack Transient") + special(SPC_NOMOD) + interest(2) + promptgroup(GUI_ALARMS) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_SCAN) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + special(SPC_NOMOD) + interest(2) + } + field(PACT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Record active") + interest(1) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + special(SPC_NOMOD) + interest(1) + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + prompt("Access Security Pvt") + special(SPC_NOMOD) + interest(4) + } + field(PPN, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("pprocessNotify") + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + extra("struct processNotifyRecord *ppnr") + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + interest(4) + } + field(SPVT, DBF_NOACCESS) { + interest(4) + prompt("Scan Private") + special(SPC_NOMOD) + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Address of RSET") + interest(4) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + special(SPC_NOMOD) + prompt("DSET address") + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + prompt("Device Private") + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + special(SPC_NOMOD) + interest(4) + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + special(SPC_NOMOD) + prompt("Lock Set") + interest(4) + } + field(PRIO, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuPriority) + prompt("Scheduling Priority") + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + special(SPC_NOMOD) + interest(1) + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + initial("1") + interest(1) + promptgroup(GUI_COMMON) + prompt("Undefined") + pp(TRUE) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + interest(1) + promptgroup(GUI_COMMON) + } + field(TIME, DBF_NOACCESS) { + extra("epicsTimeStamp time") + interest(2) + prompt("Time") + special(SPC_NOMOD) + } + field(FLNK, DBF_FWDLINK) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Forward Process Link") + } + field(VAL, DBF_NOACCESS) { + pp(TRUE) + extra("void * val") + special(SPC_DBADDR) + asl(ASL0) + prompt("Value") + } + field(PREC, DBF_SHORT) { + promptgroup(GUI_COMMON) + interest(1) + prompt("Display Precision") + prop(YES) + } + field(FTVL, DBF_MENU) { + promptgroup(GUI_ALARMS) + interest(1) + prompt("Field Type of Value") + menu(menuFtype) + special(SPC_NOMOD) + } + field(INP, DBF_INLINK) { + interest(1) + promptgroup(GUI_BITS1) + prompt("Input Specification") + } + field(EGU, DBF_STRING) { + size(16) + interest(1) + promptgroup(GUI_BITS2) + prompt("Engineering Units Name") + prop(YES) + } + field(HOPR, DBF_DOUBLE) { + prop(YES) + interest(1) + promptgroup(GUI_CALC) + prompt("High Operating Range") + } + field(LOPR, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_CLOCK) + prompt("Low Operating Range") + prop(YES) + } + field(MALM, DBF_ULONG) { + initial("1") + special(SPC_NOMOD) + prompt("Maximum Elements ") + interest(1) + promptgroup(GUI_CLOCK) + } + field(NELM, DBF_ULONG) { + promptgroup(GUI_COMPRESS) + prompt("Number of Elements") + initial("1") + pp(TRUE) + } + field(INDX, DBF_ULONG) { + promptgroup(GUI_CONVERT) + prompt("Substring Index") + pp(TRUE) + } + field(BUSY, DBF_SHORT) { + special(SPC_NOMOD) + prompt("Busy Indicator") + } + field(NORD, DBF_LONG) { + prompt("Number elements read") + special(SPC_NOMOD) + } + field(BPTR, DBF_NOACCESS) { + extra("void * bptr") + interest(4) + special(SPC_NOMOD) + prompt("Buffer Pointer") + } +} +device(subArray, CONSTANT, devSASoft, "Soft Channel") +recordtype(sel) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + special(SPC_NOMOD) + prompt("Record Name") + size(61) + } + field(DESC, DBF_STRING) { + size(41) + promptgroup(GUI_COMMON) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + size(29) + promptgroup(GUI_COMMON) + special(SPC_AS) + prompt("Access Security Group") + } + field(SCAN, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + special(SPC_SCAN) + menu(menuScan) + prompt("Scan Mechanism") + } + field(PINI, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuPini) + prompt("Process at iocInit") + } + field(PHAS, DBF_SHORT) { + special(SPC_SCAN) + prompt("Scan Phase") + promptgroup(GUI_SCAN) + interest(1) + } + field(EVNT, DBF_STRING) { + interest(1) + promptgroup(GUI_SCAN) + size(40) + prompt("Event Name") + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup(GUI_LINKS) + interest(1) + } + field(DISV, DBF_SHORT) { + promptgroup(GUI_SCAN) + prompt("Disable Value") + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Monitor lock") + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + interest(4) + prompt("Monitor List") + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + prompt("Force Processing") + interest(3) + pp(TRUE) + } + field(STAT, DBF_MENU) { + initial("UDF") + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("Alarm Status") + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + interest(2) + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("New Alarm Status") + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + interest(2) + } + field(ACKS, DBF_MENU) { + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("Alarm Ack Severity") + interest(2) + } + field(ACKT, DBF_MENU) { + prompt("Alarm Ack Transient") + menu(menuYesNo) + special(SPC_NOMOD) + promptgroup(GUI_ALARMS) + interest(2) + initial("YES") + } + field(DISS, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + } + field(LCNT, DBF_UCHAR) { + interest(2) + special(SPC_NOMOD) + prompt("Lock Count") + } + field(PACT, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Record active") + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + interest(4) + prompt("Access Security Pvt") + special(SPC_NOMOD) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("pprocessNotify") + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + prompt("Scan Private") + } + field(RSET, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Address of RSET") + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + prompt("DSET address") + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + interest(4) + prompt("Device Private") + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + special(SPC_NOMOD) + prompt("Address of dbRecordType") + interest(4) + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + special(SPC_NOMOD) + prompt("Lock Set") + interest(4) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + interest(1) + prompt("Break Point") + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + promptgroup(GUI_COMMON) + interest(1) + prompt("Undefined") + initial("1") + pp(TRUE) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + promptgroup(GUI_COMMON) + interest(1) + } + field(TIME, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Time") + interest(2) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Forward Process Link") + } + field(VAL, DBF_DOUBLE) { + special(SPC_NOMOD) + asl(ASL0) + prompt("Result") + } + field(SELM, DBF_MENU) { + prompt("Select Mechanism") + menu(selSELM) + promptgroup(GUI_INPUTS) + } + field(SELN, DBF_USHORT) { + prompt("Index value") + } + field(PREC, DBF_SHORT) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Display Precision") + } + field(NVL, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Index Value Location") + } + field(INPA, DBF_INLINK) { + interest(1) + promptgroup(GUI_SELECT) + prompt("Input A") + } + field(INPB, DBF_INLINK) { + prompt("Input B") + promptgroup(GUI_SELECT) + interest(1) + } + field(INPC, DBF_INLINK) { + promptgroup(GUI_SELECT) + interest(1) + prompt("Input C") + } + field(INPD, DBF_INLINK) { + prompt("Input D") + promptgroup(GUI_SELECT) + interest(1) + } + field(INPE, DBF_INLINK) { + prompt("Input E") + promptgroup(GUI_SELECT) + interest(1) + } + field(INPF, DBF_INLINK) { + prompt("Input F") + promptgroup(GUI_SELECT) + interest(1) + } + field(INPG, DBF_INLINK) { + prompt("Input G") + interest(1) + promptgroup(GUI_SELECT) + } + field(INPH, DBF_INLINK) { + prompt("Input H") + promptgroup(GUI_SELECT) + interest(1) + } + field(INPI, DBF_INLINK) { + interest(1) + promptgroup(GUI_SELECT) + prompt("Input I") + } + field(INPJ, DBF_INLINK) { + prompt("Input J") + promptgroup(GUI_SELECT) + interest(1) + } + field(INPK, DBF_INLINK) { + prompt("Input K") + interest(1) + promptgroup(GUI_SELECT) + } + field(INPL, DBF_INLINK) { + promptgroup(GUI_SELECT) + interest(1) + prompt("Input L") + } + field(EGU, DBF_STRING) { + size(16) + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Units Name") + prop(YES) + } + field(HOPR, DBF_DOUBLE) { + prompt("High Operating Rng") + promptgroup(GUI_DISPLAY) + interest(1) + prop(YES) + } + field(LOPR, DBF_DOUBLE) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Low Operating Range") + prop(YES) + } + field(HIHI, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_ALARMS) + prompt("Hihi Alarm Limit") + prop(YES) + pp(TRUE) + } + field(LOLO, DBF_DOUBLE) { + prompt("Lolo Alarm Limit") + interest(1) + promptgroup(GUI_ALARMS) + pp(TRUE) + prop(YES) + } + field(HIGH, DBF_DOUBLE) { + prompt("High Alarm Limit") + promptgroup(GUI_ALARMS) + interest(1) + prop(YES) + pp(TRUE) + } + field(LOW, DBF_DOUBLE) { + prop(YES) + pp(TRUE) + prompt("Low Alarm Limit") + promptgroup(GUI_ALARMS) + interest(1) + } + field(HHSV, DBF_MENU) { + prop(YES) + pp(TRUE) + promptgroup(GUI_ALARMS) + interest(1) + menu(menuAlarmSevr) + prompt("Hihi Severity") + } + field(LLSV, DBF_MENU) { + pp(TRUE) + prop(YES) + prompt("Lolo Severity") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_ALARMS) + } + field(HSV, DBF_MENU) { + pp(TRUE) + prop(YES) + interest(1) + promptgroup(GUI_ALARMS) + prompt("High Severity") + menu(menuAlarmSevr) + } + field(LSV, DBF_MENU) { + pp(TRUE) + prop(YES) + prompt("Low Severity") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_ALARMS) + } + field(HYST, DBF_DOUBLE) { + prompt("Alarm Deadband") + promptgroup(GUI_ALARMS) + interest(1) + } + field(ADEL, DBF_DOUBLE) { + prompt("Archive Deadband") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(MDEL, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Monitor Deadband") + } + field(A, DBF_DOUBLE) { + prompt("Value of Input A") + pp(TRUE) + } + field(B, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input B") + } + field(C, DBF_DOUBLE) { + prompt("Value of Input C") + pp(TRUE) + } + field(D, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input D") + } + field(E, DBF_DOUBLE) { + prompt("Value of Input E") + pp(TRUE) + } + field(F, DBF_DOUBLE) { + prompt("Value of Input F") + pp(TRUE) + } + field(G, DBF_DOUBLE) { + prompt("Value of Input G") + pp(TRUE) + } + field(H, DBF_DOUBLE) { + prompt("Value of Input H") + pp(TRUE) + } + field(I, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input I") + } + field(J, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input J") + } + field(K, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input K") + } + field(L, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input L") + } + field(LA, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Value of A") + } + field(LB, DBF_DOUBLE) { + prompt("Prev Value of B") + special(SPC_NOMOD) + interest(3) + } + field(LC, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of C") + interest(3) + } + field(LD, DBF_DOUBLE) { + prompt("Prev Value of D") + special(SPC_NOMOD) + interest(3) + } + field(LE, DBF_DOUBLE) { + prompt("Prev Value of E") + special(SPC_NOMOD) + interest(3) + } + field(LF, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of F") + interest(3) + } + field(LG, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Value of G") + } + field(LH, DBF_DOUBLE) { + prompt("Prev Value of H") + special(SPC_NOMOD) + interest(3) + } + field(LI, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of I") + special(SPC_NOMOD) + } + field(LJ, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of J") + interest(3) + } + field(LK, DBF_DOUBLE) { + prompt("Prev Value of K") + special(SPC_NOMOD) + interest(3) + } + field(LL, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of L") + interest(3) + } + field(LALM, DBF_DOUBLE) { + interest(3) + prompt("Last Value Alarmed") + special(SPC_NOMOD) + } + field(ALST, DBF_DOUBLE) { + prompt("Last Value Archived") + special(SPC_NOMOD) + interest(3) + } + field(MLST, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Last Val Monitored") + } + field(NLST, DBF_USHORT) { + special(SPC_NOMOD) + prompt("Last Index Monitored") + interest(3) + } +} +recordtype(ao) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + size(41) + promptgroup(GUI_COMMON) + } + field(ASG, DBF_STRING) { + prompt("Access Security Group") + special(SPC_AS) + size(29) + promptgroup(GUI_COMMON) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(PINI, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuPini) + prompt("Process at iocInit") + } + field(PHAS, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + special(SPC_SCAN) + prompt("Scan Phase") + } + field(EVNT, DBF_STRING) { + size(40) + interest(1) + promptgroup(GUI_SCAN) + special(SPC_SCAN) + prompt("Event Name") + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + interest(1) + promptgroup(GUI_SCAN) + } + field(TSEL, DBF_INLINK) { promptgroup(GUI_SCAN) interest(1) prompt("Time Stamp Link") @@ -368,8 +7501,3439 @@ prompt("Device Type") } field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") + initial("1") + promptgroup(GUI_SCAN) + prompt("Disable Value") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup(GUI_SCAN) + interest(1) + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + special(SPC_NOMOD) + prompt("Monitor lock") + interest(4) + } + field(MLIS, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Monitor List") + extra("ELLLIST mlis") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + interest(3) + prompt("Force Processing") + } + field(STAT, DBF_MENU) { + initial("UDF") + menu(menuAlarmStat) + prompt("Alarm Status") + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("Alarm Severity") + } + field(NSTA, DBF_MENU) { + menu(menuAlarmStat) + prompt("New Alarm Status") + special(SPC_NOMOD) + interest(2) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + interest(2) + } + field(ACKS, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + interest(2) + } + field(ACKT, DBF_MENU) { + initial("YES") + menu(menuYesNo) + special(SPC_NOMOD) + prompt("Alarm Ack Transient") + promptgroup(GUI_ALARMS) + interest(2) + } + field(DISS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + promptgroup(GUI_SCAN) + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + special(SPC_NOMOD) + interest(2) + } + field(PACT, DBF_UCHAR) { + interest(1) + prompt("Record active") + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + special(SPC_NOMOD) + interest(1) + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + special(SPC_NOMOD) + prompt("Access Security Pvt") + interest(4) + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + prompt("pprocessNotify") + special(SPC_NOMOD) + interest(4) + } + field(PPNR, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + interest(4) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + prompt("Scan Private") + } + field(RSET, DBF_NOACCESS) { + extra("struct rset *rset") + interest(4) + special(SPC_NOMOD) + prompt("Address of RSET") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + special(SPC_NOMOD) + prompt("DSET address") + interest(4) + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + prompt("Device Private") + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + prompt("Address of dbRecordType") + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + special(SPC_NOMOD) + interest(4) + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scheduling Priority") + menu(menuPriority) + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + interest(1) + prompt("Break Point") + special(SPC_NOMOD) + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + initial("1") + prompt("Undefined") + interest(1) + promptgroup(GUI_COMMON) + pp(TRUE) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup(GUI_COMMON) + interest(1) + } + field(TIME, DBF_NOACCESS) { + interest(2) + prompt("Time") + special(SPC_NOMOD) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Forward Process Link") + } + field(VAL, DBF_DOUBLE) { + pp(TRUE) + prompt("Desired Output") + asl(ASL0) + promptgroup(GUI_OUTPUT) + } + field(OVAL, DBF_DOUBLE) { + prompt("Output Value") + } + field(OUT, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_OUTPUT) + prompt("Output Specification") + } + field(OROC, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_OUTPUT) + prompt("Output Rate of Change") + } + field(DOL, DBF_INLINK) { + prompt("Desired Output Loc") + interest(1) + promptgroup(GUI_OUTPUT) + } + field(OMSL, DBF_MENU) { + menu(menuOmsl) + prompt("Output Mode Select") + promptgroup(GUI_OUTPUT) + interest(1) + } + field(OIF, DBF_MENU) { + promptgroup(GUI_OUTPUT) + interest(1) + menu(aoOIF) + prompt("Out Full/Incremental") + } + field(PREC, DBF_SHORT) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Display Precision") + prop(YES) + } + field(LINR, DBF_MENU) { + promptgroup(GUI_CONVERT) + interest(1) + special(SPC_LINCONV) + menu(menuConvert) + prompt("Linearization") + pp(TRUE) + } + field(EGUF, DBF_DOUBLE) { + promptgroup(GUI_CONVERT) + interest(1) + special(SPC_LINCONV) + prompt("Eng Units Full") + pp(TRUE) + } + field(EGUL, DBF_DOUBLE) { + pp(TRUE) + promptgroup(GUI_CONVERT) + interest(1) + special(SPC_LINCONV) + prompt("Eng Units Low") + } + field(EGU, DBF_STRING) { + interest(1) + size(16) + promptgroup(GUI_DISPLAY) + prompt("Engineering Units") + prop(YES) + } + field(ROFF, DBF_ULONG) { + prompt("Raw Offset") + interest(2) + pp(TRUE) + } + field(EOFF, DBF_DOUBLE) { + pp(TRUE) + interest(2) + promptgroup(GUI_CONVERT) + prompt("EGU to Raw Offset") + } + field(ESLO, DBF_DOUBLE) { + prompt("EGU to Raw Slope") + promptgroup(GUI_CONVERT) + interest(2) + initial("1") + pp(TRUE) + } + field(DRVH, DBF_DOUBLE) { + prompt("Drive High Limit") + promptgroup(GUI_OUTPUT) + interest(1) + prop(YES) + pp(TRUE) + } + field(DRVL, DBF_DOUBLE) { + prompt("Drive Low Limit") + promptgroup(GUI_OUTPUT) + interest(1) + pp(TRUE) + prop(YES) + } + field(HOPR, DBF_DOUBLE) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("High Operating Range") + prop(YES) + } + field(LOPR, DBF_DOUBLE) { + prompt("Low Operating Range") + interest(1) + promptgroup(GUI_DISPLAY) + prop(YES) + } + field(AOFF, DBF_DOUBLE) { + prompt("Adjustment Offset") + interest(1) + promptgroup(GUI_CONVERT) + pp(TRUE) + } + field(ASLO, DBF_DOUBLE) { + pp(TRUE) + prompt("Adjustment Slope") + promptgroup(GUI_CONVERT) + interest(1) + } + field(HIHI, DBF_DOUBLE) { + prompt("Hihi Alarm Limit") + interest(1) + promptgroup(GUI_ALARMS) + prop(YES) + pp(TRUE) + } + field(LOLO, DBF_DOUBLE) { + pp(TRUE) + prop(YES) + prompt("Lolo Alarm Limit") + interest(1) + promptgroup(GUI_ALARMS) + } + field(HIGH, DBF_DOUBLE) { + prop(YES) + pp(TRUE) + prompt("High Alarm Limit") + interest(1) + promptgroup(GUI_ALARMS) + } + field(LOW, DBF_DOUBLE) { + prompt("Low Alarm Limit") + interest(1) + promptgroup(GUI_ALARMS) + pp(TRUE) + prop(YES) + } + field(HHSV, DBF_MENU) { + prompt("Hihi Severity") + menu(menuAlarmSevr) + promptgroup(GUI_ALARMS) + interest(1) + pp(TRUE) + prop(YES) + } + field(LLSV, DBF_MENU) { + pp(TRUE) + prop(YES) + promptgroup(GUI_ALARMS) + interest(1) + prompt("Lolo Severity") + menu(menuAlarmSevr) + } + field(HSV, DBF_MENU) { + pp(TRUE) + prop(YES) + menu(menuAlarmSevr) + prompt("High Severity") + promptgroup(GUI_ALARMS) + interest(1) + } + field(LSV, DBF_MENU) { + pp(TRUE) + prop(YES) + menu(menuAlarmSevr) + prompt("Low Severity") + promptgroup(GUI_ALARMS) + interest(1) + } + field(HYST, DBF_DOUBLE) { + prompt("Alarm Deadband") + promptgroup(GUI_ALARMS) + interest(1) + } + field(ADEL, DBF_DOUBLE) { + prompt("Archive Deadband") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(MDEL, DBF_DOUBLE) { + prompt("Monitor Deadband") + interest(1) + promptgroup(GUI_DISPLAY) + } + field(RVAL, DBF_LONG) { + pp(TRUE) + prompt("Current Raw Value") + } + field(ORAW, DBF_LONG) { + interest(3) + special(SPC_NOMOD) + prompt("Previous Raw Value") + } + field(RBV, DBF_LONG) { + prompt("Readback Value") + special(SPC_NOMOD) + } + field(ORBV, DBF_LONG) { + special(SPC_NOMOD) + prompt("Prev Readback Value") + interest(3) + } + field(PVAL, DBF_DOUBLE) { + prompt("Previous value") + special(SPC_NOMOD) + interest(3) + } + field(LALM, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Last Value Alarmed") + } + field(ALST, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Last Value Archived") + } + field(MLST, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Last Val Monitored") + } + field(PBRK, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Ptrto brkTable") + extra("void * pbrk") + } + field(INIT, DBF_SHORT) { + special(SPC_NOMOD) + prompt("Initialized?") + interest(3) + } + field(LBRK, DBF_SHORT) { + interest(3) + special(SPC_NOMOD) + prompt("LastBreak Point") + } + field(SIOL, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Sim Output Specifctn") + } + field(SIML, DBF_INLINK) { + prompt("Sim Mode Location") + interest(1) + promptgroup(GUI_INPUTS) + } + field(SIMM, DBF_MENU) { + prompt("Simulation Mode") + menu(menuYesNo) + interest(1) + } + field(SIMS, DBF_MENU) { + promptgroup(GUI_INPUTS) + interest(2) + menu(menuAlarmSevr) + prompt("Sim mode Alarm Svrty") + } + field(IVOA, DBF_MENU) { + interest(2) + promptgroup(GUI_OUTPUT) + menu(menuIvoa) + prompt("INVALID output action") + } + field(IVOV, DBF_DOUBLE) { + prompt("INVALID output value") + promptgroup(GUI_OUTPUT) + interest(2) + } + field(OMOD, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Was OVAL modified?") + } +} +device(ao, CONSTANT, devAoSoft, "Soft Channel") +device(ao, CONSTANT, devAoSoftRaw, "Raw Soft Channel") +device(ao, CONSTANT, devAoSoftCallback, "Async Soft Channel") +device(ao, INST_IO, asynAoInt32, "asynInt32") +device(ao, INST_IO, asynAoFloat64, "asynFloat64") +device(ao, INST_IO, devaoStream, "stream") +recordtype(stringin) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + special(SPC_NOMOD) + prompt("Record Name") + size(61) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + size(41) + promptgroup(GUI_COMMON) + } + field(ASG, DBF_STRING) { + size(29) + promptgroup(GUI_COMMON) + special(SPC_AS) + prompt("Access Security Group") + } + field(SCAN, DBF_MENU) { + menu(menuScan) + prompt("Scan Mechanism") + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(PINI, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Process at iocInit") + menu(menuPini) + } + field(PHAS, DBF_SHORT) { + special(SPC_SCAN) + prompt("Scan Phase") + interest(1) + promptgroup(GUI_SCAN) + } + field(EVNT, DBF_STRING) { + special(SPC_SCAN) + prompt("Event Name") + size(40) + interest(1) + promptgroup(GUI_SCAN) + } + field(TSE, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + interest(1) + promptgroup(GUI_LINKS) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup(GUI_SCAN) + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup(GUI_SCAN) + interest(1) + } + field(MLOK, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Monitor lock") + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + special(SPC_NOMOD) + prompt("Monitor List") + interest(4) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + initial("UDF") + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Alarm Severity") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + interest(2) + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("New Alarm Status") + } + field(NSEV, DBF_MENU) { + interest(2) + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("New Alarm Severity") + } + field(ACKS, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + interest(2) + } + field(ACKT, DBF_MENU) { + initial("YES") + promptgroup(GUI_ALARMS) + interest(2) + menu(menuYesNo) + prompt("Alarm Ack Transient") + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_SCAN) + } + field(LCNT, DBF_UCHAR) { + interest(2) + prompt("Lock Count") + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + special(SPC_NOMOD) + interest(1) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + special(SPC_NOMOD) + interest(1) + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + special(SPC_NOMOD) + interest(4) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + special(SPC_NOMOD) + prompt("pprocessNotify") + interest(4) + } + field(PPNR, DBF_NOACCESS) { + interest(4) + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Scan Private") + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + interest(4) + prompt("Address of RSET") + special(SPC_NOMOD) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + prompt("DSET address") + special(SPC_NOMOD) + interest(4) + } + field(DPVT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Device Private") + interest(4) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + prompt("Address of dbRecordType") + } + field(LSET, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Lock Set") + interest(4) + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuPriority) + prompt("Scheduling Priority") + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Break Point") + interest(1) + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + initial("1") + interest(1) + promptgroup(GUI_COMMON) + prompt("Undefined") + pp(TRUE) + } + field(UDFS, DBF_MENU) { + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_COMMON) + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + interest(2) + prompt("Time") + special(SPC_NOMOD) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Forward Process Link") + } + field(VAL, DBF_STRING) { + pp(TRUE) + promptgroup(GUI_INPUTS) + size(40) + prompt("Current Value") + asl(ASL0) + } + field(OVAL, DBF_STRING) { + special(SPC_NOMOD) + prompt("Previous Value") + size(40) + interest(3) + } + field(INP, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input Specification") + } + field(MPST, DBF_MENU) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Post Value Monitors") + menu(stringinPOST) + } + field(APST, DBF_MENU) { + interest(1) + promptgroup(GUI_DISPLAY) + menu(stringinPOST) + prompt("Post Archive Monitors") + } + field(SIOL, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Sim Input Specifctn") + } + field(SVAL, DBF_STRING) { + size(40) + prompt("Simulation Value") + pp(TRUE) + } + field(SIML, DBF_INLINK) { + prompt("Sim Mode Location") + interest(1) + promptgroup(GUI_INPUTS) + } + field(SIMM, DBF_MENU) { + interest(1) + prompt("Simulation Mode") + menu(menuYesNo) + } + field(SIMS, DBF_MENU) { + promptgroup(GUI_INPUTS) + interest(2) + menu(menuAlarmSevr) + prompt("Sim mode Alarm Svrty") + } +} +device(stringin, CONSTANT, devSiSoft, "Soft Channel") +device(stringin, CONSTANT, devSiSoftCallback, "Async Soft Channel") +device(stringin, INST_IO, devTimestampSI, "Soft Timestamp") +device(stringin, INST_IO, devSiGeneralTime, "General Time") +device(stringin, INST_IO, asynSiOctetCmdResponse, "asynOctetCmdResponse") +device(stringin, INST_IO, asynSiOctetWriteRead, "asynOctetWriteRead") +device(stringin, INST_IO, asynSiOctetRead, "asynOctetRead") +device(stringin, INST_IO, devstringinStream, "stream") +recordtype(swait) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + special(SPC_NOMOD) + prompt("Record Name") + size(61) + } + field(DESC, DBF_STRING) { + size(41) + promptgroup(GUI_COMMON) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + promptgroup(GUI_COMMON) + size(29) + special(SPC_AS) + prompt("Access Security Group") + } + field(SCAN, DBF_MENU) { + special(SPC_SCAN) + menu(menuScan) + prompt("Scan Mechanism") + interest(1) + promptgroup(GUI_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + interest(1) + promptgroup(GUI_SCAN) + } + field(PHAS, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + special(SPC_SCAN) + prompt("Scan Phase") + } + field(EVNT, DBF_STRING) { + prompt("Event Name") + special(SPC_SCAN) + interest(1) + promptgroup(GUI_SCAN) + size(40) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup(GUI_SCAN) + interest(1) + } + field(TSEL, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup(GUI_SCAN) + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + special(SPC_NOMOD) + prompt("Monitor lock") + interest(4) + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + interest(4) + prompt("Monitor List") + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + interest(3) + prompt("Force Processing") + } + field(STAT, DBF_MENU) { + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("Alarm Status") + initial("UDF") + } + field(SEVR, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Severity") + } + field(NSTA, DBF_MENU) { + interest(2) + prompt("New Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("New Alarm Severity") + interest(2) + } + field(ACKS, DBF_MENU) { + interest(2) + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + special(SPC_NOMOD) + promptgroup(GUI_ALARMS) + interest(2) + } + field(DISS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + interest(1) + promptgroup(GUI_SCAN) + } + field(LCNT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Lock Count") + interest(2) + } + field(PACT, DBF_UCHAR) { + interest(1) + prompt("Record active") + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + interest(1) + prompt("dbPutField process") + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + special(SPC_NOMOD) + interest(4) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("pprocessNotify") + interest(4) + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + interest(4) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + special(SPC_NOMOD) + prompt("Scan Private") + interest(4) + } + field(RSET, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Address of RSET") + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("DSET address") + interest(4) + extra("struct dset *dset") + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + prompt("Device Private") + special(SPC_NOMOD) + interest(4) + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + special(SPC_NOMOD) + prompt("Address of dbRecordType") + interest(4) + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + prompt("Lock Set") + special(SPC_NOMOD) + interest(4) + } + field(PRIO, DBF_MENU) { + menu(menuPriority) + prompt("Scheduling Priority") + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + special(SPC_NOMOD) + interest(1) + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + promptgroup(GUI_COMMON) + interest(1) + prompt("Undefined") + initial("1") + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_COMMON) + } + field(TIME, DBF_NOACCESS) { + extra("epicsTimeStamp time") + special(SPC_NOMOD) + prompt("Time") + interest(2) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + interest(1) + promptgroup(GUI_LINKS) + } + field(VERS, DBF_FLOAT) { + initial("1") + prompt("Code Version") + special(SPC_NOMOD) + } + field(HOPR, DBF_FLOAT) { + prompt("High Operating Range") + asl(ASL0) + interest(1) + promptgroup(GUI_ALARMS) + } + field(LOPR, DBF_FLOAT) { + interest(1) + promptgroup(GUI_BITS1) + asl(ASL0) + prompt("Low Operating Range") + } + field(INIT, DBF_SHORT) { + special(SPC_NOMOD) + prompt("Initialized?") + interest(3) + } + field(CBST, DBF_NOACCESS) { + size(4) + interest(4) + prompt("Pointer to cbStruct") + special(SPC_NOMOD) + extra("void * cbst") + } + field(INAN, DBF_STRING) { + prompt("INPA PV Name") + special(SPC_MOD) + asl(ASL0) + size(40) + interest(1) + promptgroup(GUI_CALC) + } + field(INBN, DBF_STRING) { + size(40) + promptgroup(GUI_CALC) + interest(1) + special(SPC_MOD) + prompt("INPB PV Name") + asl(ASL0) + } + field(INCN, DBF_STRING) { + prompt("INPC PV Name") + special(SPC_MOD) + asl(ASL0) + promptgroup(GUI_CALC) + size(40) + interest(1) + } + field(INDN, DBF_STRING) { + special(SPC_MOD) + asl(ASL0) + prompt("INPD PV Name") + promptgroup(GUI_CALC) + size(40) + interest(1) + } + field(INEN, DBF_STRING) { + prompt("INPE PV Name") + special(SPC_MOD) + asl(ASL0) + size(40) + promptgroup(GUI_CALC) + interest(1) + } + field(INFN, DBF_STRING) { + size(40) + interest(1) + promptgroup(GUI_CALC) + prompt("INPF PV Name") + special(SPC_MOD) + asl(ASL0) + } + field(INGN, DBF_STRING) { + special(SPC_MOD) + prompt("INPG PV Name") + asl(ASL0) + promptgroup(GUI_CALC) + size(40) + interest(1) + } + field(INHN, DBF_STRING) { + size(40) + promptgroup(GUI_CALC) + interest(1) + special(SPC_MOD) + prompt("INPH PV Name") + asl(ASL0) + } + field(ININ, DBF_STRING) { + special(SPC_MOD) + asl(ASL0) + prompt("INPI PV Name") + interest(1) + size(40) + promptgroup(GUI_CALC) + } + field(INJN, DBF_STRING) { + size(40) + interest(1) + promptgroup(GUI_CALC) + special(SPC_MOD) + prompt("INPJ PV Name") + asl(ASL0) + } + field(INKN, DBF_STRING) { + special(SPC_MOD) + asl(ASL0) + prompt("INPK PV Name") + size(40) + promptgroup(GUI_CALC) + interest(1) + } + field(INLN, DBF_STRING) { + promptgroup(GUI_CALC) + size(40) + interest(1) + special(SPC_MOD) + asl(ASL0) + prompt("INPL PV Name") + } + field(DOLN, DBF_STRING) { + special(SPC_MOD) + prompt("DOL PV Name") + asl(ASL0) + promptgroup(GUI_CALC) + size(40) + interest(1) + } + field(OUTN, DBF_STRING) { + interest(1) + size(40) + promptgroup(GUI_CALC) + prompt("OUT PV Name") + special(SPC_MOD) + asl(ASL0) + } + field(INAV, DBF_MENU) { + prompt("INPA PV Status") + menu(swaitINAV) + special(SPC_NOMOD) + interest(1) + } + field(INBV, DBF_MENU) { + interest(1) + menu(swaitINAV) + prompt("INPB PV Status") + special(SPC_NOMOD) + } + field(INCV, DBF_MENU) { + menu(swaitINAV) + prompt("INPC PV Status") + special(SPC_NOMOD) + interest(1) + } + field(INDV, DBF_MENU) { + prompt("INPD PV Status") + menu(swaitINAV) + special(SPC_NOMOD) + interest(1) + } + field(INEV, DBF_MENU) { + prompt("INPE PV Status") + menu(swaitINAV) + special(SPC_NOMOD) + interest(1) + } + field(INFV, DBF_MENU) { + interest(1) + menu(swaitINAV) + prompt("INPF PV Status") + special(SPC_NOMOD) + } + field(INGV, DBF_MENU) { + interest(1) + menu(swaitINAV) + prompt("INPG PV Status") + special(SPC_NOMOD) + } + field(INHV, DBF_MENU) { + prompt("INPH PV Status") + menu(swaitINAV) + special(SPC_NOMOD) + interest(1) + } + field(INIV, DBF_MENU) { + interest(1) + special(SPC_NOMOD) + menu(swaitINAV) + prompt("INPI PV Status") + } + field(INJV, DBF_MENU) { + interest(1) + menu(swaitINAV) + special(SPC_NOMOD) + prompt("INPJ PV Status") + } + field(INKV, DBF_MENU) { + interest(1) + menu(swaitINAV) + special(SPC_NOMOD) + prompt("INPK PV Status") + } + field(INLV, DBF_MENU) { + interest(1) + prompt("INPL PV Status") + menu(swaitINAV) + special(SPC_NOMOD) + } + field(DOLV, DBF_MENU) { + interest(1) + menu(swaitINAV) + prompt("DOL PV Status") + special(SPC_NOMOD) + } + field(OUTV, DBF_MENU) { + prompt("OUT PV Status") + menu(swaitINAV) + special(SPC_NOMOD) + interest(1) + } + field(A, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input A") + } + field(B, DBF_DOUBLE) { + prompt("Value of Input B") + pp(TRUE) + } + field(C, DBF_DOUBLE) { + prompt("Value of Input C") + pp(TRUE) + } + field(D, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input D") + } + field(E, DBF_DOUBLE) { + prompt("Value of Input E") + pp(TRUE) + } + field(F, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input F") + } + field(G, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input G") + } + field(H, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input H") + } + field(I, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input I") + } + field(J, DBF_DOUBLE) { + prompt("Value of Input J") + pp(TRUE) + } + field(K, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input K") + } + field(L, DBF_DOUBLE) { + prompt("Value of Input L") + pp(TRUE) + } + field(LA, DBF_DOUBLE) { + prompt("Last Val of Input A") + } + field(LB, DBF_DOUBLE) { + prompt("Last Val of Input B") + } + field(LC, DBF_DOUBLE) { + prompt("Last Val of Input C") + } + field(LD, DBF_DOUBLE) { + prompt("Last Val of Input D") + } + field(LE, DBF_DOUBLE) { + prompt("Last Val of Input E") + } + field(LF, DBF_DOUBLE) { + prompt("Last Val of Input F") + } + field(LG, DBF_DOUBLE) { + prompt("Last Val of Input G") + } + field(LH, DBF_DOUBLE) { + prompt("Last Val of Input H") + } + field(LI, DBF_DOUBLE) { + prompt("Last Val of Input I") + } + field(LJ, DBF_DOUBLE) { + prompt("Last Val of Input J") + } + field(LK, DBF_DOUBLE) { + prompt("Last Val of Input K") + } + field(LL, DBF_DOUBLE) { + prompt("Last Val of Input L") + } + field(INAP, DBF_MENU) { + menu(swaitINAP) + prompt("INPA causes I/O INTR") + interest(1) + promptgroup(GUI_CALC) + initial("Yes") + } + field(INBP, DBF_MENU) { + initial("Yes") + promptgroup(GUI_CALC) + interest(1) + menu(swaitINAP) + prompt("INPB causes I/O INTR") + } + field(INCP, DBF_MENU) { + prompt("INPC causes I/O INTR") + menu(swaitINAP) + interest(1) + promptgroup(GUI_CALC) + initial("Yes") + } + field(INDP, DBF_MENU) { + interest(1) + promptgroup(GUI_CALC) + prompt("INPD causes I/O INTR") + menu(swaitINAP) + initial("Yes") + } + field(INEP, DBF_MENU) { + promptgroup(GUI_CALC) + interest(1) + menu(swaitINAP) + prompt("INPE causes I/O INTR") + initial("Yes") + } + field(INFP, DBF_MENU) { + menu(swaitINAP) + prompt("INPF causes I/O INTR") + promptgroup(GUI_CALC) + interest(1) + initial("Yes") + } + field(INGP, DBF_MENU) { + promptgroup(GUI_CALC) + interest(1) + prompt("INPG causes I/O INTR") + menu(swaitINAP) + initial("Yes") + } + field(INHP, DBF_MENU) { + interest(1) + promptgroup(GUI_CALC) + menu(swaitINAP) + prompt("INPH causes I/O INTR") + initial("Yes") + } + field(INIP, DBF_MENU) { + initial("Yes") + menu(swaitINAP) + prompt("INPI causes I/O INTR") + interest(1) + promptgroup(GUI_CALC) + } + field(INJP, DBF_MENU) { + initial("Yes") + interest(1) + promptgroup(GUI_CALC) + menu(swaitINAP) + prompt("INPJ causes I/O INTR") + } + field(INKP, DBF_MENU) { + initial("Yes") + prompt("INPK causes I/O INTR") + menu(swaitINAP) + promptgroup(GUI_CALC) + interest(1) + } + field(INLP, DBF_MENU) { + menu(swaitINAP) + prompt("INPL causes I/O INTR") + interest(1) + promptgroup(GUI_CALC) + initial("Yes") + } + field(CALC, DBF_STRING) { + initial("0") + promptgroup(GUI_CLOCK) + size(36) + special(SPC_CALC) + asl(ASL0) + prompt("Calculation") + } + field(RPCL, DBF_NOACCESS) { + size(184) + interest(4) + prompt("Reverse Polish Calc") + special(SPC_NOMOD) + extra("char rpcl[184]") + } + field(CLCV, DBF_LONG) { + interest(1) + prompt("CALC Valid") + } + field(VAL, DBF_DOUBLE) { + prompt("Value Field") + } + field(OVAL, DBF_DOUBLE) { + prompt("Old Value") + } + field(PREC, DBF_SHORT) { + promptgroup(GUI_COMMON) + interest(1) + prompt("Display Precision") + } + field(OOPT, DBF_MENU) { + promptgroup(GUI_CALC) + interest(1) + menu(swaitOOPT) + prompt("Output Execute Opt") + } + field(ODLY, DBF_FLOAT) { + promptgroup(GUI_ALARMS) + interest(1) + asl(ASL0) + prompt("Output Execute Delay") + } + field(DOPT, DBF_MENU) { + menu(swaitDOPT) + prompt("Output Data Option") + promptgroup(GUI_CALC) + interest(1) + } + field(DOLD, DBF_DOUBLE) { + prompt("Desired Output Data") + asl(ASL0) + promptgroup(GUI_CLOCK) + interest(1) + } + field(OEVT, DBF_USHORT) { + asl(ASL0) + prompt("Event To Issue") + promptgroup(GUI_CLOCK) + } + field(ADEL, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_CLOCK) + prompt("Archive Deadband") + } + field(MDEL, DBF_DOUBLE) { + prompt("Monitor Deadband") + promptgroup(GUI_CLOCK) + interest(1) + } + field(ALST, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Last Value Archived") + } + field(MLST, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Last Val Monitored") + interest(3) + } + field(SIOL, DBF_INLINK) { + prompt("Sim Input Specifctn") + promptgroup(GUI_PULSE) + interest(1) + } + field(SVAL, DBF_DOUBLE) { + prompt("Simulation Value") + } + field(SIML, DBF_INLINK) { + prompt("Sim Mode Location") + interest(1) + promptgroup(GUI_PULSE) + } + field(SIMM, DBF_MENU) { + menu(menuYesNo) + prompt("Simulation Mode") + interest(1) + } + field(SIMS, DBF_MENU) { + prompt("Sim mode Alarm Svrty") + menu(menuAlarmSevr) + interest(2) + promptgroup(GUI_SELECT) + } +} +device(swait, CONSTANT, devSWaitIoEvent, "Soft Channel") +recordtype(mbboDirect) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + prompt("Record Name") + special(SPC_NOMOD) + size(61) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + size(41) + promptgroup(GUI_COMMON) + } + field(ASG, DBF_STRING) { + special(SPC_AS) + prompt("Access Security Group") + size(29) + promptgroup(GUI_COMMON) + } + field(SCAN, DBF_MENU) { + special(SPC_SCAN) + menu(menuScan) + prompt("Scan Mechanism") + promptgroup(GUI_SCAN) + interest(1) + } + field(PINI, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuPini) + prompt("Process at iocInit") + } + field(PHAS, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + special(SPC_SCAN) + prompt("Scan Phase") + } + field(EVNT, DBF_STRING) { + prompt("Event Name") + special(SPC_SCAN) + interest(1) + promptgroup(GUI_SCAN) + size(40) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup(GUI_SCAN) + interest(1) + } + field(TSEL, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup(GUI_SCAN) + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + interest(4) + prompt("Monitor lock") + special(SPC_NOMOD) + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + special(SPC_NOMOD) + interest(4) + extra("ELLLIST mlis") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + interest(3) + prompt("Force Processing") + } + field(STAT, DBF_MENU) { + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + initial("UDF") + } + field(SEVR, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Severity") + } + field(NSTA, DBF_MENU) { + interest(2) + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("New Alarm Status") + } + field(NSEV, DBF_MENU) { + interest(2) + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("New Alarm Severity") + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + interest(2) + } + field(ACKT, DBF_MENU) { + promptgroup(GUI_ALARMS) + interest(2) + special(SPC_NOMOD) + menu(menuYesNo) + prompt("Alarm Ack Transient") + initial("YES") + } + field(DISS, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + } + field(LCNT, DBF_UCHAR) { + interest(2) + prompt("Lock Count") + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + special(SPC_NOMOD) + interest(1) + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + interest(4) + prompt("Access Security Pvt") + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + special(SPC_NOMOD) + prompt("pprocessNotify") + interest(4) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + interest(4) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Scan Private") + interest(4) + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + special(SPC_NOMOD) + interest(4) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + prompt("DSET address") + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + special(SPC_NOMOD) + interest(4) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + interest(4) + prompt("Address of dbRecordType") + special(SPC_NOMOD) + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + interest(4) + special(SPC_NOMOD) + prompt("Lock Set") + } + field(PRIO, DBF_MENU) { + menu(menuPriority) + prompt("Scheduling Priority") + special(SPC_SCAN) + interest(1) + promptgroup(GUI_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + special(SPC_NOMOD) + interest(1) + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + initial("1") + promptgroup(GUI_COMMON) + interest(1) + prompt("Undefined") + } + field(UDFS, DBF_MENU) { + initial("INVALID") + promptgroup(GUI_COMMON) + interest(1) + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + } + field(TIME, DBF_NOACCESS) { + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + prompt("Time") + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup(GUI_LINKS) + interest(1) + } + field(VAL, DBF_USHORT) { + promptgroup(GUI_OUTPUT) + prompt("Word") + asl(ASL0) + pp(TRUE) + } + field(OMSL, DBF_MENU) { + prompt("Output Mode Select") + menu(menuOmsl) + special(SPC_RESET) + interest(1) + promptgroup(GUI_MBB) + pp(TRUE) + } + field(NOBT, DBF_SHORT) { + interest(1) + promptgroup(GUI_MBB) + special(SPC_NOMOD) + prompt("Number of Bits") + } + field(DOL, DBF_INLINK) { + prompt("Desired Output Loc") + promptgroup(GUI_MBB) + interest(1) + } + field(OUT, DBF_OUTLINK) { + promptgroup(GUI_MBB) + interest(1) + prompt("Output Specification") + } + field(B0, DBF_UCHAR) { + pp(TRUE) + promptgroup(GUI_BITS1) + interest(1) + special(SPC_MOD) + prompt("Bit 0") + } + field(B1, DBF_UCHAR) { + pp(TRUE) + interest(1) + promptgroup(GUI_BITS1) + prompt("Bit 1") + special(SPC_MOD) + } + field(B2, DBF_UCHAR) { + pp(TRUE) + interest(1) + promptgroup(GUI_BITS1) + prompt("Bit 2") + special(SPC_MOD) + } + field(B3, DBF_UCHAR) { + special(SPC_MOD) + prompt("Bit 3") + interest(1) + promptgroup(GUI_BITS1) + pp(TRUE) + } + field(B4, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 4") + special(SPC_MOD) + promptgroup(GUI_BITS1) + interest(1) + } + field(B5, DBF_UCHAR) { + pp(TRUE) + special(SPC_MOD) + prompt("Bit 5") + promptgroup(GUI_BITS1) + interest(1) + } + field(B6, DBF_UCHAR) { + pp(TRUE) + promptgroup(GUI_BITS1) + interest(1) + special(SPC_MOD) + prompt("Bit 6") + } + field(B7, DBF_UCHAR) { + pp(TRUE) + interest(1) + promptgroup(GUI_BITS1) + special(SPC_MOD) + prompt("Bit 7") + } + field(B8, DBF_UCHAR) { + special(SPC_MOD) + prompt("Bit 8") + promptgroup(GUI_BITS2) + interest(1) + pp(TRUE) + } + field(B9, DBF_UCHAR) { + pp(TRUE) + promptgroup(GUI_BITS2) + interest(1) + prompt("Bit 9") + special(SPC_MOD) + } + field(BA, DBF_UCHAR) { + special(SPC_MOD) + prompt("Bit 10") + promptgroup(GUI_BITS2) + interest(1) + pp(TRUE) + } + field(BB, DBF_UCHAR) { + pp(TRUE) + special(SPC_MOD) + prompt("Bit 11") + interest(1) + promptgroup(GUI_BITS2) + } + field(BC, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 12") + special(SPC_MOD) + interest(1) + promptgroup(GUI_BITS2) + } + field(BD, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 13") + special(SPC_MOD) + interest(1) + promptgroup(GUI_BITS2) + } + field(BE, DBF_UCHAR) { + pp(TRUE) + special(SPC_MOD) + prompt("Bit 14") + promptgroup(GUI_BITS2) + interest(1) + } + field(BF, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 15") + special(SPC_MOD) + promptgroup(GUI_BITS2) + interest(1) + } + field(RVAL, DBF_ULONG) { + pp(TRUE) + prompt("Raw Value") + special(SPC_NOMOD) + } + field(ORAW, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Prev Raw Value") + interest(3) + } + field(RBV, DBF_ULONG) { + prompt("Readback Value") + special(SPC_NOMOD) + } + field(ORBV, DBF_ULONG) { + interest(3) + prompt("Prev Readback Value") + special(SPC_NOMOD) + } + field(MASK, DBF_ULONG) { + interest(1) + special(SPC_NOMOD) + prompt("Hardware Mask") + } + field(MLST, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Last Value Monitored") + interest(3) + } + field(SHFT, DBF_ULONG) { + promptgroup(GUI_MBB) + interest(1) + prompt("Shift") + } + field(SIOL, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_MBB) + prompt("Sim Output Specifctn") + } + field(SIML, DBF_INLINK) { + promptgroup(GUI_MBB) + interest(1) + prompt("Sim Mode Location") + } + field(SIMM, DBF_MENU) { + prompt("Simulation Mode") + menu(menuYesNo) + interest(1) + } + field(SIMS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Sim mode Alarm Svrty") + interest(2) + promptgroup(GUI_MBB) + } + field(IVOA, DBF_MENU) { + promptgroup(GUI_MBB) + interest(2) + prompt("INVALID outpt action") + menu(menuIvoa) + } + field(IVOV, DBF_USHORT) { + prompt("INVALID output value") + promptgroup(GUI_MBB) + interest(2) + } +} +device(mbboDirect, CONSTANT, devMbboDirectSoft, "Soft Channel") +device(mbboDirect, CONSTANT, devMbboDirectSoftRaw, "Raw Soft Channel") +device(mbboDirect, CONSTANT, devMbboDirectSoftCallback, "Async Soft Channel") +device(mbboDirect, INST_IO, asynMbboDirectUInt32Digital, "asynUInt32Digital") +device(mbboDirect, INST_IO, devmbboDirectStream, "stream") +recordtype(printf) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + %#include "devSup.h" + % + %/* Declare Device Support Entry Table */ + %typedef struct printfdset { + % long number; + % DEVSUPFUN report; + % DEVSUPFUN init; + % DEVSUPFUN init_record; + % DEVSUPFUN get_ioint_info; + % DEVSUPFUN write_string; + %} printfdset; + % + %/* Number of INPx fields defined */ + %#define PRINTF_NLINKS 10 + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + promptgroup(GUI_COMMON) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + size(29) + promptgroup(GUI_COMMON) + prompt("Access Security Group") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuScan) + special(SPC_SCAN) + prompt("Scan Mechanism") + } + field(PINI, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuPini) + prompt("Process at iocInit") + } + field(PHAS, DBF_SHORT) { + special(SPC_SCAN) + prompt("Scan Phase") + promptgroup(GUI_SCAN) + interest(1) + } + field(EVNT, DBF_STRING) { + interest(1) + promptgroup(GUI_SCAN) + size(40) + special(SPC_SCAN) + prompt("Event Name") + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + interest(1) + promptgroup(GUI_SCAN) + } + field(TSEL, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup(GUI_LINKS) + interest(1) + } + field(DISV, DBF_SHORT) { + prompt("Disable Value") + promptgroup(GUI_SCAN) + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + interest(1) + promptgroup(GUI_SCAN) + } + field(MLOK, DBF_NOACCESS) { + interest(4) + prompt("Monitor lock") + special(SPC_NOMOD) + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Monitor List") + extra("ELLLIST mlis") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + prompt("Force Processing") + interest(3) + pp(TRUE) + } + field(STAT, DBF_MENU) { + initial("UDF") + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("Alarm Status") + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("Alarm Severity") + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + interest(2) + } + field(NSEV, DBF_MENU) { + interest(2) + prompt("New Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + interest(2) + } + field(ACKT, DBF_MENU) { + interest(2) + promptgroup(GUI_ALARMS) + menu(menuYesNo) + special(SPC_NOMOD) + prompt("Alarm Ack Transient") + initial("YES") + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_SCAN) + } + field(LCNT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Lock Count") + interest(2) + } + field(PACT, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Record active") + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + prompt("Access Security Pvt") + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + prompt("pprocessNotify") + special(SPC_NOMOD) + interest(4) + } + field(PPNR, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + interest(4) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + special(SPC_NOMOD) + prompt("Scan Private") + interest(4) + } + field(RSET, DBF_NOACCESS) { + extra("struct rset *rset") + prompt("Address of RSET") + special(SPC_NOMOD) + interest(4) + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + special(SPC_NOMOD) + prompt("DSET address") + interest(4) + } + field(DPVT, DBF_NOACCESS) { + interest(4) + prompt("Device Private") + special(SPC_NOMOD) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + prompt("Address of dbRecordType") + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + interest(4) + prompt("Lock Set") + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + special(SPC_SCAN) + menu(menuPriority) + prompt("Scheduling Priority") + promptgroup(GUI_SCAN) + interest(1) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + prompt("Break Point") + special(SPC_NOMOD) + interest(1) + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + initial("1") + prompt("Undefined") + promptgroup(GUI_COMMON) + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup(GUI_COMMON) + interest(1) + } + field(TIME, DBF_NOACCESS) { + extra("epicsTimeStamp time") + special(SPC_NOMOD) + prompt("Time") + interest(2) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup(GUI_LINKS) + interest(1) + } + field(VAL, DBF_NOACCESS) { + pp(TRUE) + asl(ASL0) + special(SPC_DBADDR) + prompt("Result") + extra("char *val") + } + field(SIZV, DBF_USHORT) { + promptgroup(GUI_OUTPUT) + interest(1) + prompt("Size of VAL buffer") + special(SPC_NOMOD) + initial("41") + } + field(LEN, DBF_ULONG) { + prompt("Length of VAL") + special(SPC_NOMOD) + } + field(OUT, DBF_OUTLINK) { + prompt("Output Specification") + interest(1) + promptgroup(GUI_OUTPUT) + } + field(FMT, DBF_STRING) { + pp(TRUE) + size(81) + promptgroup(GUI_CALC) + prompt("Format String") + } + field(IVLS, DBF_STRING) { + prompt("Invalid Link String") + promptgroup(GUI_CALC) + size(16) + initial("LNK") + } + field(INP0, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input 0") + } + field(INP1, DBF_INLINK) { + prompt("Input 1") + interest(1) + promptgroup(GUI_INPUTS) + } + field(INP2, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input 2") + } + field(INP3, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input 3") + } + field(INP4, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Input 4") + } + field(INP5, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Input 5") + } + field(INP6, DBF_INLINK) { + prompt("Input 6") + interest(1) + promptgroup(GUI_INPUTS) + } + field(INP7, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input 7") + } + field(INP8, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Input 8") + } + field(INP9, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input 9") + } +} +device(printf, CONSTANT, devPrintfSoft, "Soft Channel") +device(printf, CONSTANT, devPrintfSoftCallback, "Async Soft Channel") +device(printf, INST_IO, devPrintfStdio, "stdio") +recordtype(aao) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + promptgroup(GUI_COMMON) + size(41) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + promptgroup(GUI_COMMON) + size(29) + special(SPC_AS) + prompt("Access Security Group") + } + field(SCAN, DBF_MENU) { + menu(menuScan) + prompt("Scan Mechanism") + special(SPC_SCAN) + interest(1) + promptgroup(GUI_SCAN) + } + field(PINI, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuPini) + prompt("Process at iocInit") + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(EVNT, DBF_STRING) { + promptgroup(GUI_SCAN) + interest(1) + size(40) + special(SPC_SCAN) + prompt("Event Name") + } + field(TSE, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup(GUI_SCAN) + interest(1) + } + field(DTYP, DBF_DEVICE) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + prompt("Disable Value") + promptgroup(GUI_SCAN) + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + prompt("Monitor lock") + special(SPC_NOMOD) + interest(4) + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + prompt("Monitor List") + special(SPC_NOMOD) + interest(4) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + interest(3) + prompt("Force Processing") + } + field(STAT, DBF_MENU) { + initial("UDF") + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("Alarm Status") + } + field(SEVR, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Severity") + } + field(NSTA, DBF_MENU) { + interest(2) + prompt("New Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + interest(2) + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("New Alarm Severity") + } + field(ACKS, DBF_MENU) { + interest(2) + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("Alarm Ack Severity") + } + field(ACKT, DBF_MENU) { + promptgroup(GUI_ALARMS) + interest(2) + menu(menuYesNo) + prompt("Alarm Ack Transient") + special(SPC_NOMOD) + initial("YES") + } + field(DISS, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + } + field(LCNT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Lock Count") + interest(2) + } + field(PACT, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Record active") + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + special(SPC_NOMOD) + interest(1) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + special(SPC_NOMOD) + interest(1) + } + field(ASP, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Access Security Pvt") + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("pprocessNotify") + interest(4) + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + } + field(SPVT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Scan Private") + interest(4) + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + extra("struct rset *rset") + special(SPC_NOMOD) + prompt("Address of RSET") + interest(4) + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + prompt("DSET address") + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + special(SPC_NOMOD) + prompt("Device Private") + interest(4) + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + prompt("Address of dbRecordType") + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + interest(4) + prompt("Lock Set") + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + menu(menuPriority) + special(SPC_SCAN) + prompt("Scheduling Priority") + interest(1) + promptgroup(GUI_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Break Point") + interest(1) + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + initial("1") + interest(1) + promptgroup(GUI_COMMON) + prompt("Undefined") + pp(TRUE) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_COMMON) + } + field(TIME, DBF_NOACCESS) { + interest(2) + prompt("Time") + special(SPC_NOMOD) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup(GUI_LINKS) + interest(1) + } + field(VAL, DBF_NOACCESS) { + extra("void * val") + special(SPC_DBADDR) + prompt("Value") + asl(ASL0) + pp(TRUE) + } + field(PREC, DBF_SHORT) { + prop(YES) + interest(1) + promptgroup(GUI_ALARMS) + prompt("Display Precision") + } + field(OUT, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_BITS1) + prompt("Output Specification") + } + field(EGU, DBF_STRING) { + prop(YES) + interest(1) + size(16) + promptgroup(GUI_BITS2) + prompt("Engineering Units Name") + } + field(HOPR, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_CALC) + prompt("High Operating Range") + prop(YES) + } + field(LOPR, DBF_DOUBLE) { + promptgroup(GUI_CLOCK) + interest(1) + prompt("Low Operating Range") + prop(YES) + } + field(NELM, DBF_ULONG) { + initial("1") + promptgroup(GUI_COMPRESS) + interest(1) + special(SPC_NOMOD) + prompt("Number of Elements") + } + field(FTVL, DBF_MENU) { + menu(menuFtype) + special(SPC_NOMOD) + prompt("Field Type of Value") + interest(1) + promptgroup(GUI_CONVERT) + } + field(NORD, DBF_ULONG) { + prompt("Number elements read") + special(SPC_NOMOD) + } + field(BPTR, DBF_NOACCESS) { + extra("void * bptr") + interest(4) + special(SPC_NOMOD) + prompt("Buffer Pointer") + } + field(SIML, DBF_INLINK) { + prompt("Sim Mode Location") + interest(1) + promptgroup(GUI_HIST) + } + field(SIMM, DBF_MENU) { + interest(1) + menu(menuYesNo) + prompt("Simulation Mode") + } + field(SIMS, DBF_MENU) { + prompt("Sim mode Alarm Svrty") + menu(menuAlarmSevr) + interest(2) + promptgroup(GUI_INPUTS) + } + field(SIOL, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Sim Output Specifctn") + } + field(MPST, DBF_MENU) { + menu(aaoPOST) + prompt("Post Value Monitors") + interest(1) + promptgroup(GUI_DISPLAY) + } + field(APST, DBF_MENU) { + prompt("Post Archive Monitors") + menu(aaoPOST) + interest(1) + promptgroup(GUI_DISPLAY) + } + field(HASH, DBF_ULONG) { + prompt("Hash of OnChange data.") + interest(3) + } +} +device(aao, CONSTANT, devAaoSoft, "Soft Channel") +device(aao, INST_IO, devaaoStream, "stream") +recordtype(permissive) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + prompt("Record Name") + special(SPC_NOMOD) + size(61) + } + field(DESC, DBF_STRING) { + size(41) + promptgroup(GUI_COMMON) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + prompt("Access Security Group") + special(SPC_AS) + size(29) + promptgroup(GUI_COMMON) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + special(SPC_SCAN) + interest(1) + promptgroup(GUI_SCAN) + } + field(PINI, DBF_MENU) { + menu(menuPini) + prompt("Process at iocInit") + interest(1) + promptgroup(GUI_SCAN) + } + field(PHAS, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + special(SPC_SCAN) + prompt("Scan Phase") + } + field(EVNT, DBF_STRING) { + prompt("Event Name") + special(SPC_SCAN) + interest(1) + promptgroup(GUI_SCAN) + size(40) + } + field(TSE, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup(GUI_SCAN) + interest(1) + } + field(DTYP, DBF_DEVICE) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup(GUI_SCAN) + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + interest(1) + promptgroup(GUI_SCAN) + } + field(MLOK, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Monitor lock") + interest(4) + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + interest(4) + prompt("Monitor List") + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + interest(3) + prompt("Force Processing") + pp(TRUE) + } + field(STAT, DBF_MENU) { + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + initial("UDF") + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + interest(2) + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("New Alarm Status") + } + field(NSEV, DBF_MENU) { + interest(2) + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("New Alarm Severity") + } + field(ACKS, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + interest(2) + } + field(ACKT, DBF_MENU) { + initial("YES") + promptgroup(GUI_ALARMS) + interest(2) + prompt("Alarm Ack Transient") + menu(menuYesNo) + special(SPC_NOMOD) + } + field(DISS, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + special(SPC_NOMOD) + interest(2) + } + field(PACT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Record active") + interest(1) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + special(SPC_NOMOD) + interest(1) + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + prompt("Access Security Pvt") + special(SPC_NOMOD) + interest(4) + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + interest(4) + prompt("pprocessNotify") + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + extra("struct processNotifyRecord *ppnr") + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + interest(4) + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + special(SPC_NOMOD) + prompt("Scan Private") + interest(4) + } + field(RSET, DBF_NOACCESS) { + interest(4) + prompt("Address of RSET") + special(SPC_NOMOD) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + prompt("DSET address") + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + special(SPC_NOMOD) + prompt("Device Private") + interest(4) + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + special(SPC_NOMOD) + interest(4) + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Lock Set") + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuPriority) + prompt("Scheduling Priority") + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + interest(1) + special(SPC_NOMOD) + prompt("Break Point") + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + initial("1") + promptgroup(GUI_COMMON) + interest(1) + prompt("Undefined") + } + field(UDFS, DBF_MENU) { + initial("INVALID") + interest(1) + promptgroup(GUI_COMMON) + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + } + field(TIME, DBF_NOACCESS) { + interest(2) + prompt("Time") + special(SPC_NOMOD) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Forward Process Link") + } + field(LABL, DBF_STRING) { + pp(TRUE) + prompt("Button Label") + promptgroup(GUI_DISPLAY) + size(20) + interest(1) + } + field(VAL, DBF_USHORT) { + asl(ASL0) + prompt("Status") + pp(TRUE) + } + field(OVAL, DBF_USHORT) { + prompt("Old Status") + special(SPC_NOMOD) + interest(3) + } + field(WFLG, DBF_USHORT) { + pp(TRUE) + prompt("Wait Flag") + } + field(OFLG, DBF_USHORT) { + interest(3) + prompt("Old Flag") + special(SPC_NOMOD) + } +} +recordtype(stringout) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + prompt("Record Name") + special(SPC_NOMOD) + size(61) + } + field(DESC, DBF_STRING) { + size(41) + promptgroup(GUI_COMMON) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + prompt("Access Security Group") + special(SPC_AS) + size(29) + promptgroup(GUI_COMMON) + } + field(SCAN, DBF_MENU) { + menu(menuScan) + prompt("Scan Mechanism") + special(SPC_SCAN) + interest(1) + promptgroup(GUI_SCAN) + } + field(PINI, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuPini) + prompt("Process at iocInit") + } + field(PHAS, DBF_SHORT) { + special(SPC_SCAN) + prompt("Scan Phase") + interest(1) + promptgroup(GUI_SCAN) + } + field(EVNT, DBF_STRING) { + prompt("Event Name") + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + size(40) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup(GUI_SCAN) + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup(GUI_SCAN) + interest(1) + } + field(DTYP, DBF_DEVICE) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + prompt("Disable Value") + promptgroup(GUI_SCAN) + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Monitor lock") + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + prompt("Monitor List") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + interest(3) + prompt("Force Processing") + } + field(STAT, DBF_MENU) { + menu(menuAlarmStat) + prompt("Alarm Status") + special(SPC_NOMOD) + initial("UDF") + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + interest(2) + } + field(NSEV, DBF_MENU) { + interest(2) + menu(menuAlarmSevr) + prompt("New Alarm Severity") + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + interest(2) + } + field(ACKT, DBF_MENU) { + interest(2) + promptgroup(GUI_ALARMS) + menu(menuYesNo) + special(SPC_NOMOD) + prompt("Alarm Ack Transient") + initial("YES") + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup(GUI_SCAN) + interest(1) + } + field(LCNT, DBF_UCHAR) { + interest(2) + prompt("Lock Count") + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + interest(1) + prompt("Record active") + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Reprocess ") + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + special(SPC_NOMOD) + prompt("Access Security Pvt") + interest(4) + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + prompt("pprocessNotify") + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + interest(4) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + prompt("Scan Private") + special(SPC_NOMOD) + interest(4) + } + field(RSET, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Address of RSET") + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + special(SPC_NOMOD) + prompt("DSET address") + } + field(DPVT, DBF_NOACCESS) { + interest(4) + prompt("Device Private") + special(SPC_NOMOD) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + prompt("Address of dbRecordType") + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + special(SPC_NOMOD) + interest(4) + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + special(SPC_SCAN) + menu(menuPriority) + prompt("Scheduling Priority") + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + special(SPC_NOMOD) + prompt("Break Point") + interest(1) + } + field(UDF, DBF_UCHAR) { + initial("1") + prompt("Undefined") + promptgroup(GUI_COMMON) + interest(1) + pp(TRUE) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + interest(1) + promptgroup(GUI_COMMON) + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + } + field(TIME, DBF_NOACCESS) { + interest(2) + special(SPC_NOMOD) + prompt("Time") + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Process Link") + } + field(VAL, DBF_STRING) { + pp(TRUE) + promptgroup(GUI_OUTPUT) + size(40) + prompt("Current Value") + asl(ASL0) + } + field(OVAL, DBF_STRING) { + size(40) + interest(3) + special(SPC_NOMOD) + prompt("Previous Value") + } + field(DOL, DBF_INLINK) { + promptgroup(GUI_OUTPUT) + interest(1) + prompt("Desired Output Loc") + } + field(OMSL, DBF_MENU) { + interest(1) + promptgroup(GUI_OUTPUT) + menu(menuOmsl) + prompt("Output Mode Select") + } + field(OUT, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_OUTPUT) + prompt("Output Specification") + } + field(MPST, DBF_MENU) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Post Value Monitors") + menu(stringoutPOST) + } + field(APST, DBF_MENU) { + prompt("Post Archive Monitors") + menu(stringoutPOST) + promptgroup(GUI_DISPLAY) + interest(1) + } + field(SIOL, DBF_OUTLINK) { + prompt("Sim Output Specifctn") + interest(1) + promptgroup(GUI_INPUTS) + } + field(SIML, DBF_INLINK) { + prompt("Sim Mode Location") + interest(1) + promptgroup(GUI_INPUTS) + } + field(SIMM, DBF_MENU) { + interest(1) + menu(menuYesNo) + prompt("Simulation Mode") + } + field(SIMS, DBF_MENU) { + promptgroup(GUI_INPUTS) + interest(2) + menu(menuAlarmSevr) + prompt("Sim mode Alarm Svrty") + } + field(IVOA, DBF_MENU) { + menu(menuIvoa) + prompt("INVALID output action") + promptgroup(GUI_OUTPUT) + interest(2) + } + field(IVOV, DBF_STRING) { + prompt("INVALID output value") + interest(2) + size(40) + promptgroup(GUI_OUTPUT) + } +} +device(stringout, CONSTANT, devSoSoft, "Soft Channel") +device(stringout, CONSTANT, devSoSoftCallback, "Async Soft Channel") +device(stringout, INST_IO, devSoStdio, "stdio") +device(stringout, INST_IO, asynSoOctetWrite, "asynOctetWrite") +device(stringout, INST_IO, devstringoutStream, "stream") +recordtype(lso) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + %#include "devSup.h" + % + %/* Declare Device Support Entry Table */ + %typedef struct lsodset { + % long number; + % DEVSUPFUN report; + % DEVSUPFUN init; + % DEVSUPFUN init_record; + % DEVSUPFUN get_ioint_info; + % DEVSUPFUN write_string; + %} lsodset; + % + field(NAME, DBF_STRING) { + size(61) + special(SPC_NOMOD) + prompt("Record Name") + } + field(DESC, DBF_STRING) { + size(41) + promptgroup(GUI_COMMON) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + prompt("Access Security Group") + special(SPC_AS) + size(29) + promptgroup(GUI_COMMON) + } + field(SCAN, DBF_MENU) { + special(SPC_SCAN) + menu(menuScan) + prompt("Scan Mechanism") + promptgroup(GUI_SCAN) + interest(1) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup(GUI_SCAN) + interest(1) + } + field(PHAS, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + special(SPC_SCAN) + prompt("Scan Phase") + } + field(EVNT, DBF_STRING) { + special(SPC_SCAN) + prompt("Event Name") + promptgroup(GUI_SCAN) + interest(1) + size(40) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + interest(1) + promptgroup(GUI_SCAN) + } + field(TSEL, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + initial("1") + promptgroup(GUI_SCAN) prompt("Disable Value") } field(DISA, DBF_SHORT) { @@ -381,30 +10945,30 @@ prompt("Scanning Disable") } field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) extra("epicsMutexId mlok") interest(4) + special(SPC_NOMOD) prompt("Monitor lock") } field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) extra("ELLLIST mlis") - interest(4) + special(SPC_NOMOD) prompt("Monitor List") + interest(4) } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) + pp(TRUE) + interest(3) prompt("Force Processing") } field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) initial("UDF") prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) } field(SEVR, DBF_MENU) { special(SPC_NOMOD) @@ -412,493 +10976,1803 @@ prompt("Alarm Severity") } field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) prompt("New Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + interest(2) } field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) + menu(menuAlarmSevr) prompt("New Alarm Severity") + special(SPC_NOMOD) + interest(2) } field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) interest(2) prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) } field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) initial("YES") interest(2) + promptgroup(GUI_ALARMS) + special(SPC_NOMOD) + menu(menuYesNo) prompt("Alarm Ack Transient") } field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) + menu(menuAlarmSevr) prompt("Disable Alarm Sevrty") + interest(1) + promptgroup(GUI_SCAN) } field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) + interest(2) + special(SPC_NOMOD) prompt("Lock Count") } field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) + interest(1) + special(SPC_NOMOD) prompt("Record active") } field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) + interest(1) + special(SPC_NOMOD) prompt("dbPutField process") } field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) + interest(1) + special(SPC_NOMOD) prompt("Reprocess ") } field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) + interest(4) + special(SPC_NOMOD) + prompt("Access Security Pvt") extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") } field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) extra("struct processNotify *ppn") - interest(4) + special(SPC_NOMOD) prompt("pprocessNotify") + interest(4) } field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) extra("struct processNotifyRecord *ppnr") interest(4) prompt("pprocessNotifyRecord") + special(SPC_NOMOD) } field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) extra("struct scan_element *spvt") - interest(4) prompt("Scan Private") + special(SPC_NOMOD) + interest(4) } field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") interest(4) prompt("Address of RSET") + special(SPC_NOMOD) + extra("struct rset *rset") } field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) extra("struct dset *dset") interest(4) prompt("DSET address") + special(SPC_NOMOD) } field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) + interest(4) + special(SPC_NOMOD) + prompt("Device Private") extra("void *dpvt") - interest(4) - prompt("Device Private") } field(RDES, DBF_NOACCESS) { special(SPC_NOMOD) + prompt("Address of dbRecordType") + interest(4) extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") } field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) + prompt("Lock Set") + special(SPC_NOMOD) + interest(4) extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") } field(PRIO, DBF_MENU) { promptgroup(GUI_SCAN) + interest(1) special(SPC_SCAN) menu(menuPriority) - interest(1) prompt("Scheduling Priority") } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { + interest(1) + prompt("Break Point") special(SPC_NOMOD) extra("char bkpt") - interest(1) - prompt("Break Point") } field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) + initial("1") prompt("Undefined") + promptgroup(GUI_COMMON) + interest(1) + pp(TRUE) } field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) initial("INVALID") - interest(1) + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + promptgroup(GUI_COMMON) + interest(1) + } + field(TIME, DBF_NOACCESS) { + interest(2) + special(SPC_NOMOD) + prompt("Time") + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Process Link") + } + field(VAL, DBF_NOACCESS) { + extra("char *val") + special(SPC_DBADDR) + asl(ASL0) + prompt("Current Value") + pp(TRUE) + } + field(OVAL, DBF_NOACCESS) { + extra("char *oval") + interest(3) + special(SPC_DBADDR) + prompt("Previous Value") + } + field(SIZV, DBF_USHORT) { + initial("41") + prompt("Size of buffers") + special(SPC_NOMOD) + interest(1) + promptgroup(GUI_OUTPUT) + } + field(LEN, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Length of VAL") + } + field(OLEN, DBF_ULONG) { + prompt("Length of OVAL") + special(SPC_NOMOD) + interest(3) + } + field(DOL, DBF_INLINK) { + prompt("Desired Output Link") + promptgroup(GUI_OUTPUT) + interest(1) + } + field(IVOA, DBF_MENU) { + promptgroup(GUI_OUTPUT) + interest(2) + menu(menuIvoa) + prompt("INVALID Output Action") + } + field(IVOV, DBF_STRING) { + prompt("INVALID Output Value") + interest(2) + size(40) + promptgroup(GUI_OUTPUT) + } + field(OMSL, DBF_MENU) { + promptgroup(GUI_OUTPUT) + interest(1) + prompt("Output Mode Select") + menu(menuOmsl) + } + field(OUT, DBF_OUTLINK) { + promptgroup(GUI_OUTPUT) + interest(1) + prompt("Output Specification") + } + field(MPST, DBF_MENU) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Post Value Monitors") + menu(menuPost) + } + field(APST, DBF_MENU) { + menu(menuPost) + prompt("Post Archive Monitors") + interest(1) + promptgroup(GUI_DISPLAY) + } + field(SIML, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Sim Mode link") + } + field(SIMM, DBF_MENU) { + menu(menuYesNo) + prompt("Simulation Mode") + interest(1) + } + field(SIMS, DBF_MENU) { + interest(2) + promptgroup(GUI_INPUTS) + menu(menuAlarmSevr) + prompt("Sim mode Alarm Svrty") + } + field(SIOL, DBF_OUTLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Sim Output Specifctn") + } +} +device(lso, CONSTANT, devLsoSoft, "Soft Channel") +device(lso, CONSTANT, devLsoSoftCallback, "Async Soft Channel") +device(lso, INST_IO, devLsoStdio, "stdio") +recordtype(bo) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + size(61) + special(SPC_NOMOD) + prompt("Record Name") + } + field(DESC, DBF_STRING) { + size(41) + promptgroup(GUI_COMMON) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + special(SPC_AS) + prompt("Access Security Group") + size(29) + promptgroup(GUI_COMMON) + } + field(SCAN, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuScan) + prompt("Scan Mechanism") + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuPini) + prompt("Process at iocInit") + } + field(PHAS, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scan Phase") + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + interest(1) + promptgroup(GUI_SCAN) + special(SPC_SCAN) + prompt("Event Name") + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup(GUI_SCAN) + interest(1) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup(GUI_SCAN) + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup(GUI_LINKS) + interest(1) + } + field(DISV, DBF_SHORT) { + initial("1") + promptgroup(GUI_SCAN) + prompt("Disable Value") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + prompt("Monitor lock") + special(SPC_NOMOD) + interest(4) + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + prompt("Monitor List") + special(SPC_NOMOD) + interest(4) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + interest(3) + prompt("Force Processing") + pp(TRUE) + } + field(STAT, DBF_MENU) { + initial("UDF") + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("Alarm Status") + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + interest(2) + } + field(NSEV, DBF_MENU) { + menu(menuAlarmSevr) + prompt("New Alarm Severity") + special(SPC_NOMOD) + interest(2) + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + interest(2) + } + field(ACKT, DBF_MENU) { + special(SPC_NOMOD) + menu(menuYesNo) + prompt("Alarm Ack Transient") + interest(2) + promptgroup(GUI_ALARMS) + initial("YES") + } + field(DISS, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + } + field(LCNT, DBF_UCHAR) { + interest(2) + prompt("Lock Count") + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Record active") + interest(1) + } + field(PUTF, DBF_UCHAR) { + interest(1) + prompt("dbPutField process") + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + special(SPC_NOMOD) + interest(1) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + special(SPC_NOMOD) + interest(4) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + special(SPC_NOMOD) + prompt("pprocessNotify") + interest(4) + } + field(PPNR, DBF_NOACCESS) { + interest(4) + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + prompt("Scan Private") + special(SPC_NOMOD) + interest(4) + } + field(RSET, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Address of RSET") + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + special(SPC_NOMOD) + prompt("DSET address") + interest(4) + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + prompt("Device Private") + } + field(RDES, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + interest(4) + prompt("Lock Set") + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + special(SPC_NOMOD) + interest(1) + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + initial("1") + prompt("Undefined") + promptgroup(GUI_COMMON) + interest(1) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + promptgroup(GUI_COMMON) + interest(1) + menu(menuAlarmSevr) prompt("Undefined Alarm Sevrty") } field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) + prompt("Time") + special(SPC_NOMOD) + interest(2) extra("epicsTimeStamp time") - interest(2) - prompt("Time") } field(FLNK, DBF_FWDLINK) { promptgroup(GUI_LINKS) interest(1) prompt("Forward Process Link") } + field(VAL, DBF_ENUM) { + asl(ASL0) + prompt("Current Value") + promptgroup(GUI_OUTPUT) + pp(TRUE) + } + field(OMSL, DBF_MENU) { + menu(menuOmsl) + prompt("Output Mode Select") + interest(1) + promptgroup(GUI_OUTPUT) + } + field(DOL, DBF_INLINK) { + promptgroup(GUI_OUTPUT) + interest(1) + prompt("Desired Output Loc") + } + field(OUT, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_OUTPUT) + prompt("Output Specification") + } + field(HIGH, DBF_DOUBLE) { + promptgroup(GUI_OUTPUT) + interest(1) + prompt("Seconds to Hold High") + } + field(ZNAM, DBF_STRING) { + prompt("Zero Name") + size(26) + interest(1) + promptgroup(GUI_DISPLAY) + prop(YES) + pp(TRUE) + } + field(ONAM, DBF_STRING) { + promptgroup(GUI_DISPLAY) + size(26) + interest(1) + prompt("One Name") + prop(YES) + pp(TRUE) + } + field(RVAL, DBF_ULONG) { + prompt("Raw Value") + pp(TRUE) + } + field(ORAW, DBF_ULONG) { + interest(3) + special(SPC_NOMOD) + prompt("prev Raw Value") + } + field(MASK, DBF_ULONG) { + interest(1) + prompt("Hardware Mask") + special(SPC_NOMOD) + } field(RPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rpvtStruct *rpvt") - interest(4) + extra("void * rpvt") + special(SPC_NOMOD) prompt("Record Private") + interest(4) + } + field(WDPT, DBF_NOACCESS) { + prompt("Watch Dog Timer ID") + special(SPC_NOMOD) + interest(4) + extra("void * wdpt") + } + field(ZSV, DBF_MENU) { + prompt("Zero Error Severity") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_ALARMS) + pp(TRUE) + } + field(OSV, DBF_MENU) { + pp(TRUE) + promptgroup(GUI_ALARMS) + interest(1) + menu(menuAlarmSevr) + prompt("One Error Severity") + } + field(COSV, DBF_MENU) { + prompt("Change of State Sevr") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_ALARMS) + pp(TRUE) + } + field(RBV, DBF_ULONG) { + prompt("Readback Value") + special(SPC_NOMOD) + } + field(ORBV, DBF_ULONG) { + prompt("Prev Readback Value") + special(SPC_NOMOD) + interest(3) + } + field(MLST, DBF_USHORT) { + interest(3) + special(SPC_NOMOD) + prompt("Last Value Monitored") + } + field(LALM, DBF_USHORT) { + special(SPC_NOMOD) + prompt("Last Value Alarmed") + interest(3) + } + field(SIOL, DBF_OUTLINK) { + prompt("Sim Output Specifctn") + interest(1) + promptgroup(GUI_INPUTS) + } + field(SIML, DBF_INLINK) { + prompt("Sim Mode Location") + interest(1) + promptgroup(GUI_INPUTS) + } + field(SIMM, DBF_MENU) { + interest(1) + prompt("Simulation Mode") + menu(menuYesNo) + } + field(SIMS, DBF_MENU) { + promptgroup(GUI_INPUTS) + interest(2) + prompt("Sim mode Alarm Svrty") + menu(menuAlarmSevr) + } + field(IVOA, DBF_MENU) { + interest(2) + promptgroup(GUI_OUTPUT) + prompt("INVALID outpt action") + menu(menuIvoa) + } + field(IVOV, DBF_USHORT) { + prompt("INVALID output value") + promptgroup(GUI_OUTPUT) + interest(2) + } +} +device(bo, CONSTANT, devBoSoft, "Soft Channel") +device(bo, CONSTANT, devBoSoftRaw, "Raw Soft Channel") +device(bo, CONSTANT, devBoSoftCallback, "Async Soft Channel") +device(bo, INST_IO, devBoGeneralTime, "General Time") +device(bo, INST_IO, devBoDbState, "Db State") +device(bo, INST_IO, asynBoInt32, "asynInt32") +device(bo, INST_IO, asynBoUInt32Digital, "asynUInt32Digital") +device(bo, INST_IO, devboStream, "stream") +recordtype(mbbi) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + promptgroup(GUI_COMMON) + size(41) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + special(SPC_AS) + prompt("Access Security Group") + promptgroup(GUI_COMMON) + size(29) + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scan Mechanism") + menu(menuScan) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuPini) + prompt("Process at iocInit") + } + field(PHAS, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scan Phase") + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + promptgroup(GUI_SCAN) + interest(1) + size(40) + special(SPC_SCAN) + prompt("Event Name") + } + field(TSE, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + interest(1) + promptgroup(GUI_SCAN) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + interest(1) + promptgroup(GUI_LINKS) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup(GUI_SCAN) + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + prompt("Monitor lock") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + interest(4) + prompt("Monitor List") + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + interest(3) + prompt("Force Processing") + } + field(STAT, DBF_MENU) { + menu(menuAlarmStat) + prompt("Alarm Status") + special(SPC_NOMOD) + initial("UDF") + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("Alarm Severity") + } + field(NSTA, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("New Alarm Status") + interest(2) + } + field(NSEV, DBF_MENU) { + interest(2) + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("New Alarm Severity") + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + interest(2) + } + field(ACKT, DBF_MENU) { + initial("YES") + prompt("Alarm Ack Transient") + menu(menuYesNo) + special(SPC_NOMOD) + interest(2) + promptgroup(GUI_ALARMS) + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup(GUI_SCAN) + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + special(SPC_NOMOD) + interest(2) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + special(SPC_NOMOD) + interest(1) + } + field(PUTF, DBF_UCHAR) { + interest(1) + prompt("dbPutField process") + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + interest(1) + prompt("Reprocess ") + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + special(SPC_NOMOD) + prompt("Access Security Pvt") + interest(4) + } + field(PPN, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("pprocessNotify") + interest(4) + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + interest(4) + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Scan Private") + interest(4) + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + extra("struct rset *rset") + prompt("Address of RSET") + special(SPC_NOMOD) + interest(4) + } + field(DSET, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("DSET address") + interest(4) + extra("struct dset *dset") + } + field(DPVT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Device Private") + interest(4) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + prompt("Address of dbRecordType") + } + field(LSET, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Lock Set") + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + menu(menuPriority) + special(SPC_SCAN) + prompt("Scheduling Priority") + promptgroup(GUI_SCAN) + interest(1) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + prompt("Break Point") + special(SPC_NOMOD) + interest(1) + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + prompt("Undefined") + interest(1) + promptgroup(GUI_COMMON) + initial("1") + } + field(UDFS, DBF_MENU) { + initial("INVALID") + promptgroup(GUI_COMMON) + interest(1) + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + } + field(TIME, DBF_NOACCESS) { + extra("epicsTimeStamp time") + special(SPC_NOMOD) + prompt("Time") + interest(2) + } + field(FLNK, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Process Link") + } + field(VAL, DBF_ENUM) { + pp(TRUE) + asl(ASL0) + prompt("Current Value") + promptgroup(GUI_INPUTS) + } + field(NOBT, DBF_SHORT) { + promptgroup(GUI_MBB) + interest(1) + prompt("Number of Bits") + special(SPC_NOMOD) + } + field(INP, DBF_INLINK) { + interest(1) + promptgroup(GUI_MBB) + prompt("Input Specification") + } + field(ZRVL, DBF_ULONG) { + interest(1) + promptgroup(GUI_BITS1) + prompt("Zero Value") + base(HEX) + special(SPC_MOD) + pp(TRUE) + } + field(ONVL, DBF_ULONG) { + promptgroup(GUI_BITS1) + interest(1) + special(SPC_MOD) + base(HEX) + prompt("One Value") + pp(TRUE) + } + field(TWVL, DBF_ULONG) { + interest(1) + promptgroup(GUI_BITS1) + special(SPC_MOD) + base(HEX) + prompt("Two Value") + pp(TRUE) + } + field(THVL, DBF_ULONG) { + pp(TRUE) + interest(1) + promptgroup(GUI_BITS1) + base(HEX) + special(SPC_MOD) + prompt("Three Value") + } + field(FRVL, DBF_ULONG) { + pp(TRUE) + promptgroup(GUI_BITS1) + interest(1) + base(HEX) + prompt("Four Value") + special(SPC_MOD) + } + field(FVVL, DBF_ULONG) { + pp(TRUE) + promptgroup(GUI_BITS1) + interest(1) + special(SPC_MOD) + base(HEX) + prompt("Five Value") + } + field(SXVL, DBF_ULONG) { + pp(TRUE) + prompt("Six Value") + base(HEX) + special(SPC_MOD) + interest(1) + promptgroup(GUI_BITS1) + } + field(SVVL, DBF_ULONG) { + pp(TRUE) + promptgroup(GUI_BITS1) + interest(1) + prompt("Seven Value") + base(HEX) + special(SPC_MOD) + } + field(EIVL, DBF_ULONG) { + base(HEX) + prompt("Eight Value") + special(SPC_MOD) + promptgroup(GUI_BITS2) + interest(1) + pp(TRUE) + } + field(NIVL, DBF_ULONG) { + pp(TRUE) + interest(1) + promptgroup(GUI_BITS2) + base(HEX) + special(SPC_MOD) + prompt("Nine Value") + } + field(TEVL, DBF_ULONG) { + promptgroup(GUI_BITS2) + interest(1) + base(HEX) + prompt("Ten Value") + special(SPC_MOD) + pp(TRUE) + } + field(ELVL, DBF_ULONG) { + base(HEX) + special(SPC_MOD) + prompt("Eleven Value") + promptgroup(GUI_BITS2) + interest(1) + pp(TRUE) + } + field(TVVL, DBF_ULONG) { + interest(1) + promptgroup(GUI_BITS2) + base(HEX) + special(SPC_MOD) + prompt("Twelve Value") + pp(TRUE) + } + field(TTVL, DBF_ULONG) { + pp(TRUE) + promptgroup(GUI_BITS2) + interest(1) + prompt("Thirteen Value") + base(HEX) + special(SPC_MOD) + } + field(FTVL, DBF_ULONG) { + base(HEX) + special(SPC_MOD) + prompt("Fourteen Value") + interest(1) + promptgroup(GUI_BITS2) + pp(TRUE) + } + field(FFVL, DBF_ULONG) { + promptgroup(GUI_BITS2) + interest(1) + base(HEX) + prompt("Fifteen Value") + special(SPC_MOD) + pp(TRUE) + } + field(ZRST, DBF_STRING) { + pp(TRUE) + special(SPC_MOD) + prompt("Zero String") + size(26) + promptgroup(GUI_BITS1) + interest(1) + } + field(ONST, DBF_STRING) { + pp(TRUE) + size(26) + interest(1) + promptgroup(GUI_BITS1) + prompt("One String") + special(SPC_MOD) + } + field(TWST, DBF_STRING) { + promptgroup(GUI_BITS1) + size(26) + interest(1) + prompt("Two String") + special(SPC_MOD) + pp(TRUE) + } + field(THST, DBF_STRING) { + pp(TRUE) + promptgroup(GUI_BITS1) + size(26) + interest(1) + special(SPC_MOD) + prompt("Three String") + } + field(FRST, DBF_STRING) { + promptgroup(GUI_BITS1) + size(26) + interest(1) + prompt("Four String") + special(SPC_MOD) + pp(TRUE) + } + field(FVST, DBF_STRING) { + promptgroup(GUI_BITS1) + size(26) + interest(1) + prompt("Five String") + special(SPC_MOD) + pp(TRUE) + } + field(SXST, DBF_STRING) { + size(26) + interest(1) + promptgroup(GUI_BITS1) + prompt("Six String") + special(SPC_MOD) + pp(TRUE) + } + field(SVST, DBF_STRING) { + pp(TRUE) + special(SPC_MOD) + prompt("Seven String") + size(26) + interest(1) + promptgroup(GUI_BITS1) + } + field(EIST, DBF_STRING) { + size(26) + promptgroup(GUI_BITS2) + interest(1) + prompt("Eight String") + special(SPC_MOD) + pp(TRUE) + } + field(NIST, DBF_STRING) { + prompt("Nine String") + special(SPC_MOD) + interest(1) + size(26) + promptgroup(GUI_BITS2) + pp(TRUE) + } + field(TEST, DBF_STRING) { + special(SPC_MOD) + prompt("Ten String") + promptgroup(GUI_BITS2) + size(26) + interest(1) + pp(TRUE) + } + field(ELST, DBF_STRING) { + promptgroup(GUI_BITS2) + size(26) + interest(1) + special(SPC_MOD) + prompt("Eleven String") + pp(TRUE) + } + field(TVST, DBF_STRING) { + special(SPC_MOD) + prompt("Twelve String") + interest(1) + size(26) + promptgroup(GUI_BITS2) + pp(TRUE) + } + field(TTST, DBF_STRING) { + pp(TRUE) + size(26) + interest(1) + promptgroup(GUI_BITS2) + prompt("Thirteen String") + special(SPC_MOD) + } + field(FTST, DBF_STRING) { + pp(TRUE) + prompt("Fourteen String") + special(SPC_MOD) + promptgroup(GUI_BITS2) + size(26) + interest(1) + } + field(FFST, DBF_STRING) { + promptgroup(GUI_BITS2) + size(26) + interest(1) + special(SPC_MOD) + prompt("Fifteen String") + pp(TRUE) + } + field(ZRSV, DBF_MENU) { + promptgroup(GUI_BITS1) + interest(1) + prompt("State Zero Severity") + menu(menuAlarmSevr) + pp(TRUE) + } + field(ONSV, DBF_MENU) { + pp(TRUE) + prompt("State One Severity") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_BITS1) + } + field(TWSV, DBF_MENU) { + pp(TRUE) + interest(1) + promptgroup(GUI_BITS1) + prompt("State Two Severity") + menu(menuAlarmSevr) + } + field(THSV, DBF_MENU) { + prompt("State Three Severity") + menu(menuAlarmSevr) + promptgroup(GUI_BITS1) + interest(1) + pp(TRUE) + } + field(FRSV, DBF_MENU) { + menu(menuAlarmSevr) + prompt("State Four Severity") + promptgroup(GUI_BITS1) + interest(1) + pp(TRUE) + } + field(FVSV, DBF_MENU) { + prompt("State Five Severity") + menu(menuAlarmSevr) + promptgroup(GUI_BITS1) + interest(1) + pp(TRUE) + } + field(SXSV, DBF_MENU) { + promptgroup(GUI_BITS1) + interest(1) + menu(menuAlarmSevr) + prompt("State Six Severity") + pp(TRUE) + } + field(SVSV, DBF_MENU) { + promptgroup(GUI_BITS1) + interest(1) + prompt("State Seven Severity") + menu(menuAlarmSevr) + pp(TRUE) + } + field(EISV, DBF_MENU) { + pp(TRUE) + prompt("State Eight Severity") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_BITS2) + } + field(NISV, DBF_MENU) { + pp(TRUE) + menu(menuAlarmSevr) + prompt("State Nine Severity") + promptgroup(GUI_BITS2) + interest(1) + } + field(TESV, DBF_MENU) { + pp(TRUE) + promptgroup(GUI_BITS2) + interest(1) + prompt("State Ten Severity") + menu(menuAlarmSevr) + } + field(ELSV, DBF_MENU) { + prompt("State Eleven Severity") + menu(menuAlarmSevr) + promptgroup(GUI_BITS2) + interest(1) + pp(TRUE) + } + field(TVSV, DBF_MENU) { + pp(TRUE) + prompt("State Twelve Severity") + menu(menuAlarmSevr) + promptgroup(GUI_BITS2) + interest(1) + } + field(TTSV, DBF_MENU) { + prompt("State Thirteen Sevr") + menu(menuAlarmSevr) + promptgroup(GUI_BITS2) + interest(1) + pp(TRUE) + } + field(FTSV, DBF_MENU) { + pp(TRUE) + prompt("State Fourteen Sevr") + menu(menuAlarmSevr) + promptgroup(GUI_BITS2) + interest(1) + } + field(FFSV, DBF_MENU) { + pp(TRUE) + prompt("State Fifteen Severity") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_BITS2) + } + field(AFTC, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_ALARMS) + prompt("Alarm Filter Time Constant") + } + field(AFVL, DBF_DOUBLE) { + prompt("Alarm Filter Value") + special(SPC_NOMOD) + interest(3) + } + field(UNSV, DBF_MENU) { + pp(TRUE) + interest(1) + promptgroup(GUI_MBB) + prompt("Unknown State Severity") + menu(menuAlarmSevr) + } + field(COSV, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Change of State Svr") + promptgroup(GUI_MBB) + interest(1) + pp(TRUE) + } + field(RVAL, DBF_ULONG) { + pp(TRUE) + prompt("Raw Value") + } + field(ORAW, DBF_ULONG) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Raw Value") + } + field(MASK, DBF_ULONG) { + interest(1) + prompt("Hardware Mask") + special(SPC_NOMOD) + } + field(MLST, DBF_USHORT) { + interest(3) + prompt("Last Value Monitored") + special(SPC_NOMOD) + } + field(LALM, DBF_USHORT) { + interest(3) + prompt("Last Value Alarmed") + special(SPC_NOMOD) + } + field(SDEF, DBF_SHORT) { + special(SPC_NOMOD) + prompt("States Defined") + interest(3) + } + field(SHFT, DBF_USHORT) { + prompt("Shift") + promptgroup(GUI_MBB) + interest(1) + } + field(SIOL, DBF_INLINK) { + promptgroup(GUI_MBB) + interest(1) + prompt("Sim Input Specifctn") + } + field(SVAL, DBF_ULONG) { + prompt("Simulation Value") + } + field(SIML, DBF_INLINK) { + promptgroup(GUI_MBB) + interest(1) + prompt("Sim Mode Location") + } + field(SIMM, DBF_MENU) { + interest(1) + prompt("Simulation Mode") + menu(menuSimm) + } + field(SIMS, DBF_MENU) { + prompt("Sim mode Alarm Svrty") + menu(menuAlarmSevr) + promptgroup(GUI_MBB) + interest(2) + } +} +device(mbbi, CONSTANT, devMbbiSoft, "Soft Channel") +device(mbbi, CONSTANT, devMbbiSoftRaw, "Raw Soft Channel") +device(mbbi, CONSTANT, devMbbiSoftCallback, "Async Soft Channel") +device(mbbi, INST_IO, asynMbbiInt32, "asynInt32") +device(mbbi, INST_IO, asynMbbiUInt32Digital, "asynUInt32Digital") +device(mbbi, INST_IO, devmbbiStream, "stream") +recordtype(calc) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + %#include "postfix.h" + field(NAME, DBF_STRING) { + special(SPC_NOMOD) + prompt("Record Name") + size(61) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + size(41) + promptgroup(GUI_COMMON) + } + field(ASG, DBF_STRING) { + prompt("Access Security Group") + special(SPC_AS) + size(29) + promptgroup(GUI_COMMON) + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuScan) + special(SPC_SCAN) + prompt("Scan Mechanism") + } + field(PINI, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuPini) + prompt("Process at iocInit") + } + field(PHAS, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + special(SPC_SCAN) + prompt("Scan Phase") + } + field(EVNT, DBF_STRING) { + interest(1) + promptgroup(GUI_SCAN) + size(40) + prompt("Event Name") + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + interest(1) + promptgroup(GUI_SCAN) + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup(GUI_SCAN) + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup(GUI_LINKS) + interest(1) + } + field(DISV, DBF_SHORT) { + prompt("Disable Value") + promptgroup(GUI_SCAN) + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Monitor lock") + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + interest(4) + prompt("Monitor List") + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + prompt("Force Processing") + interest(3) + pp(TRUE) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Alarm Severity") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("New Alarm Status") + interest(2) + } + field(NSEV, DBF_MENU) { + menu(menuAlarmSevr) + prompt("New Alarm Severity") + special(SPC_NOMOD) + interest(2) + } + field(ACKS, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + interest(2) + } + field(ACKT, DBF_MENU) { + promptgroup(GUI_ALARMS) + interest(2) + prompt("Alarm Ack Transient") + menu(menuYesNo) + special(SPC_NOMOD) + initial("YES") + } + field(DISS, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + } + field(LCNT, DBF_UCHAR) { + interest(2) + special(SPC_NOMOD) + prompt("Lock Count") + } + field(PACT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Record active") + interest(1) + } + field(PUTF, DBF_UCHAR) { + interest(1) + prompt("dbPutField process") + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Access Security Pvt") + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + interest(4) + prompt("pprocessNotify") + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + extra("struct processNotifyRecord *ppnr") + interest(4) + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + } + field(SPVT, DBF_NOACCESS) { + interest(4) + prompt("Scan Private") + special(SPC_NOMOD) + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + extra("struct rset *rset") + prompt("Address of RSET") + special(SPC_NOMOD) + interest(4) + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + prompt("DSET address") + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + prompt("Device Private") + } + field(RDES, DBF_NOACCESS) { + interest(4) + prompt("Address of dbRecordType") + special(SPC_NOMOD) + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + special(SPC_NOMOD) + prompt("Lock Set") + interest(4) + } + field(PRIO, DBF_MENU) { + special(SPC_SCAN) + menu(menuPriority) + prompt("Scheduling Priority") + interest(1) + promptgroup(GUI_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + interest(1) + prompt("Break Point") + special(SPC_NOMOD) + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + initial("1") + promptgroup(GUI_COMMON) + interest(1) + prompt("Undefined") + } + field(UDFS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + interest(1) + promptgroup(GUI_COMMON) + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + prompt("Time") + } + field(FLNK, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Process Link") } field(VAL, DBF_DOUBLE) { - promptgroup(GUI_OUTPUT) - asl(ASL0) prompt("Result") - } - field(PVAL, DBF_DOUBLE) { - prompt("Previous Value") + asl(ASL0) } field(CALC, DBF_STRING) { - promptgroup(GUI_CALC) + prompt("Calculation") special(SPC_CALC) - initial("0") - pp(TRUE) size(80) - prompt("Calculation") - } - field(CLCV, DBF_LONG) { - interest(1) - prompt("CALC Valid") + promptgroup(GUI_CALC) + initial("0") + pp(TRUE) } field(INPA, DBF_INLINK) { - promptgroup(GUI_CALC) - special(SPC_MOD) - interest(1) + interest(1) + promptgroup(GUI_CALC) prompt("Input A") } field(INPB, DBF_INLINK) { - promptgroup(GUI_CALC) - special(SPC_MOD) - interest(1) + interest(1) + promptgroup(GUI_CALC) prompt("Input B") } field(INPC, DBF_INLINK) { - promptgroup(GUI_CALC) - special(SPC_MOD) - interest(1) prompt("Input C") + promptgroup(GUI_CALC) + interest(1) } field(INPD, DBF_INLINK) { promptgroup(GUI_CALC) - special(SPC_MOD) interest(1) prompt("Input D") } field(INPE, DBF_INLINK) { - promptgroup(GUI_CALC) - special(SPC_MOD) - interest(1) prompt("Input E") + promptgroup(GUI_CALC) + interest(1) } field(INPF, DBF_INLINK) { promptgroup(GUI_CALC) - special(SPC_MOD) interest(1) prompt("Input F") } field(INPG, DBF_INLINK) { promptgroup(GUI_CALC) - special(SPC_MOD) interest(1) prompt("Input G") } field(INPH, DBF_INLINK) { - promptgroup(GUI_CALC) - special(SPC_MOD) - interest(1) + interest(1) + promptgroup(GUI_CALC) prompt("Input H") } field(INPI, DBF_INLINK) { - promptgroup(GUI_CALC) - special(SPC_MOD) - interest(1) prompt("Input I") + interest(1) + promptgroup(GUI_CALC) } field(INPJ, DBF_INLINK) { - promptgroup(GUI_CALC) - special(SPC_MOD) - interest(1) + interest(1) + promptgroup(GUI_CALC) prompt("Input J") } field(INPK, DBF_INLINK) { - promptgroup(GUI_CALC) - special(SPC_MOD) - interest(1) + interest(1) + promptgroup(GUI_CALC) prompt("Input K") } field(INPL, DBF_INLINK) { promptgroup(GUI_CALC) - special(SPC_MOD) interest(1) prompt("Input L") } - field(OUT, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - special(SPC_MOD) - interest(1) - prompt("Output Specification") - } - field(INAV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPA PV Status") - } - field(INBV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPB PV Status") - } - field(INCV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPC PV Status") - } - field(INDV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPD PV Status") - } - field(INEV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPE PV Status") - } - field(INFV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPF PV Status") - } - field(INGV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPG PV Status") - } - field(INHV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPH PV Status") - } - field(INIV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPI PV Status") - } - field(INJV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPJ PV Status") - } - field(INKV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPK PV Status") - } - field(INLV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPL PV Status") - } - field(OUTV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - interest(1) - prompt("OUT PV Status") - } - field(OOPT, DBF_MENU) { - promptgroup(GUI_CALC) - menu(calcoutOOPT) - interest(1) - prompt("Output Execute Opt") - } - field(ODLY, DBF_DOUBLE) { - promptgroup(GUI_ALARMS) - asl(ASL0) - interest(1) - prompt("Output Execute Delay") - } - field(DLYA, DBF_USHORT) { - special(SPC_NOMOD) - asl(ASL0) - prompt("Output Delay Active") - } - field(DOPT, DBF_MENU) { - promptgroup(GUI_CALC) - menu(calcoutDOPT) - interest(1) - prompt("Output Data Opt") - } - field(OCAL, DBF_STRING) { - promptgroup(GUI_CALC) - special(SPC_CALC) - initial("0") - pp(TRUE) - size(80) - prompt("Output Calculation") - } - field(OCLV, DBF_LONG) { - interest(1) - prompt("OCAL Valid") - } - field(OEVT, DBF_STRING) { - promptgroup(GUI_CLOCK) - special(SPC_MOD) - asl(ASL0) - size(40) - prompt("Event To Issue") - } - field(EPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("EVENTPVT epvt") - interest(4) - prompt("Event private") - } - field(IVOA, DBF_MENU) { - promptgroup(GUI_OUTPUT) - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_DOUBLE) { - promptgroup(GUI_OUTPUT) - interest(2) - prompt("INVALID output value") - } field(EGU, DBF_STRING) { prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) size(16) + interest(1) + promptgroup(GUI_DISPLAY) prompt("Units Name") } field(PREC, DBF_SHORT) { prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) + interest(1) + promptgroup(GUI_DISPLAY) prompt("Display Precision") } field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) + interest(1) + promptgroup(GUI_DISPLAY) prompt("High Operating Rng") + prop(YES) } field(LOPR, DBF_DOUBLE) { - prop(YES) promptgroup(GUI_DISPLAY) interest(1) prompt("Low Operating Range") + prop(YES) } field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) + pp(TRUE) + prop(YES) + promptgroup(GUI_ALARMS) + interest(1) prompt("Hihi Alarm Limit") } field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) + interest(1) + promptgroup(GUI_ALARMS) prompt("Lolo Alarm Limit") + prop(YES) + pp(TRUE) } field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) + promptgroup(GUI_ALARMS) + interest(1) prompt("High Alarm Limit") + prop(YES) + pp(TRUE) } field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) + pp(TRUE) + prop(YES) prompt("Low Alarm Limit") + promptgroup(GUI_ALARMS) + interest(1) } field(HHSV, DBF_MENU) { - prop(YES) - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) prompt("Hihi Severity") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_ALARMS) + prop(YES) + pp(TRUE) } field(LLSV, DBF_MENU) { - prop(YES) - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) + promptgroup(GUI_ALARMS) + interest(1) + menu(menuAlarmSevr) prompt("Lolo Severity") + pp(TRUE) + prop(YES) } field(HSV, DBF_MENU) { - prop(YES) - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) + pp(TRUE) + prop(YES) + interest(1) + promptgroup(GUI_ALARMS) + menu(menuAlarmSevr) prompt("High Severity") } field(LSV, DBF_MENU) { - prop(YES) - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) + interest(1) + promptgroup(GUI_ALARMS) + menu(menuAlarmSevr) prompt("Low Severity") + prop(YES) + pp(TRUE) + } + field(AFTC, DBF_DOUBLE) { + prompt("Alarm Filter Time Constant") + interest(1) + promptgroup(GUI_ALARMS) + } + field(AFVL, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Alarm Filter Value") } field(HYST, DBF_DOUBLE) { - promptgroup(GUI_ALARMS) - interest(1) + interest(1) + promptgroup(GUI_ALARMS) prompt("Alarm Deadband") } field(ADEL, DBF_DOUBLE) { @@ -907,9 +12781,9 @@ prompt("Archive Deadband") } field(MDEL, DBF_DOUBLE) { - promptgroup(GUI_DISPLAY) - interest(1) prompt("Monitor Deadband") + interest(1) + promptgroup(GUI_DISPLAY) } field(A, DBF_DOUBLE) { pp(TRUE) @@ -924,8 +12798,8663 @@ prompt("Value of Input C") } field(D, DBF_DOUBLE) { - pp(TRUE) prompt("Value of Input D") + pp(TRUE) + } + field(E, DBF_DOUBLE) { + prompt("Value of Input E") + pp(TRUE) + } + field(F, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input F") + } + field(G, DBF_DOUBLE) { + prompt("Value of Input G") + pp(TRUE) + } + field(H, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input H") + } + field(I, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input I") + } + field(J, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input J") + } + field(K, DBF_DOUBLE) { + prompt("Value of Input K") + pp(TRUE) + } + field(L, DBF_DOUBLE) { + prompt("Value of Input L") + pp(TRUE) + } + field(LA, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of A") + interest(3) + } + field(LB, DBF_DOUBLE) { + prompt("Prev Value of B") + special(SPC_NOMOD) + interest(3) + } + field(LC, DBF_DOUBLE) { + prompt("Prev Value of C") + special(SPC_NOMOD) + interest(3) + } + field(LD, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of D") + interest(3) + } + field(LE, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of E") + interest(3) + } + field(LF, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of F") + special(SPC_NOMOD) + } + field(LG, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of G") + interest(3) + } + field(LH, DBF_DOUBLE) { + prompt("Prev Value of H") + special(SPC_NOMOD) + interest(3) + } + field(LI, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of I") + interest(3) + } + field(LJ, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Value of J") + } + field(LK, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of K") + special(SPC_NOMOD) + } + field(LL, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Value of L") + } + field(LALM, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Last Value Alarmed") + } + field(ALST, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Last Value Archived") + } + field(MLST, DBF_DOUBLE) { + prompt("Last Val Monitored") + special(SPC_NOMOD) + interest(3) + } + field(RPCL, DBF_NOACCESS) { + prompt("Reverse Polish Calc") + special(SPC_NOMOD) + interest(4) + extra("char rpcl[INFIX_TO_POSTFIX_SIZE(80)]") + } +} +recordtype(transform) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + prompt("Record Name") + special(SPC_NOMOD) + size(61) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + promptgroup(GUI_COMMON) + size(41) + } + field(ASG, DBF_STRING) { + promptgroup(GUI_COMMON) + size(29) + special(SPC_AS) + prompt("Access Security Group") + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + special(SPC_SCAN) + menu(menuScan) + prompt("Scan Mechanism") + } + field(PINI, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Process at iocInit") + menu(menuPini) + } + field(PHAS, DBF_SHORT) { + special(SPC_SCAN) + prompt("Scan Phase") + interest(1) + promptgroup(GUI_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + interest(1) + promptgroup(GUI_SCAN) + prompt("Event Name") + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + interest(1) + promptgroup(GUI_LINKS) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup(GUI_SCAN) + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup(GUI_SCAN) + interest(1) + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + prompt("Monitor lock") + special(SPC_NOMOD) + interest(4) + } + field(MLIS, DBF_NOACCESS) { + interest(4) + prompt("Monitor List") + special(SPC_NOMOD) + extra("ELLLIST mlis") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + interest(3) + prompt("Force Processing") + pp(TRUE) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("New Alarm Status") + interest(2) + } + field(NSEV, DBF_MENU) { + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("New Alarm Severity") + interest(2) + } + field(ACKS, DBF_MENU) { + interest(2) + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("Alarm Ack Severity") + } + field(ACKT, DBF_MENU) { + prompt("Alarm Ack Transient") + menu(menuYesNo) + special(SPC_NOMOD) + interest(2) + promptgroup(GUI_ALARMS) + initial("YES") + } + field(DISS, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + special(SPC_NOMOD) + interest(2) + } + field(PACT, DBF_UCHAR) { + interest(1) + prompt("Record active") + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + special(SPC_NOMOD) + interest(1) + } + field(RPRO, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Reprocess ") + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + interest(4) + special(SPC_NOMOD) + prompt("Access Security Pvt") + } + field(PPN, DBF_NOACCESS) { + interest(4) + prompt("pprocessNotify") + special(SPC_NOMOD) + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + interest(4) + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + interest(4) + prompt("Scan Private") + special(SPC_NOMOD) + } + field(RSET, DBF_NOACCESS) { + prompt("Address of RSET") + special(SPC_NOMOD) + interest(4) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + interest(4) + prompt("DSET address") + special(SPC_NOMOD) + extra("struct dset *dset") + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + special(SPC_NOMOD) + interest(4) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + interest(4) + prompt("Address of dbRecordType") + special(SPC_NOMOD) + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + special(SPC_NOMOD) + prompt("Lock Set") + interest(4) + } + field(PRIO, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuPriority) + special(SPC_SCAN) + prompt("Scheduling Priority") + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + prompt("Break Point") + special(SPC_NOMOD) + interest(1) + } + field(UDF, DBF_UCHAR) { + initial("1") + prompt("Undefined") + interest(1) + promptgroup(GUI_COMMON) + pp(TRUE) + } + field(UDFS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + promptgroup(GUI_COMMON) + interest(1) + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + special(SPC_NOMOD) + interest(2) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Process Link") + } + field(VERS, DBF_FLOAT) { + special(SPC_NOMOD) + prompt("Code Version") + initial("1") + } + field(RPVT, DBF_NOACCESS) { + extra("void * rpvt") + special(SPC_NOMOD) + prompt("Record Private") + interest(4) + size(4) + } + field(IVLA, DBF_MENU) { + initial("0") + interest(1) + promptgroup(GUI_COMMON) + menu(transformIVLA) + prompt("Invalid link action") + } + field(COPT, DBF_MENU) { + prompt("Calc option") + menu(transformCOPT) + interest(1) + promptgroup(GUI_COMMON) + initial("Conditional") + } + field(VAL, DBF_DOUBLE) { + prompt("Result") + } + field(CLCA, DBF_STRING) { + special(SPC_MOD) + prompt("Calculation A") + size(120) + promptgroup(GUI_COMMON) + } + field(CLCB, DBF_STRING) { + prompt("Calculation B") + special(SPC_MOD) + promptgroup(GUI_COMMON) + size(120) + } + field(CLCC, DBF_STRING) { + size(120) + promptgroup(GUI_COMMON) + prompt("Calculation C") + special(SPC_MOD) + } + field(CLCD, DBF_STRING) { + promptgroup(GUI_COMMON) + size(120) + prompt("Calculation D") + special(SPC_MOD) + } + field(CLCE, DBF_STRING) { + special(SPC_MOD) + prompt("Calculation E") + promptgroup(GUI_COMMON) + size(120) + } + field(CLCF, DBF_STRING) { + special(SPC_MOD) + prompt("Calculation F") + size(120) + promptgroup(GUI_COMMON) + } + field(CLCG, DBF_STRING) { + size(120) + promptgroup(GUI_COMMON) + prompt("Calculation G") + special(SPC_MOD) + } + field(CLCH, DBF_STRING) { + size(120) + promptgroup(GUI_COMMON) + prompt("Calculation H") + special(SPC_MOD) + } + field(CLCI, DBF_STRING) { + size(120) + promptgroup(GUI_COMMON) + special(SPC_MOD) + prompt("Calculation I") + } + field(CLCJ, DBF_STRING) { + special(SPC_MOD) + prompt("Calculation J") + size(120) + promptgroup(GUI_COMMON) + } + field(CLCK, DBF_STRING) { + size(120) + promptgroup(GUI_COMMON) + special(SPC_MOD) + prompt("Calculation K") + } + field(CLCL, DBF_STRING) { + size(120) + promptgroup(GUI_COMMON) + special(SPC_MOD) + prompt("Calculation L") + } + field(CLCM, DBF_STRING) { + special(SPC_MOD) + prompt("Calculation M") + promptgroup(GUI_COMMON) + size(120) + } + field(CLCN, DBF_STRING) { + promptgroup(GUI_COMMON) + size(120) + prompt("Calculation N") + special(SPC_MOD) + } + field(CLCO, DBF_STRING) { + size(120) + promptgroup(GUI_COMMON) + prompt("Calculation O") + special(SPC_MOD) + } + field(CLCP, DBF_STRING) { + prompt("Calculation P") + special(SPC_MOD) + size(120) + promptgroup(GUI_COMMON) + } + field(CAV, DBF_LONG) { + prompt("CALC Invalid") + interest(1) + } + field(CBV, DBF_LONG) { + prompt("CALC Invalid") + interest(1) + } + field(CCV, DBF_LONG) { + interest(1) + prompt("CALC Invalid") + } + field(CDV, DBF_LONG) { + interest(1) + prompt("CALC Invalid") + } + field(CEV, DBF_LONG) { + interest(1) + prompt("CALC Invalid") + } + field(CFV, DBF_LONG) { + prompt("CALC Invalid") + interest(1) + } + field(CGV, DBF_LONG) { + prompt("CALC Invalid") + interest(1) + } + field(CHV, DBF_LONG) { + prompt("CALC Invalid") + interest(1) + } + field(CIV, DBF_LONG) { + interest(1) + prompt("CALC Invalid") + } + field(CJV, DBF_LONG) { + prompt("CALC Invalid") + interest(1) + } + field(CKV, DBF_LONG) { + prompt("CALC Invalid") + interest(1) + } + field(CLV, DBF_LONG) { + prompt("CALC Invalid") + interest(1) + } + field(CMV, DBF_LONG) { + prompt("CALC Invalid") + interest(1) + } + field(CNV, DBF_LONG) { + prompt("CALC Invalid") + interest(1) + } + field(COV, DBF_LONG) { + prompt("CALC Invalid") + interest(1) + } + field(CPV, DBF_LONG) { + prompt("CALC Invalid") + interest(1) + } + field(INPA, DBF_INLINK) { + prompt("Input A") + special(SPC_MOD) + interest(1) + promptgroup(GUI_COMMON) + } + field(INPB, DBF_INLINK) { + interest(1) + promptgroup(GUI_COMMON) + special(SPC_MOD) + prompt("Input B") + } + field(INPC, DBF_INLINK) { + promptgroup(GUI_COMMON) + interest(1) + prompt("Input C") + special(SPC_MOD) + } + field(INPD, DBF_INLINK) { + special(SPC_MOD) + prompt("Input D") + interest(1) + promptgroup(GUI_COMMON) + } + field(INPE, DBF_INLINK) { + promptgroup(GUI_COMMON) + interest(1) + prompt("Input E") + special(SPC_MOD) + } + field(INPF, DBF_INLINK) { + prompt("Input F") + special(SPC_MOD) + promptgroup(GUI_COMMON) + interest(1) + } + field(INPG, DBF_INLINK) { + promptgroup(GUI_COMMON) + interest(1) + special(SPC_MOD) + prompt("Input G") + } + field(INPH, DBF_INLINK) { + promptgroup(GUI_COMMON) + interest(1) + prompt("Input H") + special(SPC_MOD) + } + field(INPI, DBF_INLINK) { + interest(1) + promptgroup(GUI_COMMON) + special(SPC_MOD) + prompt("Input I") + } + field(INPJ, DBF_INLINK) { + interest(1) + promptgroup(GUI_COMMON) + special(SPC_MOD) + prompt("Input J") + } + field(INPK, DBF_INLINK) { + prompt("Input K") + special(SPC_MOD) + interest(1) + promptgroup(GUI_COMMON) + } + field(INPL, DBF_INLINK) { + special(SPC_MOD) + prompt("Input L") + interest(1) + promptgroup(GUI_COMMON) + } + field(INPM, DBF_INLINK) { + promptgroup(GUI_COMMON) + interest(1) + prompt("Input M") + special(SPC_MOD) + } + field(INPN, DBF_INLINK) { + interest(1) + promptgroup(GUI_COMMON) + prompt("Input N") + special(SPC_MOD) + } + field(INPO, DBF_INLINK) { + prompt("Input O") + special(SPC_MOD) + interest(1) + promptgroup(GUI_COMMON) + } + field(INPP, DBF_INLINK) { + interest(1) + promptgroup(GUI_COMMON) + special(SPC_MOD) + prompt("Input P") + } + field(OUTA, DBF_OUTLINK) { + prompt("Output A") + special(SPC_MOD) + interest(1) + promptgroup(GUI_COMMON) + } + field(OUTB, DBF_OUTLINK) { + prompt("Output B") + special(SPC_MOD) + promptgroup(GUI_COMMON) + interest(1) + } + field(OUTC, DBF_OUTLINK) { + promptgroup(GUI_COMMON) + interest(1) + special(SPC_MOD) + prompt("Output C") + } + field(OUTD, DBF_OUTLINK) { + prompt("Output D") + special(SPC_MOD) + promptgroup(GUI_COMMON) + interest(1) + } + field(OUTE, DBF_OUTLINK) { + promptgroup(GUI_COMMON) + interest(1) + prompt("Output E") + special(SPC_MOD) + } + field(OUTF, DBF_OUTLINK) { + special(SPC_MOD) + prompt("Output F") + promptgroup(GUI_COMMON) + interest(1) + } + field(OUTG, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_COMMON) + prompt("Output G") + special(SPC_MOD) + } + field(OUTH, DBF_OUTLINK) { + special(SPC_MOD) + prompt("Output H") + promptgroup(GUI_COMMON) + interest(1) + } + field(OUTI, DBF_OUTLINK) { + prompt("Output I") + special(SPC_MOD) + promptgroup(GUI_COMMON) + interest(1) + } + field(OUTJ, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_COMMON) + prompt("Output J") + special(SPC_MOD) + } + field(OUTK, DBF_OUTLINK) { + prompt("Output K") + special(SPC_MOD) + promptgroup(GUI_COMMON) + interest(1) + } + field(OUTL, DBF_OUTLINK) { + promptgroup(GUI_COMMON) + interest(1) + special(SPC_MOD) + prompt("Output L") + } + field(OUTM, DBF_OUTLINK) { + promptgroup(GUI_COMMON) + interest(1) + prompt("Output M") + special(SPC_MOD) + } + field(OUTN, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_COMMON) + special(SPC_MOD) + prompt("Output N") + } + field(OUTO, DBF_OUTLINK) { + special(SPC_MOD) + prompt("Output O") + promptgroup(GUI_COMMON) + interest(1) + } + field(OUTP, DBF_OUTLINK) { + prompt("Output P") + special(SPC_MOD) + promptgroup(GUI_COMMON) + interest(1) + } + field(EGU, DBF_STRING) { + prompt("Units Name") + interest(1) + size(16) + promptgroup(GUI_COMMON) + } + field(PREC, DBF_SHORT) { + promptgroup(GUI_COMMON) + interest(1) + prompt("Display Precision") + } + field(A, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of A") + special(SPC_MOD) + promptgroup(GUI_COMMON) + } + field(B, DBF_DOUBLE) { + special(SPC_MOD) + prompt("Value of B") + promptgroup(GUI_COMMON) + pp(TRUE) + } + field(C, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of C") + special(SPC_MOD) + promptgroup(GUI_COMMON) + } + field(D, DBF_DOUBLE) { + special(SPC_MOD) + prompt("Value of D") + promptgroup(GUI_COMMON) + pp(TRUE) + } + field(E, DBF_DOUBLE) { + pp(TRUE) + special(SPC_MOD) + prompt("Value of E") + promptgroup(GUI_COMMON) + } + field(F, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of F") + special(SPC_MOD) + promptgroup(GUI_COMMON) + } + field(G, DBF_DOUBLE) { + promptgroup(GUI_COMMON) + special(SPC_MOD) + prompt("Value of G") + pp(TRUE) + } + field(H, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of H") + special(SPC_MOD) + promptgroup(GUI_COMMON) + } + field(I, DBF_DOUBLE) { + pp(TRUE) + promptgroup(GUI_COMMON) + special(SPC_MOD) + prompt("Value of I") + } + field(J, DBF_DOUBLE) { + pp(TRUE) + special(SPC_MOD) + prompt("Value of J") + promptgroup(GUI_COMMON) + } + field(K, DBF_DOUBLE) { + pp(TRUE) + promptgroup(GUI_COMMON) + prompt("Value of K") + special(SPC_MOD) + } + field(L, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of L") + special(SPC_MOD) + promptgroup(GUI_COMMON) + } + field(M, DBF_DOUBLE) { + special(SPC_MOD) + prompt("Value of M") + promptgroup(GUI_COMMON) + pp(TRUE) + } + field(N, DBF_DOUBLE) { + pp(TRUE) + special(SPC_MOD) + prompt("Value of N") + promptgroup(GUI_COMMON) + } + field(O, DBF_DOUBLE) { + pp(TRUE) + promptgroup(GUI_COMMON) + prompt("Value of O") + special(SPC_MOD) + } + field(P, DBF_DOUBLE) { + promptgroup(GUI_COMMON) + special(SPC_MOD) + prompt("Value of P") + pp(TRUE) + } + field(LA, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Value of A") + } + field(LB, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of B") + special(SPC_NOMOD) + } + field(LC, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of C") + special(SPC_NOMOD) + } + field(LD, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of D") + special(SPC_NOMOD) + } + field(LE, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of E") + special(SPC_NOMOD) + } + field(LF, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of F") + interest(3) + } + field(LG, DBF_DOUBLE) { + prompt("Prev Value of G") + special(SPC_NOMOD) + interest(3) + } + field(LH, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of H") + special(SPC_NOMOD) + } + field(LI, DBF_DOUBLE) { + prompt("Prev Value of I") + special(SPC_NOMOD) + interest(3) + } + field(LJ, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of J") + special(SPC_NOMOD) + } + field(LK, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of K") + interest(3) + } + field(LL, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of L") + interest(3) + } + field(LM, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of M") + special(SPC_NOMOD) + } + field(LN, DBF_DOUBLE) { + prompt("Prev Value of N") + special(SPC_NOMOD) + interest(3) + } + field(LO, DBF_DOUBLE) { + prompt("Prev Value of O") + special(SPC_NOMOD) + interest(3) + } + field(LP, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Value of P") + } + field(RPCA, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Postfix Calc A") + interest(4) + extra("unsigned char rpca[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + } + field(RPCB, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Postfix Calc B") + interest(4) + extra("unsigned char rpcb[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + } + field(RPCC, DBF_NOACCESS) { + extra("unsigned char rpcc[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + interest(4) + prompt("Postfix Calc C") + special(SPC_NOMOD) + } + field(RPCD, DBF_NOACCESS) { + extra("unsigned char rpcd[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + prompt("Postfix Calc D") + special(SPC_NOMOD) + interest(4) + } + field(RPCE, DBF_NOACCESS) { + prompt("Postfix Calc E") + special(SPC_NOMOD) + interest(4) + extra("unsigned char rpce[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + } + field(RPCF, DBF_NOACCESS) { + prompt("Postfix Calc F") + special(SPC_NOMOD) + interest(4) + extra("unsigned char rpcf[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + } + field(RPCG, DBF_NOACCESS) { + extra("unsigned char rpcg[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + interest(4) + special(SPC_NOMOD) + prompt("Postfix Calc G") + } + field(RPCH, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Postfix Calc H") + interest(4) + extra("unsigned char rpch[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + } + field(RPCI, DBF_NOACCESS) { + interest(4) + prompt("Postfix Calc I") + special(SPC_NOMOD) + extra("unsigned char rpci[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + } + field(RPCJ, DBF_NOACCESS) { + prompt("Postfix Calc J") + special(SPC_NOMOD) + interest(4) + extra("unsigned char rpcj[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + } + field(RPCK, DBF_NOACCESS) { + prompt("Postfix Calc K") + special(SPC_NOMOD) + interest(4) + extra("unsigned char rpck[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + } + field(RPCL, DBF_NOACCESS) { + interest(4) + prompt("Postfix Calc L") + special(SPC_NOMOD) + extra("unsigned char rpcl[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + } + field(RPCM, DBF_NOACCESS) { + extra("unsigned char rpcm[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + interest(4) + prompt("Postfix Calc M") + special(SPC_NOMOD) + } + field(RPCN, DBF_NOACCESS) { + extra("unsigned char rpcn[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + special(SPC_NOMOD) + prompt("Postfix Calc N") + interest(4) + } + field(RPCO, DBF_NOACCESS) { + interest(4) + prompt("Postfix Calc O") + special(SPC_NOMOD) + extra("unsigned char rpco[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + } + field(RPCP, DBF_NOACCESS) { + prompt("Postfix Calc P") + special(SPC_NOMOD) + interest(4) + extra("unsigned char rpcp[SCALC_INFIX_TO_POSTFIX_SIZE(120)]") + } + field(CMTA, DBF_STRING) { + prompt("Comment A") + promptgroup(GUI_COMMON) + size(39) + } + field(CMTB, DBF_STRING) { + prompt("Comment B") + size(39) + promptgroup(GUI_COMMON) + } + field(CMTC, DBF_STRING) { + prompt("Comment C") + size(39) + promptgroup(GUI_COMMON) + } + field(CMTD, DBF_STRING) { + prompt("Comment D") + size(39) + promptgroup(GUI_COMMON) + } + field(CMTE, DBF_STRING) { + promptgroup(GUI_COMMON) + size(39) + prompt("Comment E") + } + field(CMTF, DBF_STRING) { + size(39) + promptgroup(GUI_COMMON) + prompt("Comment F") + } + field(CMTG, DBF_STRING) { + prompt("Comment G") + promptgroup(GUI_COMMON) + size(39) + } + field(CMTH, DBF_STRING) { + promptgroup(GUI_COMMON) + size(39) + prompt("Comment H") + } + field(CMTI, DBF_STRING) { + size(39) + promptgroup(GUI_COMMON) + prompt("Comment I") + } + field(CMTJ, DBF_STRING) { + promptgroup(GUI_COMMON) + size(39) + prompt("Comment J") + } + field(CMTK, DBF_STRING) { + prompt("Comment K") + promptgroup(GUI_COMMON) + size(39) + } + field(CMTL, DBF_STRING) { + prompt("Comment L") + size(39) + promptgroup(GUI_COMMON) + } + field(CMTM, DBF_STRING) { + prompt("Comment M") + promptgroup(GUI_COMMON) + size(39) + } + field(CMTN, DBF_STRING) { + size(39) + promptgroup(GUI_COMMON) + prompt("Comment N") + } + field(CMTO, DBF_STRING) { + size(39) + promptgroup(GUI_COMMON) + prompt("Comment O") + } + field(CMTP, DBF_STRING) { + prompt("Comment P") + size(39) + promptgroup(GUI_COMMON) + } + field(MAP, DBF_SHORT) { + prompt("Input bitmap") + interest(3) + promptgroup(GUI_COMMON) + } + field(IAV, DBF_MENU) { + prompt("Input link valid") + menu(transformIAV) + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(IBV, DBF_MENU) { + menu(transformIAV) + prompt("Input link valid") + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(ICV, DBF_MENU) { + interest(1) + special(SPC_NOMOD) + menu(transformIAV) + prompt("Input link valid") + initial("1") + } + field(IDV, DBF_MENU) { + initial("1") + interest(1) + special(SPC_NOMOD) + menu(transformIAV) + prompt("Input link valid") + } + field(IEV, DBF_MENU) { + interest(1) + menu(transformIAV) + prompt("Input link valid") + special(SPC_NOMOD) + initial("1") + } + field(IFV, DBF_MENU) { + initial("1") + menu(transformIAV) + special(SPC_NOMOD) + prompt("Input link valid") + interest(1) + } + field(IGV, DBF_MENU) { + initial("1") + menu(transformIAV) + prompt("Input link valid") + special(SPC_NOMOD) + interest(1) + } + field(IHV, DBF_MENU) { + menu(transformIAV) + prompt("Input link valid") + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(IIV, DBF_MENU) { + initial("1") + special(SPC_NOMOD) + menu(transformIAV) + prompt("Input link valid") + interest(1) + } + field(IJV, DBF_MENU) { + initial("1") + menu(transformIAV) + special(SPC_NOMOD) + prompt("Input link valid") + interest(1) + } + field(IKV, DBF_MENU) { + initial("1") + interest(1) + prompt("Input link valid") + menu(transformIAV) + special(SPC_NOMOD) + } + field(ILV, DBF_MENU) { + interest(1) + menu(transformIAV) + special(SPC_NOMOD) + prompt("Input link valid") + initial("1") + } + field(IMV, DBF_MENU) { + interest(1) + menu(transformIAV) + prompt("Input link valid") + special(SPC_NOMOD) + initial("1") + } + field(INV, DBF_MENU) { + menu(transformIAV) + prompt("Input link valid") + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(IOV, DBF_MENU) { + initial("1") + prompt("Input link valid") + menu(transformIAV) + special(SPC_NOMOD) + interest(1) + } + field(IPV, DBF_MENU) { + initial("1") + special(SPC_NOMOD) + menu(transformIAV) + prompt("Input link valid") + interest(1) + } + field(OAV, DBF_MENU) { + initial("1") + interest(1) + special(SPC_NOMOD) + menu(transformIAV) + prompt("Output link valid") + } + field(OBV, DBF_MENU) { + initial("1") + special(SPC_NOMOD) + menu(transformIAV) + prompt("Output link valid") + interest(1) + } + field(OCV, DBF_MENU) { + special(SPC_NOMOD) + menu(transformIAV) + prompt("Output link valid") + interest(1) + initial("1") + } + field(ODV, DBF_MENU) { + interest(1) + special(SPC_NOMOD) + menu(transformIAV) + prompt("Output link valid") + initial("1") + } + field(OEV, DBF_MENU) { + initial("1") + special(SPC_NOMOD) + menu(transformIAV) + prompt("Output link valid") + interest(1) + } + field(OFV, DBF_MENU) { + initial("1") + interest(1) + menu(transformIAV) + prompt("Output link valid") + special(SPC_NOMOD) + } + field(OGV, DBF_MENU) { + initial("1") + interest(1) + menu(transformIAV) + prompt("Output link valid") + special(SPC_NOMOD) + } + field(OHV, DBF_MENU) { + interest(1) + special(SPC_NOMOD) + menu(transformIAV) + prompt("Output link valid") + initial("1") + } + field(OIV, DBF_MENU) { + menu(transformIAV) + prompt("Output link valid") + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(OJV, DBF_MENU) { + interest(1) + menu(transformIAV) + prompt("Output link valid") + special(SPC_NOMOD) + initial("1") + } + field(OKV, DBF_MENU) { + interest(1) + special(SPC_NOMOD) + menu(transformIAV) + prompt("Output link valid") + initial("1") + } + field(OLV, DBF_MENU) { + initial("1") + menu(transformIAV) + prompt("Output link valid") + special(SPC_NOMOD) + interest(1) + } + field(OMV, DBF_MENU) { + interest(1) + special(SPC_NOMOD) + menu(transformIAV) + prompt("Output link valid") + initial("1") + } + field(ONV, DBF_MENU) { + initial("1") + menu(transformIAV) + prompt("Output link valid") + special(SPC_NOMOD) + interest(1) + } + field(OOV, DBF_MENU) { + menu(transformIAV) + special(SPC_NOMOD) + prompt("Output link valid") + interest(1) + initial("1") + } + field(OPV, DBF_MENU) { + initial("1") + menu(transformIAV) + prompt("Output link valid") + special(SPC_NOMOD) + interest(1) + } +} +recordtype(asyn) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + size(61) + special(SPC_NOMOD) + prompt("Record Name") + } + field(DESC, DBF_STRING) { + size(41) + promptgroup(GUI_COMMON) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + promptgroup(GUI_COMMON) + size(29) + prompt("Access Security Group") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + special(SPC_SCAN) + menu(menuScan) + prompt("Scan Mechanism") + interest(1) + promptgroup(GUI_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + interest(1) + promptgroup(GUI_SCAN) + } + field(PHAS, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scan Phase") + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + special(SPC_SCAN) + prompt("Event Name") + interest(1) + size(40) + promptgroup(GUI_SCAN) + } + field(TSE, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup(GUI_SCAN) + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup(GUI_LINKS) + interest(1) + } + field(DISV, DBF_SHORT) { + promptgroup(GUI_SCAN) + prompt("Disable Value") + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + interest(1) + promptgroup(GUI_SCAN) + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + special(SPC_NOMOD) + prompt("Monitor lock") + interest(4) + } + field(MLIS, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Monitor List") + interest(4) + extra("ELLLIST mlis") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + interest(3) + prompt("Force Processing") + pp(TRUE) + } + field(STAT, DBF_MENU) { + initial("UDF") + menu(menuAlarmStat) + prompt("Alarm Status") + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("Alarm Severity") + } + field(NSTA, DBF_MENU) { + interest(2) + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("New Alarm Status") + } + field(NSEV, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("New Alarm Severity") + interest(2) + } + field(ACKS, DBF_MENU) { + interest(2) + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("Alarm Ack Severity") + } + field(ACKT, DBF_MENU) { + menu(menuYesNo) + prompt("Alarm Ack Transient") + special(SPC_NOMOD) + interest(2) + promptgroup(GUI_ALARMS) + initial("YES") + } + field(DISS, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + } + field(LCNT, DBF_UCHAR) { + interest(2) + prompt("Lock Count") + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Record active") + } + field(PUTF, DBF_UCHAR) { + interest(1) + prompt("dbPutField process") + special(SPC_NOMOD) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + special(SPC_NOMOD) + interest(1) + } + field(ASP, DBF_NOACCESS) { + interest(4) + prompt("Access Security Pvt") + special(SPC_NOMOD) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + interest(4) + prompt("pprocessNotify") + special(SPC_NOMOD) + } + field(PPNR, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + interest(4) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + interest(4) + prompt("Scan Private") + special(SPC_NOMOD) + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + interest(4) + prompt("Address of RSET") + special(SPC_NOMOD) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + special(SPC_NOMOD) + prompt("DSET address") + interest(4) + } + field(DPVT, DBF_NOACCESS) { + interest(4) + prompt("Device Private") + special(SPC_NOMOD) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + interest(4) + prompt("Address of dbRecordType") + special(SPC_NOMOD) + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Lock Set") + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuPriority) + special(SPC_SCAN) + prompt("Scheduling Priority") + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + special(SPC_NOMOD) + prompt("Break Point") + interest(1) + } + field(UDF, DBF_UCHAR) { + promptgroup(GUI_COMMON) + interest(1) + prompt("Undefined") + initial("1") + pp(TRUE) + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup(GUI_COMMON) + interest(1) + } + field(TIME, DBF_NOACCESS) { + interest(2) + prompt("Time") + special(SPC_NOMOD) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup(GUI_LINKS) + interest(1) + } + field(VAL, DBF_LONG) { + prompt("Value field (unused)") + asl(ASL0) + interest(4) + } + field(PORT, DBF_STRING) { + special(SPC_MOD) + prompt("asyn port") + size(40) + interest(1) + promptgroup(GUI_INPUTS) + initial("") + } + field(ADDR, DBF_LONG) { + initial("0") + special(SPC_MOD) + prompt("asyn address") + interest(1) + promptgroup(GUI_INPUTS) + } + field(PCNCT, DBF_MENU) { + interest(2) + prompt("Port Connect/Disconnect") + menu(asynCONNECT) + special(SPC_MOD) + } + field(DRVINFO, DBF_STRING) { + prompt("Driver info string") + special(SPC_MOD) + size(40) + promptgroup(GUI_INPUTS) + interest(2) + initial("") + } + field(REASON, DBF_LONG) { + special(SPC_MOD) + prompt("asynUser->reason") + interest(2) + } + field(TMOD, DBF_MENU) { + menu(asynTMOD) + prompt("Transaction mode") + promptgroup(GUI_INPUTS) + interest(1) + } + field(TMOT, DBF_DOUBLE) { + initial("1.0") + prompt("Timeout (sec)") + promptgroup(GUI_INPUTS) + interest(1) + } + field(IFACE, DBF_MENU) { + prompt("Interface") + menu(asynINTERFACE) + special(SPC_MOD) + promptgroup(GUI_INPUTS) + interest(2) + } + field(OCTETIV, DBF_LONG) { + prompt("asynOctet is valid") + interest(2) + } + field(OPTIONIV, DBF_LONG) { + interest(2) + prompt("asynOption is valid") + } + field(GPIBIV, DBF_LONG) { + interest(2) + prompt("asynGPIB is valid") + } + field(I32IV, DBF_LONG) { + interest(2) + prompt("asynInt32 is valid") + } + field(UI32IV, DBF_LONG) { + prompt("asynUInt32Digital is valid") + interest(2) + } + field(F64IV, DBF_LONG) { + interest(2) + prompt("asynFloat64 is valid") + } + field(AOUT, DBF_STRING) { + pp(TRUE) + promptgroup(GUI_OUTPUT) + size(40) + interest(1) + prompt("Output (command) string") + } + field(OEOS, DBF_STRING) { + prompt("Output delimiter") + special(SPC_MOD) + promptgroup(GUI_OUTPUT) + size(40) + interest(1) + } + field(BOUT, DBF_CHAR) { + interest(1) + special(SPC_DBADDR) + prompt("Output binary data") + pp(TRUE) + } + field(OPTR, DBF_NOACCESS) { + extra("void *optr") + interest(4) + special(SPC_NOMOD) + prompt("Output buffer pointer") + } + field(OMAX, DBF_LONG) { + initial("80") + special(SPC_NOMOD) + prompt("Max. size of output array") + promptgroup(GUI_OUTPUT) + interest(1) + } + field(NOWT, DBF_LONG) { + initial("80") + prompt("Number of bytes to write") + interest(1) + promptgroup(GUI_OUTPUT) + } + field(NAWT, DBF_LONG) { + prompt("Number of bytes actually written") + interest(1) + } + field(OFMT, DBF_MENU) { + interest(1) + promptgroup(GUI_OUTPUT) + menu(asynFMT) + prompt("Output format") + } + field(AINP, DBF_STRING) { + size(40) + interest(1) + prompt("Input (response) string") + special(SPC_NOMOD) + } + field(TINP, DBF_STRING) { + size(40) + interest(1) + special(SPC_NOMOD) + asl(ASL0) + prompt("Translated input string") + } + field(IEOS, DBF_STRING) { + interest(1) + size(40) + promptgroup(GUI_INPUTS) + prompt("Input Delimiter") + special(SPC_MOD) + } + field(BINP, DBF_CHAR) { + special(SPC_DBADDR) + asl(ASL0) + prompt("Input binary data") + } + field(IPTR, DBF_NOACCESS) { + extra("void *iptr") + prompt("Input buffer pointer") + special(SPC_NOMOD) + interest(4) + size(4) + } + field(IMAX, DBF_LONG) { + initial("80") + special(SPC_NOMOD) + prompt("Max. size of input array") + interest(1) + promptgroup(GUI_INPUTS) + } + field(NRRD, DBF_LONG) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Number of bytes to read") + } + field(NORD, DBF_LONG) { + interest(1) + prompt("Number of bytes read") + special(SPC_NOMOD) + } + field(IFMT, DBF_MENU) { + interest(1) + promptgroup(GUI_INPUTS) + menu(asynFMT) + prompt("Input format") + } + field(EOMR, DBF_MENU) { + menu(asynEOMREASON) + prompt("EOM reason") + special(SPC_NOMOD) + interest(1) + } + field(I32INP, DBF_LONG) { + special(SPC_NOMOD) + prompt("asynInt32 input") + interest(2) + } + field(I32OUT, DBF_LONG) { + pp(TRUE) + prompt("asynInt32 output") + promptgroup(GUI_OUTPUT) + interest(2) + } + field(UI32INP, DBF_ULONG) { + special(SPC_NOMOD) + prompt("asynUInt32Digital input") + interest(2) + } + field(UI32OUT, DBF_ULONG) { + pp(TRUE) + interest(2) + promptgroup(GUI_OUTPUT) + prompt("asynUInt32Digital output") + } + field(UI32MASK, DBF_ULONG) { + interest(2) + promptgroup(GUI_OUTPUT) + special(SPC_MOD) + prompt("asynUInt32Digital mask") + initial("0xffffffff") + } + field(F64INP, DBF_DOUBLE) { + interest(2) + prompt("asynFloat64 input") + special(SPC_NOMOD) + } + field(F64OUT, DBF_DOUBLE) { + pp(TRUE) + promptgroup(GUI_OUTPUT) + interest(2) + prompt("asynFloat64 output") + } + field(BAUD, DBF_MENU) { + menu(serialBAUD) + special(SPC_MOD) + prompt("Baud rate") + interest(2) + promptgroup(GUI_INPUTS) + } + field(LBAUD, DBF_LONG) { + prompt("Baud rate") + special(SPC_MOD) + promptgroup(GUI_INPUTS) + interest(2) + } + field(PRTY, DBF_MENU) { + interest(2) + promptgroup(GUI_INPUTS) + menu(serialPRTY) + special(SPC_MOD) + prompt("Parity") + } + field(DBIT, DBF_MENU) { + promptgroup(GUI_INPUTS) + interest(2) + prompt("Data bits") + menu(serialDBIT) + special(SPC_MOD) + } + field(SBIT, DBF_MENU) { + interest(2) + promptgroup(GUI_INPUTS) + prompt("Stop bits") + menu(serialSBIT) + special(SPC_MOD) + } + field(MCTL, DBF_MENU) { + special(SPC_MOD) + menu(serialMCTL) + prompt("Modem control") + interest(2) + promptgroup(GUI_INPUTS) + } + field(FCTL, DBF_MENU) { + promptgroup(GUI_INPUTS) + interest(2) + menu(serialFCTL) + special(SPC_MOD) + prompt("Flow control") + } + field(IXON, DBF_MENU) { + interest(2) + promptgroup(GUI_INPUTS) + menu(serialIX) + prompt("Output XON/XOFF") + special(SPC_MOD) + } + field(IXOFF, DBF_MENU) { + prompt("Input XON/XOFF") + menu(serialIX) + special(SPC_MOD) + promptgroup(GUI_INPUTS) + interest(2) + } + field(IXANY, DBF_MENU) { + special(SPC_MOD) + menu(serialIX) + prompt("XON=any character") + interest(2) + promptgroup(GUI_INPUTS) + } + field(UCMD, DBF_MENU) { + menu(gpibUCMD) + prompt("Universal command") + interest(2) + promptgroup(GUI_OUTPUT) + pp(TRUE) + } + field(ACMD, DBF_MENU) { + pp(TRUE) + promptgroup(GUI_OUTPUT) + interest(2) + menu(gpibACMD) + prompt("Addressed command") + } + field(SPR, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Serial poll response") + interest(2) + } + field(TMSK, DBF_LONG) { + special(SPC_MOD) + prompt("Trace mask") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(TB0, DBF_MENU) { + prompt("Trace error") + menu(asynTRACE) + special(SPC_MOD) + promptgroup(GUI_DISPLAY) + interest(1) + } + field(TB1, DBF_MENU) { + menu(asynTRACE) + special(SPC_MOD) + prompt("Trace IO device") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(TB2, DBF_MENU) { + promptgroup(GUI_DISPLAY) + interest(1) + menu(asynTRACE) + prompt("Trace IO filter") + special(SPC_MOD) + } + field(TB3, DBF_MENU) { + menu(asynTRACE) + prompt("Trace IO driver") + special(SPC_MOD) + interest(1) + promptgroup(GUI_DISPLAY) + } + field(TB4, DBF_MENU) { + prompt("Trace flow") + menu(asynTRACE) + special(SPC_MOD) + promptgroup(GUI_DISPLAY) + interest(1) + } + field(TB5, DBF_MENU) { + interest(1) + promptgroup(GUI_DISPLAY) + special(SPC_MOD) + menu(asynTRACE) + prompt("Trace warning") + } + field(TIOM, DBF_LONG) { + special(SPC_MOD) + prompt("Trace I/O mask") + interest(1) + promptgroup(GUI_DISPLAY) + } + field(TIB0, DBF_MENU) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Trace IO ASCII") + menu(asynTRACE) + special(SPC_MOD) + } + field(TIB1, DBF_MENU) { + menu(asynTRACE) + special(SPC_MOD) + prompt("Trace IO escape") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(TIB2, DBF_MENU) { + interest(1) + promptgroup(GUI_DISPLAY) + special(SPC_MOD) + menu(asynTRACE) + prompt("Trace IO hex") + } + field(TINM, DBF_LONG) { + prompt("Trace Info mask") + special(SPC_MOD) + promptgroup(GUI_DISPLAY) + interest(1) + } + field(TINB0, DBF_MENU) { + interest(1) + promptgroup(GUI_DISPLAY) + special(SPC_MOD) + menu(asynTRACE) + prompt("Trace Info Time") + } + field(TINB1, DBF_MENU) { + prompt("Trace Info Port") + menu(asynTRACE) + special(SPC_MOD) + promptgroup(GUI_DISPLAY) + interest(1) + } + field(TINB2, DBF_MENU) { + menu(asynTRACE) + special(SPC_MOD) + prompt("Trace Info Source") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(TINB3, DBF_MENU) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Trace Info Thread") + menu(asynTRACE) + special(SPC_MOD) + } + field(TSIZ, DBF_LONG) { + prompt("Trace IO truncate size") + special(SPC_MOD) + promptgroup(GUI_DISPLAY) + interest(1) + } + field(TFIL, DBF_STRING) { + promptgroup(GUI_DISPLAY) + size(40) + interest(1) + prompt("Trace IO file") + special(SPC_MOD) + } + field(AUCT, DBF_MENU) { + promptgroup(GUI_INPUTS) + interest(1) + menu(asynAUTOCONNECT) + special(SPC_MOD) + prompt("Autoconnect") + } + field(CNCT, DBF_MENU) { + promptgroup(GUI_INPUTS) + interest(1) + menu(asynCONNECT) + special(SPC_MOD) + prompt("Connect/Disconnect") + } + field(ENBL, DBF_MENU) { + prompt("Enable/Disable") + menu(asynENABLE) + special(SPC_MOD) + promptgroup(GUI_INPUTS) + interest(1) + } + field(ERRS, DBF_NOACCESS) { + prompt("Error string") + special(SPC_DBADDR) + interest(4) + extra("char *errs") + } + field(AQR, DBF_UCHAR) { + special(SPC_MOD) + prompt("Abort queueRequest") + interest(4) + } +} +device(asyn, INST_IO, asynRecordDevice, "asynRecordDevice") +recordtype(aai) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + prompt("Record Name") + special(SPC_NOMOD) + size(61) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + promptgroup(GUI_COMMON) + size(41) + } + field(ASG, DBF_STRING) { + size(29) + promptgroup(GUI_COMMON) + prompt("Access Security Group") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + prompt("Scan Mechanism") + menu(menuScan) + special(SPC_SCAN) + interest(1) + promptgroup(GUI_SCAN) + } + field(PINI, DBF_MENU) { + menu(menuPini) + prompt("Process at iocInit") + promptgroup(GUI_SCAN) + interest(1) + } + field(PHAS, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scan Phase") + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + promptgroup(GUI_SCAN) + interest(1) + size(40) + special(SPC_SCAN) + prompt("Event Name") + } + field(TSE, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + initial("1") + promptgroup(GUI_SCAN) + prompt("Disable Value") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + interest(1) + promptgroup(GUI_SCAN) + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + special(SPC_NOMOD) + prompt("Monitor lock") + interest(4) + } + field(MLIS, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Monitor List") + extra("ELLLIST mlis") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + interest(3) + prompt("Force Processing") + } + field(STAT, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("Alarm Status") + initial("UDF") + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Alarm Severity") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("New Alarm Status") + interest(2) + } + field(NSEV, DBF_MENU) { + interest(2) + prompt("New Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(ACKS, DBF_MENU) { + interest(2) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + interest(2) + promptgroup(GUI_ALARMS) + menu(menuYesNo) + prompt("Alarm Ack Transient") + special(SPC_NOMOD) + initial("YES") + } + field(DISS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + interest(1) + promptgroup(GUI_SCAN) + } + field(LCNT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Lock Count") + interest(2) + } + field(PACT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Record active") + interest(1) + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + interest(4) + prompt("Access Security Pvt") + special(SPC_NOMOD) + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + special(SPC_NOMOD) + prompt("pprocessNotify") + interest(4) + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + interest(4) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Scan Private") + interest(4) + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + interest(4) + prompt("Address of RSET") + special(SPC_NOMOD) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + prompt("DSET address") + special(SPC_NOMOD) + interest(4) + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + interest(4) + prompt("Device Private") + special(SPC_NOMOD) + } + field(RDES, DBF_NOACCESS) { + interest(4) + prompt("Address of dbRecordType") + special(SPC_NOMOD) + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Lock Set") + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + special(SPC_SCAN) + interest(1) + promptgroup(GUI_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + special(SPC_NOMOD) + prompt("Break Point") + interest(1) + } + field(UDF, DBF_UCHAR) { + initial("1") + interest(1) + promptgroup(GUI_COMMON) + prompt("Undefined") + pp(TRUE) + } + field(UDFS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + promptgroup(GUI_COMMON) + interest(1) + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + extra("epicsTimeStamp time") + prompt("Time") + special(SPC_NOMOD) + interest(2) + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + interest(1) + promptgroup(GUI_LINKS) + } + field(VAL, DBF_NOACCESS) { + asl(ASL0) + special(SPC_DBADDR) + prompt("Value") + extra("void * val") + pp(TRUE) + } + field(PREC, DBF_SHORT) { + prompt("Display Precision") + promptgroup(GUI_ALARMS) + interest(1) + prop(YES) + } + field(INP, DBF_INLINK) { + promptgroup(GUI_BITS1) + interest(1) + prompt("Input Specification") + } + field(EGU, DBF_STRING) { + prop(YES) + prompt("Engineering Units Name") + size(16) + promptgroup(GUI_BITS2) + interest(1) + } + field(HOPR, DBF_DOUBLE) { + prompt("High Operating Range") + interest(1) + promptgroup(GUI_CALC) + prop(YES) + } + field(LOPR, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_CLOCK) + prompt("Low Operating Range") + prop(YES) + } + field(NELM, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Number of Elements") + promptgroup(GUI_COMPRESS) + interest(1) + initial("1") + } + field(FTVL, DBF_MENU) { + promptgroup(GUI_CONVERT) + interest(1) + menu(menuFtype) + prompt("Field Type of Value") + special(SPC_NOMOD) + } + field(NORD, DBF_ULONG) { + prompt("Number elements read") + special(SPC_NOMOD) + } + field(BPTR, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Buffer Pointer") + interest(4) + extra("void * bptr") + } + field(SIML, DBF_INLINK) { + prompt("Sim Mode Location") + interest(1) + promptgroup(GUI_HIST) + } + field(SIMM, DBF_MENU) { + menu(menuYesNo) + prompt("Simulation Mode") + interest(1) + } + field(SIMS, DBF_MENU) { + promptgroup(GUI_INPUTS) + interest(2) + menu(menuAlarmSevr) + prompt("Sim mode Alarm Svrty") + } + field(SIOL, DBF_INLINK) { + prompt("Sim Input Specifctn") + interest(1) + promptgroup(GUI_INPUTS) + } + field(MPST, DBF_MENU) { + prompt("Post Value Monitors") + menu(aaiPOST) + interest(1) + promptgroup(GUI_DISPLAY) + } + field(APST, DBF_MENU) { + prompt("Post Archive Monitors") + menu(aaiPOST) + promptgroup(GUI_DISPLAY) + interest(1) + } + field(HASH, DBF_ULONG) { + prompt("Hash of OnChange data.") + interest(3) + } +} +device(aai, CONSTANT, devAaiSoft, "Soft Channel") +device(aai, INST_IO, devaaiStream, "stream") +recordtype(dfanout) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + size(41) + promptgroup(GUI_COMMON) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + special(SPC_AS) + prompt("Access Security Group") + size(29) + promptgroup(GUI_COMMON) + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scan Mechanism") + menu(menuScan) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuPini) + prompt("Process at iocInit") + } + field(PHAS, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scan Phase") + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + size(40) + interest(1) + promptgroup(GUI_SCAN) + prompt("Event Name") + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup(GUI_SCAN) + interest(1) + } + field(DTYP, DBF_DEVICE) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + initial("1") + promptgroup(GUI_SCAN) + prompt("Disable Value") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + special(SPC_NOMOD) + prompt("Monitor lock") + interest(4) + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + interest(4) + prompt("Monitor List") + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + prompt("Force Processing") + interest(3) + pp(TRUE) + } + field(STAT, DBF_MENU) { + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("Alarm Status") + initial("UDF") + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Alarm Severity") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("New Alarm Status") + interest(2) + } + field(NSEV, DBF_MENU) { + interest(2) + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("New Alarm Severity") + } + field(ACKS, DBF_MENU) { + interest(2) + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("Alarm Ack Severity") + } + field(ACKT, DBF_MENU) { + menu(menuYesNo) + special(SPC_NOMOD) + prompt("Alarm Ack Transient") + interest(2) + promptgroup(GUI_ALARMS) + initial("YES") + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_SCAN) + } + field(LCNT, DBF_UCHAR) { + interest(2) + prompt("Lock Count") + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Record active") + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + interest(1) + prompt("Reprocess ") + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + interest(4) + prompt("Access Security Pvt") + special(SPC_NOMOD) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + special(SPC_NOMOD) + prompt("pprocessNotify") + interest(4) + } + field(PPNR, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + interest(4) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + prompt("Scan Private") + } + field(RSET, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Address of RSET") + interest(4) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + special(SPC_NOMOD) + prompt("DSET address") + } + field(DPVT, DBF_NOACCESS) { + interest(4) + prompt("Device Private") + special(SPC_NOMOD) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + prompt("Address of dbRecordType") + } + field(LSET, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Lock Set") + interest(4) + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuPriority) + prompt("Scheduling Priority") + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Break Point") + interest(1) + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + prompt("Undefined") + interest(1) + promptgroup(GUI_COMMON) + initial("1") + pp(TRUE) + } + field(UDFS, DBF_MENU) { + promptgroup(GUI_COMMON) + interest(1) + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Time") + interest(2) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup(GUI_LINKS) + interest(1) + } + field(VAL, DBF_DOUBLE) { + pp(TRUE) + prompt("Desired Output") + asl(ASL0) + } + field(SELM, DBF_MENU) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Select Mechanism") + menu(dfanoutSELM) + } + field(SELN, DBF_USHORT) { + prompt("Link Selection") + interest(1) + initial("1") + } + field(SELL, DBF_INLINK) { + prompt("Link Selection Loc") + promptgroup(GUI_LINKS) + interest(1) + } + field(OUTA, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_OUTPUT) + prompt("Output Spec A") + } + field(OUTB, DBF_OUTLINK) { + promptgroup(GUI_OUTPUT) + interest(1) + prompt("Output Spec B") + } + field(OUTC, DBF_OUTLINK) { + prompt("Output Spec C") + promptgroup(GUI_OUTPUT) + interest(1) + } + field(OUTD, DBF_OUTLINK) { + promptgroup(GUI_OUTPUT) + interest(1) + prompt("Output Spec D") + } + field(OUTE, DBF_OUTLINK) { + prompt("Output Spec E") + interest(1) + promptgroup(GUI_OUTPUT) + } + field(OUTF, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_OUTPUT) + prompt("Output Spec F") + } + field(OUTG, DBF_OUTLINK) { + prompt("Output Spec G") + interest(1) + promptgroup(GUI_OUTPUT) + } + field(OUTH, DBF_OUTLINK) { + prompt("Output Spec H") + promptgroup(GUI_OUTPUT) + interest(1) + } + field(DOL, DBF_INLINK) { + prompt("Desired Output Loc") + interest(1) + promptgroup(GUI_INPUTS) + } + field(OMSL, DBF_MENU) { + prompt("Output Mode Select") + menu(menuOmsl) + interest(1) + promptgroup(GUI_OUTPUT) + } + field(EGU, DBF_STRING) { + interest(1) + size(16) + promptgroup(GUI_DISPLAY) + prompt("Units name") + prop(YES) + } + field(PREC, DBF_SHORT) { + prop(YES) + prompt("Display Precision") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(HOPR, DBF_DOUBLE) { + prop(YES) + prompt("High Operating Range") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(LOPR, DBF_DOUBLE) { + prop(YES) + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Low Operating Range") + } + field(HIHI, DBF_DOUBLE) { + promptgroup(GUI_ALARMS) + interest(1) + prompt("Hihi Alarm Limit") + prop(YES) + pp(TRUE) + } + field(LOLO, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_ALARMS) + prompt("Lolo Alarm Limit") + pp(TRUE) + prop(YES) + } + field(HIGH, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_ALARMS) + prompt("High Alarm Limit") + prop(YES) + pp(TRUE) + } + field(LOW, DBF_DOUBLE) { + pp(TRUE) + prop(YES) + prompt("Low Alarm Limit") + promptgroup(GUI_ALARMS) + interest(1) + } + field(HHSV, DBF_MENU) { + interest(1) + promptgroup(GUI_ALARMS) + prompt("Hihi Severity") + menu(menuAlarmSevr) + prop(YES) + pp(TRUE) + } + field(LLSV, DBF_MENU) { + pp(TRUE) + prop(YES) + promptgroup(GUI_ALARMS) + interest(1) + menu(menuAlarmSevr) + prompt("Lolo Severity") + } + field(HSV, DBF_MENU) { + prop(YES) + pp(TRUE) + promptgroup(GUI_ALARMS) + interest(1) + menu(menuAlarmSevr) + prompt("High Severity") + } + field(LSV, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Low Severity") + interest(1) + promptgroup(GUI_ALARMS) + pp(TRUE) + prop(YES) + } + field(HYST, DBF_DOUBLE) { + prompt("Alarm Deadband") + promptgroup(GUI_ALARMS) + interest(1) + } + field(ADEL, DBF_DOUBLE) { + prompt("Archive Deadband") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(MDEL, DBF_DOUBLE) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Monitor Deadband") + } + field(LALM, DBF_DOUBLE) { + prompt("Last Value Alarmed") + special(SPC_NOMOD) + interest(3) + } + field(ALST, DBF_DOUBLE) { + prompt("Last Value Archived") + special(SPC_NOMOD) + interest(3) + } + field(MLST, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Last Val Monitored") + } +} +recordtype(longin) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + size(61) + prompt("Record Name") + special(SPC_NOMOD) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + promptgroup(GUI_COMMON) + size(41) + } + field(ASG, DBF_STRING) { + special(SPC_AS) + prompt("Access Security Group") + promptgroup(GUI_COMMON) + size(29) + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuScan) + prompt("Scan Mechanism") + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Process at iocInit") + menu(menuPini) + } + field(PHAS, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scan Phase") + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + prompt("Event Name") + special(SPC_SCAN) + size(40) + interest(1) + promptgroup(GUI_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup(GUI_SCAN) + interest(1) + } + field(TSEL, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + initial("1") + promptgroup(GUI_SCAN) + prompt("Disable Value") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + prompt("Monitor lock") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + interest(4) + prompt("Monitor List") + special(SPC_NOMOD) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + interest(3) + prompt("Force Processing") + } + field(STAT, DBF_MENU) { + initial("UDF") + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("Alarm Status") + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Alarm Severity") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + interest(2) + prompt("New Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + interest(2) + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("New Alarm Severity") + } + field(ACKS, DBF_MENU) { + interest(2) + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + promptgroup(GUI_ALARMS) + interest(2) + menu(menuYesNo) + prompt("Alarm Ack Transient") + special(SPC_NOMOD) + initial("YES") + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup(GUI_SCAN) + interest(1) + } + field(LCNT, DBF_UCHAR) { + interest(2) + prompt("Lock Count") + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Record active") + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + interest(1) + prompt("Reprocess ") + special(SPC_NOMOD) + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + prompt("Access Security Pvt") + special(SPC_NOMOD) + interest(4) + } + field(PPN, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("pprocessNotify") + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + interest(4) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + interest(4) + prompt("Scan Private") + special(SPC_NOMOD) + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Address of RSET") + interest(4) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + interest(4) + prompt("DSET address") + special(SPC_NOMOD) + extra("struct dset *dset") + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + prompt("Device Private") + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + prompt("Address of dbRecordType") + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + prompt("Lock Set") + special(SPC_NOMOD) + interest(4) + } + field(PRIO, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuPriority) + special(SPC_SCAN) + prompt("Scheduling Priority") + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + special(SPC_NOMOD) + prompt("Break Point") + interest(1) + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + promptgroup(GUI_COMMON) + interest(1) + prompt("Undefined") + initial("1") + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup(GUI_COMMON) + interest(1) + } + field(TIME, DBF_NOACCESS) { + extra("epicsTimeStamp time") + interest(2) + special(SPC_NOMOD) + prompt("Time") + } + field(FLNK, DBF_FWDLINK) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Forward Process Link") + } + field(VAL, DBF_LONG) { + asl(ASL0) + prompt("Current value") + promptgroup(GUI_INPUTS) + pp(TRUE) + } + field(INP, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Input Specification") + } + field(EGU, DBF_STRING) { + prompt("Units name") + size(16) + promptgroup(GUI_DISPLAY) + interest(1) + prop(YES) + } + field(HOPR, DBF_LONG) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("High Operating Range") + prop(YES) + } + field(LOPR, DBF_LONG) { + prop(YES) + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Low Operating Range") + } + field(HIHI, DBF_LONG) { + pp(TRUE) + prop(YES) + prompt("Hihi Alarm Limit") + interest(1) + promptgroup(GUI_ALARMS) + } + field(LOLO, DBF_LONG) { + prop(YES) + pp(TRUE) + interest(1) + promptgroup(GUI_ALARMS) + prompt("Lolo Alarm Limit") + } + field(HIGH, DBF_LONG) { + prop(YES) + pp(TRUE) + interest(1) + promptgroup(GUI_ALARMS) + prompt("High Alarm Limit") + } + field(LOW, DBF_LONG) { + prompt("Low Alarm Limit") + promptgroup(GUI_ALARMS) + interest(1) + pp(TRUE) + prop(YES) + } + field(HHSV, DBF_MENU) { + promptgroup(GUI_ALARMS) + interest(1) + menu(menuAlarmSevr) + prompt("Hihi Severity") + pp(TRUE) + } + field(LLSV, DBF_MENU) { + pp(TRUE) + interest(1) + promptgroup(GUI_ALARMS) + prompt("Lolo Severity") + menu(menuAlarmSevr) + } + field(HSV, DBF_MENU) { + interest(1) + promptgroup(GUI_ALARMS) + prompt("High Severity") + menu(menuAlarmSevr) + pp(TRUE) + } + field(LSV, DBF_MENU) { + pp(TRUE) + menu(menuAlarmSevr) + prompt("Low Severity") + interest(1) + promptgroup(GUI_ALARMS) + } + field(HYST, DBF_LONG) { + prompt("Alarm Deadband") + promptgroup(GUI_ALARMS) + interest(1) + } + field(AFTC, DBF_DOUBLE) { + prompt("Alarm Filter Time Constant") + promptgroup(GUI_ALARMS) + interest(1) + } + field(AFVL, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Alarm Filter Value") + interest(3) + } + field(ADEL, DBF_LONG) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Archive Deadband") + } + field(MDEL, DBF_LONG) { + prompt("Monitor Deadband") + interest(1) + promptgroup(GUI_DISPLAY) + } + field(LALM, DBF_LONG) { + prompt("Last Value Alarmed") + special(SPC_NOMOD) + interest(3) + } + field(ALST, DBF_LONG) { + special(SPC_NOMOD) + prompt("Last Value Archived") + interest(3) + } + field(MLST, DBF_LONG) { + prompt("Last Val Monitored") + special(SPC_NOMOD) + interest(3) + } + field(SIOL, DBF_INLINK) { + prompt("Sim Input Specifctn") + promptgroup(GUI_INPUTS) + interest(1) + } + field(SVAL, DBF_LONG) { + prompt("Simulation Value") + } + field(SIML, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Sim Mode Location") + } + field(SIMM, DBF_MENU) { + interest(1) + prompt("Simulation Mode") + menu(menuYesNo) + } + field(SIMS, DBF_MENU) { + prompt("Sim mode Alarm Svrty") + menu(menuAlarmSevr) + interest(2) + promptgroup(GUI_INPUTS) + } +} +device(longin, CONSTANT, devLiSoft, "Soft Channel") +device(longin, CONSTANT, devLiSoftCallback, "Async Soft Channel") +device(longin, INST_IO, devLiGeneralTime, "General Time") +device(longin, INST_IO, asynLiInt32, "asynInt32") +device(longin, INST_IO, asynLiUInt32Digital, "asynUInt32Digital") +device(longin, INST_IO, devlonginStream, "stream") +recordtype(seq) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + prompt("Record Name") + special(SPC_NOMOD) + size(61) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + promptgroup(GUI_COMMON) + size(41) + } + field(ASG, DBF_STRING) { + special(SPC_AS) + prompt("Access Security Group") + size(29) + promptgroup(GUI_COMMON) + } + field(SCAN, DBF_MENU) { + special(SPC_SCAN) + menu(menuScan) + prompt("Scan Mechanism") + interest(1) + promptgroup(GUI_SCAN) + } + field(PINI, DBF_MENU) { + menu(menuPini) + prompt("Process at iocInit") + promptgroup(GUI_SCAN) + interest(1) + } + field(PHAS, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + special(SPC_SCAN) + prompt("Scan Phase") + } + field(EVNT, DBF_STRING) { + prompt("Event Name") + special(SPC_SCAN) + size(40) + interest(1) + promptgroup(GUI_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + promptgroup(GUI_SCAN) + interest(1) + } + field(TSEL, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + promptgroup(GUI_SCAN) + prompt("Disable Value") + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + interest(4) + prompt("Monitor lock") + special(SPC_NOMOD) + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + prompt("Monitor List") + special(SPC_NOMOD) + interest(4) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + prompt("Force Processing") + interest(3) + pp(TRUE) + } + field(STAT, DBF_MENU) { + initial("UDF") + menu(menuAlarmStat) + prompt("Alarm Status") + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Severity") + } + field(NSTA, DBF_MENU) { + prompt("New Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + interest(2) + } + field(NSEV, DBF_MENU) { + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("New Alarm Severity") + interest(2) + } + field(ACKS, DBF_MENU) { + interest(2) + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + } + field(ACKT, DBF_MENU) { + initial("YES") + promptgroup(GUI_ALARMS) + interest(2) + special(SPC_NOMOD) + menu(menuYesNo) + prompt("Alarm Ack Transient") + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup(GUI_SCAN) + interest(1) + } + field(LCNT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Lock Count") + interest(2) + } + field(PACT, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Record active") + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Reprocess ") + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + special(SPC_NOMOD) + interest(4) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + special(SPC_NOMOD) + prompt("pprocessNotify") + interest(4) + } + field(PPNR, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + prompt("Scan Private") + } + field(RSET, DBF_NOACCESS) { + extra("struct rset *rset") + special(SPC_NOMOD) + prompt("Address of RSET") + interest(4) + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + special(SPC_NOMOD) + prompt("DSET address") + } + field(DPVT, DBF_NOACCESS) { + prompt("Device Private") + special(SPC_NOMOD) + interest(4) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Address of dbRecordType") + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + interest(4) + prompt("Lock Set") + special(SPC_NOMOD) + } + field(PRIO, DBF_MENU) { + menu(menuPriority) + special(SPC_SCAN) + prompt("Scheduling Priority") + interest(1) + promptgroup(GUI_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + interest(1) + prompt("Break Point") + special(SPC_NOMOD) + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + initial("1") + prompt("Undefined") + interest(1) + promptgroup(GUI_COMMON) + } + field(UDFS, DBF_MENU) { + promptgroup(GUI_COMMON) + interest(1) + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + special(SPC_NOMOD) + interest(2) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Process Link") + } + field(VAL, DBF_LONG) { + asl(ASL0) + prompt("Used to trigger") + pp(TRUE) + } + field(SELM, DBF_MENU) { + prompt("Select Mechanism") + menu(seqSELM) + interest(1) + promptgroup(GUI_INPUTS) + } + field(SELN, DBF_USHORT) { + initial("1") + interest(1) + prompt("Link Selection") + } + field(SELL, DBF_INLINK) { + prompt("Link Selection Loc") + promptgroup(GUI_INPUTS) + interest(1) + } + field(OFFS, DBF_SHORT) { + prompt("Offset for Specified") + interest(1) + initial("0") + } + field(SHFT, DBF_SHORT) { + prompt("Shift for Mask mode") + interest(1) + initial("-1") + } + field(OLDN, DBF_USHORT) { + interest(4) + prompt("Old Selection") + } + field(PREC, DBF_SHORT) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Display Precision") + } + field(DLY0, DBF_DOUBLE) { + prompt("Delay 0") + promptgroup(GUI_SEQ1) + interest(1) + } + field(DOL0, DBF_INLINK) { + interest(1) + promptgroup(GUI_SEQ1) + prompt("Input link 0") + } + field(DO0, DBF_DOUBLE) { + interest(1) + prompt("Value 0") + } + field(LNK0, DBF_OUTLINK) { + prompt("Output Link 0") + interest(1) + promptgroup(GUI_SEQ1) + } + field(DLY1, DBF_DOUBLE) { + prompt("Delay 1") + interest(1) + promptgroup(GUI_SEQ1) + } + field(DOL1, DBF_INLINK) { + promptgroup(GUI_SEQ1) + interest(1) + prompt("Input link1") + } + field(DO1, DBF_DOUBLE) { + prompt("Value 1") + interest(1) + } + field(LNK1, DBF_OUTLINK) { + promptgroup(GUI_SEQ1) + interest(1) + prompt("Output Link 1") + } + field(DLY2, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_SEQ1) + prompt("Delay 2") + } + field(DOL2, DBF_INLINK) { + promptgroup(GUI_SEQ1) + interest(1) + prompt("Input link 2") + } + field(DO2, DBF_DOUBLE) { + interest(1) + prompt("Value 2") + } + field(LNK2, DBF_OUTLINK) { + prompt("Output Link 2") + promptgroup(GUI_SEQ1) + interest(1) + } + field(DLY3, DBF_DOUBLE) { + prompt("Delay 3") + interest(1) + promptgroup(GUI_SEQ1) + } + field(DOL3, DBF_INLINK) { + prompt("Input link 3") + interest(1) + promptgroup(GUI_SEQ1) + } + field(DO3, DBF_DOUBLE) { + prompt("Value 3") + interest(1) + } + field(LNK3, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_SEQ1) + prompt("Output Link 3") + } + field(DLY4, DBF_DOUBLE) { + prompt("Delay 4") + promptgroup(GUI_SEQ2) + interest(1) + } + field(DOL4, DBF_INLINK) { + prompt("Input link 4") + interest(1) + promptgroup(GUI_SEQ2) + } + field(DO4, DBF_DOUBLE) { + prompt("Value 4") + interest(1) + } + field(LNK4, DBF_OUTLINK) { + promptgroup(GUI_SEQ2) + interest(1) + prompt("Output Link 4") + } + field(DLY5, DBF_DOUBLE) { + prompt("Delay 5") + promptgroup(GUI_SEQ2) + interest(1) + } + field(DOL5, DBF_INLINK) { + prompt("Input link 5") + promptgroup(GUI_SEQ2) + interest(1) + } + field(DO5, DBF_DOUBLE) { + prompt("Value 5") + interest(1) + } + field(LNK5, DBF_OUTLINK) { + prompt("Output Link 5") + promptgroup(GUI_SEQ2) + interest(1) + } + field(DLY6, DBF_DOUBLE) { + prompt("Delay 6") + interest(1) + promptgroup(GUI_SEQ2) + } + field(DOL6, DBF_INLINK) { + promptgroup(GUI_SEQ2) + interest(1) + prompt("Input link 6") + } + field(DO6, DBF_DOUBLE) { + prompt("Value 6") + interest(1) + } + field(LNK6, DBF_OUTLINK) { + promptgroup(GUI_SEQ2) + interest(1) + prompt("Output Link 6") + } + field(DLY7, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_SEQ3) + prompt("Delay 7") + } + field(DOL7, DBF_INLINK) { + prompt("Input link 7") + promptgroup(GUI_SEQ3) + interest(1) + } + field(DO7, DBF_DOUBLE) { + prompt("Value 7") + interest(1) + } + field(LNK7, DBF_OUTLINK) { + promptgroup(GUI_SEQ3) + interest(1) + prompt("Output Link 7") + } + field(DLY8, DBF_DOUBLE) { + promptgroup(GUI_SEQ3) + interest(1) + prompt("Delay 8") + } + field(DOL8, DBF_INLINK) { + prompt("Input link 8") + interest(1) + promptgroup(GUI_SEQ3) + } + field(DO8, DBF_DOUBLE) { + prompt("Value 8") + interest(1) + } + field(LNK8, DBF_OUTLINK) { + prompt("Output Link 8") + promptgroup(GUI_SEQ3) + interest(1) + } + field(DLY9, DBF_DOUBLE) { + prompt("Delay 9") + interest(1) + promptgroup(GUI_SEQ3) + } + field(DOL9, DBF_INLINK) { + promptgroup(GUI_SEQ3) + interest(1) + prompt("Input link 9") + } + field(DO9, DBF_DOUBLE) { + prompt("Value 9") + interest(1) + } + field(LNK9, DBF_OUTLINK) { + prompt("Output Link 9") + promptgroup(GUI_SEQ3) + interest(1) + } + field(DLYA, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_SEQ3) + prompt("Delay 10") + } + field(DOLA, DBF_INLINK) { + prompt("Input link 10") + interest(1) + promptgroup(GUI_SEQ3) + } + field(DOA, DBF_DOUBLE) { + interest(1) + prompt("Value 10") + } + field(LNKA, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_SEQ3) + prompt("Output Link 10") + } + field(DLYB, DBF_DOUBLE) { + prompt("Delay 11") + promptgroup(GUI_SEQ3) + interest(1) + } + field(DOLB, DBF_INLINK) { + interest(1) + promptgroup(GUI_SEQ3) + prompt("Input link 11") + } + field(DOB, DBF_DOUBLE) { + prompt("Value 11") + interest(1) + } + field(LNKB, DBF_OUTLINK) { + promptgroup(GUI_SEQ3) + interest(1) + prompt("Output Link 11") + } + field(DLYC, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_SEQ3) + prompt("Delay 12") + } + field(DOLC, DBF_INLINK) { + prompt("Input link 12") + promptgroup(GUI_SEQ3) + interest(1) + } + field(DOC, DBF_DOUBLE) { + prompt("Value 12") + interest(1) + } + field(LNKC, DBF_OUTLINK) { + prompt("Output Link 12") + promptgroup(GUI_SEQ3) + interest(1) + } + field(DLYD, DBF_DOUBLE) { + prompt("Delay 13") + promptgroup(GUI_SEQ3) + interest(1) + } + field(DOLD, DBF_INLINK) { + interest(1) + promptgroup(GUI_SEQ3) + prompt("Input link 13") + } + field(DOD, DBF_DOUBLE) { + prompt("Value 13") + interest(1) + } + field(LNKD, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_SEQ3) + prompt("Output Link 13") + } + field(DLYE, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_SEQ3) + prompt("Delay 14") + } + field(DOLE, DBF_INLINK) { + prompt("Input link 14") + promptgroup(GUI_SEQ3) + interest(1) + } + field(DOE, DBF_DOUBLE) { + interest(1) + prompt("Value 14") + } + field(LNKE, DBF_OUTLINK) { + promptgroup(GUI_SEQ3) + interest(1) + prompt("Output Link 14") + } + field(DLYF, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_SEQ3) + prompt("Delay 15") + } + field(DOLF, DBF_INLINK) { + prompt("Input link 15") + promptgroup(GUI_SEQ3) + interest(1) + } + field(DOF, DBF_DOUBLE) { + interest(1) + prompt("Value 15") + } + field(LNKF, DBF_OUTLINK) { + prompt("Output Link 15") + promptgroup(GUI_SEQ3) + interest(1) + } +} +recordtype(scalcout) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + special(SPC_NOMOD) + prompt("Record Name") + size(61) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + size(41) + promptgroup(GUI_COMMON) + } + field(ASG, DBF_STRING) { + promptgroup(GUI_COMMON) + size(29) + prompt("Access Security Group") + special(SPC_AS) + } + field(SCAN, DBF_MENU) { + special(SPC_SCAN) + menu(menuScan) + prompt("Scan Mechanism") + promptgroup(GUI_SCAN) + interest(1) + } + field(PINI, DBF_MENU) { + menu(menuPini) + prompt("Process at iocInit") + promptgroup(GUI_SCAN) + interest(1) + } + field(PHAS, DBF_SHORT) { + special(SPC_SCAN) + prompt("Scan Phase") + promptgroup(GUI_SCAN) + interest(1) + } + field(EVNT, DBF_STRING) { + interest(1) + size(40) + promptgroup(GUI_SCAN) + prompt("Event Name") + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + interest(1) + promptgroup(GUI_SCAN) + } + field(DTYP, DBF_DEVICE) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + promptgroup(GUI_SCAN) + prompt("Disable Value") + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + interest(4) + special(SPC_NOMOD) + prompt("Monitor lock") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + prompt("Monitor List") + special(SPC_NOMOD) + interest(4) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + interest(3) + prompt("Force Processing") + pp(TRUE) + } + field(STAT, DBF_MENU) { + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("Alarm Status") + initial("UDF") + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("Alarm Severity") + } + field(NSTA, DBF_MENU) { + interest(2) + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("New Alarm Status") + } + field(NSEV, DBF_MENU) { + interest(2) + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("New Alarm Severity") + } + field(ACKS, DBF_MENU) { + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + interest(2) + } + field(ACKT, DBF_MENU) { + initial("YES") + promptgroup(GUI_ALARMS) + interest(2) + menu(menuYesNo) + special(SPC_NOMOD) + prompt("Alarm Ack Transient") + } + field(DISS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + interest(1) + promptgroup(GUI_SCAN) + } + field(LCNT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Lock Count") + interest(2) + } + field(PACT, DBF_UCHAR) { + prompt("Record active") + special(SPC_NOMOD) + interest(1) + } + field(PUTF, DBF_UCHAR) { + prompt("dbPutField process") + special(SPC_NOMOD) + interest(1) + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + interest(4) + prompt("Access Security Pvt") + special(SPC_NOMOD) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + prompt("pprocessNotify") + } + field(PPNR, DBF_NOACCESS) { + extra("struct processNotifyRecord *ppnr") + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + interest(4) + } + field(SPVT, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Scan Private") + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + extra("struct rset *rset") + prompt("Address of RSET") + special(SPC_NOMOD) + interest(4) + } + field(DSET, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("DSET address") + interest(4) + extra("struct dset *dset") + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + interest(4) + special(SPC_NOMOD) + prompt("Device Private") + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + interest(4) + special(SPC_NOMOD) + prompt("Address of dbRecordType") + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + special(SPC_NOMOD) + prompt("Lock Set") + interest(4) + } + field(PRIO, DBF_MENU) { + menu(menuPriority) + prompt("Scheduling Priority") + special(SPC_SCAN) + interest(1) + promptgroup(GUI_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + interest(1) + prompt("Break Point") + special(SPC_NOMOD) + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + prompt("Undefined") + promptgroup(GUI_COMMON) + interest(1) + initial("1") + pp(TRUE) + } + field(UDFS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + interest(1) + promptgroup(GUI_COMMON) + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + extra("epicsTimeStamp time") + prompt("Time") + special(SPC_NOMOD) + interest(2) + } + field(FLNK, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Process Link") + } + field(VERS, DBF_DOUBLE) { + initial("1") + prompt("Code Version") + special(SPC_NOMOD) + } + field(RPVT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Record Private") + size(4) + interest(4) + extra("void *rpvt") + } + field(VAL, DBF_DOUBLE) { + prompt("Result") + asl(ASL0) + } + field(SVAL, DBF_STRING) { + prompt("String result") + asl(ASL0) + size(40) + } + field(PVAL, DBF_DOUBLE) { + prompt("Previous Value") + } + field(PSVL, DBF_STRING) { + size(40) + prompt("Previous string result") + special(SPC_NOMOD) + } + field(CALC, DBF_STRING) { + special(SPC_MOD) + prompt("Calculation") + size(80) + promptgroup(GUI_CALC) + pp(TRUE) + } + field(CLCV, DBF_LONG) { + prompt("CALC Valid") + interest(1) + } + field(INPA, DBF_INLINK) { + special(SPC_MOD) + prompt("Input A") + interest(1) + promptgroup(GUI_CALC) + } + field(INPB, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + special(SPC_MOD) + prompt("Input B") + } + field(INPC, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + special(SPC_MOD) + prompt("Input C") + } + field(INPD, DBF_INLINK) { + special(SPC_MOD) + prompt("Input D") + interest(1) + promptgroup(GUI_CALC) + } + field(INPE, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + special(SPC_MOD) + prompt("Input E") + } + field(INPF, DBF_INLINK) { + special(SPC_MOD) + prompt("Input F") + promptgroup(GUI_CALC) + interest(1) + } + field(INPG, DBF_INLINK) { + prompt("Input G") + special(SPC_MOD) + interest(1) + promptgroup(GUI_CALC) + } + field(INPH, DBF_INLINK) { + prompt("Input H") + special(SPC_MOD) + interest(1) + promptgroup(GUI_CALC) + } + field(INPI, DBF_INLINK) { + special(SPC_MOD) + prompt("Input I") + interest(1) + promptgroup(GUI_CALC) + } + field(INPJ, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + special(SPC_MOD) + prompt("Input J") + } + field(INPK, DBF_INLINK) { + special(SPC_MOD) + prompt("Input K") + promptgroup(GUI_CALC) + interest(1) + } + field(INPL, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + prompt("Input L") + special(SPC_MOD) + } + field(INAA, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + special(SPC_MOD) + prompt("String input AA") + } + field(INBB, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + prompt("String input BB") + special(SPC_MOD) + } + field(INCC, DBF_INLINK) { + prompt("String input CC") + special(SPC_MOD) + promptgroup(GUI_CALC) + interest(1) + } + field(INDD, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + special(SPC_MOD) + prompt("String input DD") + } + field(INEE, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + special(SPC_MOD) + prompt("String input EE") + } + field(INFF, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + prompt("String input FF") + special(SPC_MOD) + } + field(INGG, DBF_INLINK) { + special(SPC_MOD) + prompt("String input GG") + interest(1) + promptgroup(GUI_CALC) + } + field(INHH, DBF_INLINK) { + special(SPC_MOD) + prompt("String input HH") + interest(1) + promptgroup(GUI_CALC) + } + field(INII, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + prompt("String input II") + special(SPC_MOD) + } + field(INJJ, DBF_INLINK) { + prompt("String input JJ") + special(SPC_MOD) + promptgroup(GUI_CALC) + interest(1) + } + field(INKK, DBF_INLINK) { + special(SPC_MOD) + prompt("String input KK") + promptgroup(GUI_CALC) + interest(1) + } + field(INLL, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + prompt("String input LL") + special(SPC_MOD) + } + field(OUT, DBF_OUTLINK) { + prompt("Output Link") + special(SPC_MOD) + interest(1) + promptgroup(GUI_OUTPUT) + } + field(INAV, DBF_MENU) { + initial("1") + special(SPC_NOMOD) + menu(scalcoutINAV) + prompt("INPA PV Status") + interest(1) + } + field(INBV, DBF_MENU) { + initial("1") + special(SPC_NOMOD) + menu(scalcoutINAV) + prompt("INPB PV Status") + interest(1) + } + field(INCV, DBF_MENU) { + menu(scalcoutINAV) + special(SPC_NOMOD) + prompt("INPC PV Status") + interest(1) + initial("1") + } + field(INDV, DBF_MENU) { + interest(1) + menu(scalcoutINAV) + prompt("INPD PV Status") + special(SPC_NOMOD) + initial("1") + } + field(INEV, DBF_MENU) { + prompt("INPE PV Status") + menu(scalcoutINAV) + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(INFV, DBF_MENU) { + initial("1") + interest(1) + menu(scalcoutINAV) + prompt("INPF PV Status") + special(SPC_NOMOD) + } + field(INGV, DBF_MENU) { + menu(scalcoutINAV) + special(SPC_NOMOD) + prompt("INPG PV Status") + interest(1) + initial("1") + } + field(INHV, DBF_MENU) { + initial("1") + menu(scalcoutINAV) + special(SPC_NOMOD) + prompt("INPH PV Status") + interest(1) + } + field(INIV, DBF_MENU) { + initial("1") + special(SPC_NOMOD) + menu(scalcoutINAV) + prompt("INPI PV Status") + interest(1) + } + field(INJV, DBF_MENU) { + initial("1") + menu(scalcoutINAV) + prompt("INPJ PV Status") + special(SPC_NOMOD) + interest(1) + } + field(INKV, DBF_MENU) { + special(SPC_NOMOD) + menu(scalcoutINAV) + prompt("INPK PV Status") + interest(1) + initial("1") + } + field(INLV, DBF_MENU) { + initial("1") + special(SPC_NOMOD) + menu(scalcoutINAV) + prompt("INPL PV Status") + interest(1) + } + field(IAAV, DBF_MENU) { + interest(1) + prompt("INAA PV Status") + menu(scalcoutINAV) + special(SPC_NOMOD) + initial("1") + } + field(IBBV, DBF_MENU) { + prompt("INBB PV Status") + menu(scalcoutINAV) + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(ICCV, DBF_MENU) { + interest(1) + menu(scalcoutINAV) + prompt("INCC PV Status") + special(SPC_NOMOD) + initial("1") + } + field(IDDV, DBF_MENU) { + interest(1) + special(SPC_NOMOD) + menu(scalcoutINAV) + prompt("INDD PV Status") + initial("1") + } + field(IEEV, DBF_MENU) { + initial("1") + menu(scalcoutINAV) + special(SPC_NOMOD) + prompt("INEE PV Status") + interest(1) + } + field(IFFV, DBF_MENU) { + initial("1") + menu(scalcoutINAV) + special(SPC_NOMOD) + prompt("INFF PV Status") + interest(1) + } + field(IGGV, DBF_MENU) { + prompt("INGG PV Status") + menu(scalcoutINAV) + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(IHHV, DBF_MENU) { + menu(scalcoutINAV) + prompt("INHH PV Status") + special(SPC_NOMOD) + interest(1) + initial("1") + } + field(IIIV, DBF_MENU) { + initial("1") + interest(1) + menu(scalcoutINAV) + prompt("INII PV Status") + special(SPC_NOMOD) + } + field(IJJV, DBF_MENU) { + initial("1") + interest(1) + menu(scalcoutINAV) + special(SPC_NOMOD) + prompt("INJJ PV Status") + } + field(IKKV, DBF_MENU) { + interest(1) + special(SPC_NOMOD) + menu(scalcoutINAV) + prompt("INKK PV Status") + initial("1") + } + field(ILLV, DBF_MENU) { + initial("1") + special(SPC_NOMOD) + menu(scalcoutINAV) + prompt("INLL PV Status") + interest(1) + } + field(OUTV, DBF_MENU) { + interest(1) + menu(scalcoutINAV) + special(SPC_NOMOD) + prompt("OUT PV Status") + } + field(OOPT, DBF_MENU) { + prompt("Output Execute Opt") + menu(scalcoutOOPT) + interest(1) + promptgroup(GUI_CALC) + } + field(ODLY, DBF_DOUBLE) { + prompt("Output Execute Delay") + asl(ASL0) + promptgroup(GUI_ALARMS) + interest(1) + } + field(WAIT, DBF_MENU) { + prompt("Wait for completion?") + menu(scalcoutWAIT) + interest(1) + } + field(DLYA, DBF_USHORT) { + prompt("Output Delay Active") + asl(ASL0) + special(SPC_NOMOD) + } + field(DOPT, DBF_MENU) { + interest(1) + promptgroup(GUI_CALC) + prompt("Output Data Opt") + menu(scalcoutDOPT) + } + field(OCAL, DBF_STRING) { + special(SPC_MOD) + prompt("Output Calculation") + size(80) + promptgroup(GUI_CALC) + pp(TRUE) + } + field(OCLV, DBF_LONG) { + interest(1) + prompt("OCAL Valid") + } + field(OEVT, DBF_USHORT) { + promptgroup(GUI_CLOCK) + asl(ASL0) + prompt("Event To Issue") + } + field(IVOA, DBF_MENU) { + promptgroup(GUI_OUTPUT) + interest(2) + prompt("INVALID output action") + menu(menuIvoa) + } + field(IVOV, DBF_DOUBLE) { + promptgroup(GUI_OUTPUT) + interest(2) + prompt("INVALID output value") + } + field(EGU, DBF_STRING) { + size(16) + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Units Name") + } + field(PREC, DBF_SHORT) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Display Precision") + } + field(HOPR, DBF_DOUBLE) { + prompt("High Operating Rng") + interest(1) + promptgroup(GUI_DISPLAY) + } + field(LOPR, DBF_DOUBLE) { + prompt("Low Operating Range") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(HIHI, DBF_DOUBLE) { + pp(TRUE) + interest(1) + promptgroup(GUI_ALARMS) + prompt("Hihi Alarm Limit") + } + field(LOLO, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_ALARMS) + prompt("Lolo Alarm Limit") + pp(TRUE) + } + field(HIGH, DBF_DOUBLE) { + prompt("High Alarm Limit") + promptgroup(GUI_ALARMS) + interest(1) + pp(TRUE) + } + field(LOW, DBF_DOUBLE) { + prompt("Low Alarm Limit") + interest(1) + promptgroup(GUI_ALARMS) + pp(TRUE) + } + field(HHSV, DBF_MENU) { + pp(TRUE) + promptgroup(GUI_ALARMS) + interest(1) + menu(menuAlarmSevr) + prompt("Hihi Severity") + } + field(LLSV, DBF_MENU) { + pp(TRUE) + interest(1) + promptgroup(GUI_ALARMS) + prompt("Lolo Severity") + menu(menuAlarmSevr) + } + field(HSV, DBF_MENU) { + promptgroup(GUI_ALARMS) + interest(1) + menu(menuAlarmSevr) + prompt("High Severity") + pp(TRUE) + } + field(LSV, DBF_MENU) { + promptgroup(GUI_ALARMS) + interest(1) + menu(menuAlarmSevr) + prompt("Low Severity") + pp(TRUE) + } + field(HYST, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_ALARMS) + prompt("Alarm Deadband") + } + field(ADEL, DBF_DOUBLE) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Archive Deadband") + } + field(MDEL, DBF_DOUBLE) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Monitor Deadband") + } + field(A, DBF_DOUBLE) { + pp(TRUE) + promptgroup(GUI_COMMON) + prompt("Value of Input A") + } + field(B, DBF_DOUBLE) { + prompt("Value of Input B") + promptgroup(GUI_COMMON) + pp(TRUE) + } + field(C, DBF_DOUBLE) { + pp(TRUE) + promptgroup(GUI_COMMON) + prompt("Value of Input C") + } + field(D, DBF_DOUBLE) { + promptgroup(GUI_COMMON) + prompt("Value of Input D") + pp(TRUE) + } + field(E, DBF_DOUBLE) { + promptgroup(GUI_COMMON) + prompt("Value of Input E") + pp(TRUE) + } + field(F, DBF_DOUBLE) { + promptgroup(GUI_COMMON) + prompt("Value of Input F") + pp(TRUE) + } + field(G, DBF_DOUBLE) { + promptgroup(GUI_COMMON) + prompt("Value of Input G") + pp(TRUE) + } + field(H, DBF_DOUBLE) { + prompt("Value of Input H") + promptgroup(GUI_COMMON) + pp(TRUE) + } + field(I, DBF_DOUBLE) { + pp(TRUE) + promptgroup(GUI_COMMON) + prompt("Value of Input I") + } + field(J, DBF_DOUBLE) { + prompt("Value of Input J") + promptgroup(GUI_COMMON) + pp(TRUE) + } + field(K, DBF_DOUBLE) { + pp(TRUE) + promptgroup(GUI_COMMON) + prompt("Value of Input K") + } + field(L, DBF_DOUBLE) { + prompt("Value of Input L") + promptgroup(GUI_COMMON) + pp(TRUE) + } + field(STRS, DBF_NOACCESS) { + prompt("Array of string pointers") + size(4) + interest(4) + extra("char **strs") + } + field(AA, DBF_STRING) { + promptgroup(GUI_COMMON) + size(40) + interest(4) + prompt("Value of string input AA") + pp(TRUE) + } + field(BB, DBF_STRING) { + pp(TRUE) + prompt("Value of string input BB") + size(40) + promptgroup(GUI_COMMON) + interest(4) + } + field(CC, DBF_STRING) { + pp(TRUE) + interest(4) + size(40) + promptgroup(GUI_COMMON) + prompt("Value of string input CC") + } + field(DD, DBF_STRING) { + pp(TRUE) + prompt("Value of string input DD") + size(40) + interest(4) + promptgroup(GUI_COMMON) + } + field(EE, DBF_STRING) { + pp(TRUE) + size(40) + promptgroup(GUI_COMMON) + interest(4) + prompt("Value of string input EE") + } + field(FF, DBF_STRING) { + pp(TRUE) + prompt("Value of string input FF") + size(40) + promptgroup(GUI_COMMON) + interest(4) + } + field(GG, DBF_STRING) { + pp(TRUE) + interest(4) + size(40) + promptgroup(GUI_COMMON) + prompt("Value of string input GG") + } + field(HH, DBF_STRING) { + pp(TRUE) + interest(4) + size(40) + promptgroup(GUI_COMMON) + prompt("Value of string input HH") + } + field(II, DBF_STRING) { + pp(TRUE) + prompt("Value of string input II") + size(40) + interest(4) + promptgroup(GUI_COMMON) + } + field(JJ, DBF_STRING) { + interest(4) + size(40) + promptgroup(GUI_COMMON) + prompt("Value of string input JJ") + pp(TRUE) + } + field(KK, DBF_STRING) { + pp(TRUE) + size(40) + promptgroup(GUI_COMMON) + interest(4) + prompt("Value of string input KK") + } + field(LL, DBF_STRING) { + pp(TRUE) + prompt("Value of string input LL") + size(40) + interest(4) + promptgroup(GUI_COMMON) + } + field(PAA, DBF_NOACCESS) { + interest(4) + size(4) + special(SPC_DBADDR) + prompt("Prev Value of AA") + extra("char *paa") + } + field(PBB, DBF_NOACCESS) { + prompt("Prev Value of BB") + special(SPC_DBADDR) + size(4) + interest(4) + extra("char *pbb") + } + field(PCC, DBF_NOACCESS) { + prompt("Prev Value of CC") + special(SPC_DBADDR) + interest(4) + size(4) + extra("char *pcc") + } + field(PDD, DBF_NOACCESS) { + extra("char *pdd") + interest(4) + size(4) + prompt("Prev Value of DD") + special(SPC_DBADDR) + } + field(PEE, DBF_NOACCESS) { + extra("char *pee") + special(SPC_DBADDR) + prompt("Prev Value of EE") + interest(4) + size(4) + } + field(PFF, DBF_NOACCESS) { + prompt("Prev Value of FF") + special(SPC_DBADDR) + size(4) + interest(4) + extra("char *pff") + } + field(PGG, DBF_NOACCESS) { + size(4) + interest(4) + prompt("Prev Value of GG") + special(SPC_DBADDR) + extra("char *pgg") + } + field(PHH, DBF_NOACCESS) { + extra("char *phh") + size(4) + interest(4) + prompt("Prev Value of HH") + special(SPC_DBADDR) + } + field(PII, DBF_NOACCESS) { + size(4) + interest(4) + special(SPC_DBADDR) + prompt("Prev Value of II") + extra("char *pii") + } + field(PJJ, DBF_NOACCESS) { + prompt("Prev Value of JJ") + special(SPC_DBADDR) + interest(4) + size(4) + extra("char *pjj") + } + field(PKK, DBF_NOACCESS) { + special(SPC_DBADDR) + prompt("Prev Value of KK") + size(4) + interest(4) + extra("char *pkk") + } + field(PLL, DBF_NOACCESS) { + extra("char *pll") + special(SPC_DBADDR) + prompt("Prev Value of LL") + size(4) + interest(4) + } + field(OVAL, DBF_DOUBLE) { + asl(ASL0) + prompt("Output Value") + } + field(OSV, DBF_STRING) { + prompt("Output string value") + asl(ASL0) + size(40) + } + field(POSV, DBF_STRING) { + size(40) + prompt("Previous output string value") + special(SPC_NOMOD) + } + field(PA, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of A") + interest(3) + } + field(PB, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Value of B") + } + field(PC, DBF_DOUBLE) { + prompt("Prev Value of C") + special(SPC_NOMOD) + interest(3) + } + field(PD, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of D") + special(SPC_NOMOD) + } + field(PE, DBF_DOUBLE) { + prompt("Prev Value of E") + special(SPC_NOMOD) + interest(3) + } + field(PF, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of F") + interest(3) + } + field(PG, DBF_DOUBLE) { + prompt("Prev Value of G") + special(SPC_NOMOD) + interest(3) + } + field(PH, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Prev Value of H") + interest(3) + } + field(PI, DBF_DOUBLE) { + prompt("Prev Value of I") + special(SPC_NOMOD) + interest(3) + } + field(PJ, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Value of J") + } + field(PK, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Prev Value of K") + } + field(PL, DBF_DOUBLE) { + interest(3) + prompt("Prev Value of L") + special(SPC_NOMOD) + } + field(POVL, DBF_DOUBLE) { + prompt("Prev Value of OVAL") + asl(ASL0) + } + field(LALM, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Last Value Alarmed") + interest(3) + } + field(ALST, DBF_DOUBLE) { + interest(3) + special(SPC_NOMOD) + prompt("Last Value Archived") + } + field(MLST, DBF_DOUBLE) { + special(SPC_NOMOD) + prompt("Last Val Monitored") + interest(3) + } + field(RPCL, DBF_NOACCESS) { + interest(4) + prompt("Postfix Calc") + special(SPC_NOMOD) + extra("unsigned char rpcl[282]") + } + field(ORPC, DBF_NOACCESS) { + extra("unsigned char orpc[282]") + prompt("Postfix OCalc") + special(SPC_NOMOD) + interest(4) + } +} +device(scalcout, CONSTANT, devsCalcoutSoft, "Soft Channel") +recordtype(mbbiDirect) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + field(NAME, DBF_STRING) { + special(SPC_NOMOD) + prompt("Record Name") + size(61) + } + field(DESC, DBF_STRING) { + promptgroup(GUI_COMMON) + size(41) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + promptgroup(GUI_COMMON) + size(29) + special(SPC_AS) + prompt("Access Security Group") + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scan Mechanism") + menu(menuScan) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + menu(menuPini) + prompt("Process at iocInit") + interest(1) + promptgroup(GUI_SCAN) + } + field(PHAS, DBF_SHORT) { + special(SPC_SCAN) + prompt("Scan Phase") + promptgroup(GUI_SCAN) + interest(1) + } + field(EVNT, DBF_STRING) { + interest(1) + size(40) + promptgroup(GUI_SCAN) + prompt("Event Name") + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + interest(1) + promptgroup(GUI_SCAN) + } + field(TSEL, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup(GUI_LINKS) + interest(1) + } + field(DISV, DBF_SHORT) { + prompt("Disable Value") + promptgroup(GUI_SCAN) + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Monitor lock") + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + prompt("Monitor List") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + initial("UDF") + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + interest(2) + prompt("New Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("New Alarm Severity") + interest(2) + } + field(ACKS, DBF_MENU) { + interest(2) + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + } + field(ACKT, DBF_MENU) { + promptgroup(GUI_ALARMS) + interest(2) + menu(menuYesNo) + special(SPC_NOMOD) + prompt("Alarm Ack Transient") + initial("YES") + } + field(DISS, DBF_MENU) { + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup(GUI_SCAN) + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + special(SPC_NOMOD) + interest(2) + } + field(PACT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Record active") + interest(1) + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Reprocess ") + interest(1) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + special(SPC_NOMOD) + interest(4) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("pprocessNotify") + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + extra("struct processNotifyRecord *ppnr") + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + interest(4) + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + special(SPC_NOMOD) + interest(4) + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + extra("struct rset *rset") + special(SPC_NOMOD) + prompt("Address of RSET") + interest(4) + } + field(DSET, DBF_NOACCESS) { + prompt("DSET address") + special(SPC_NOMOD) + interest(4) + extra("struct dset *dset") + } + field(DPVT, DBF_NOACCESS) { + extra("void *dpvt") + special(SPC_NOMOD) + prompt("Device Private") + interest(4) + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + interest(4) + prompt("Address of dbRecordType") + special(SPC_NOMOD) + } + field(LSET, DBF_NOACCESS) { + interest(4) + prompt("Lock Set") + special(SPC_NOMOD) + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuPriority) + prompt("Scheduling Priority") + special(SPC_SCAN) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + special(SPC_NOMOD) + prompt("Break Point") + interest(1) + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + initial("1") + prompt("Undefined") + promptgroup(GUI_COMMON) + interest(1) + } + field(UDFS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + interest(1) + promptgroup(GUI_COMMON) + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + prompt("Time") + special(SPC_NOMOD) + interest(2) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + interest(1) + promptgroup(GUI_LINKS) + } + field(VAL, DBF_USHORT) { + asl(ASL0) + prompt("Current Value") + promptgroup(GUI_INPUTS) + pp(TRUE) + } + field(NOBT, DBF_SHORT) { + special(SPC_NOMOD) + prompt("Number of Bits") + interest(1) + promptgroup(GUI_MBB) + } + field(INP, DBF_INLINK) { + interest(1) + promptgroup(GUI_MBB) + prompt("Input Specification") + } + field(RVAL, DBF_ULONG) { + prompt("Raw Value") + pp(TRUE) + } + field(ORAW, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Prev Raw Value") + interest(3) + } + field(MASK, DBF_ULONG) { + prompt("Hardware Mask") + special(SPC_NOMOD) + interest(1) + } + field(MLST, DBF_USHORT) { + interest(3) + special(SPC_NOMOD) + prompt("Last Value Monitored") + } + field(SHFT, DBF_USHORT) { + prompt("Shift") + promptgroup(GUI_MBB) + interest(1) + } + field(SIOL, DBF_INLINK) { + promptgroup(GUI_MBB) + interest(1) + prompt("Sim Input Specifctn") + } + field(SVAL, DBF_ULONG) { + prompt("Simulation Value") + } + field(SIML, DBF_INLINK) { + promptgroup(GUI_MBB) + interest(1) + prompt("Sim Mode Location") + } + field(SIMM, DBF_MENU) { + interest(1) + prompt("Simulation Mode") + menu(menuSimm) + } + field(SIMS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Sim mode Alarm Svrty") + promptgroup(GUI_MBB) + interest(2) + } + field(B0, DBF_UCHAR) { + interest(1) + prompt("Bit 0") + pp(TRUE) + } + field(B1, DBF_UCHAR) { + prompt("Bit 1") + interest(1) + pp(TRUE) + } + field(B2, DBF_UCHAR) { + interest(1) + prompt("Bit 2") + pp(TRUE) + } + field(B3, DBF_UCHAR) { + pp(TRUE) + interest(1) + prompt("Bit 3") + } + field(B4, DBF_UCHAR) { + pp(TRUE) + interest(1) + prompt("Bit 4") + } + field(B5, DBF_UCHAR) { + pp(TRUE) + interest(1) + prompt("Bit 5") + } + field(B6, DBF_UCHAR) { + pp(TRUE) + prompt("Bit 6") + interest(1) + } + field(B7, DBF_UCHAR) { + prompt("Bit 7") + interest(1) + pp(TRUE) + } + field(B8, DBF_UCHAR) { + interest(1) + prompt("Bit 8") + pp(TRUE) + } + field(B9, DBF_UCHAR) { + prompt("Bit 9") + interest(1) + pp(TRUE) + } + field(BA, DBF_UCHAR) { + interest(1) + prompt("Bit A") + pp(TRUE) + } + field(BB, DBF_UCHAR) { + pp(TRUE) + prompt("Bit B") + interest(1) + } + field(BC, DBF_UCHAR) { + pp(TRUE) + prompt("Bit C") + interest(1) + } + field(BD, DBF_UCHAR) { + interest(1) + prompt("Bit D") + pp(TRUE) + } + field(BE, DBF_UCHAR) { + prompt("Bit E") + interest(1) + pp(TRUE) + } + field(BF, DBF_UCHAR) { + prompt("Bit F") + interest(1) + pp(TRUE) + } +} +device(mbbiDirect, CONSTANT, devMbbiDirectSoft, "Soft Channel") +device(mbbiDirect, CONSTANT, devMbbiDirectSoftRaw, "Raw Soft Channel") +device(mbbiDirect, CONSTANT, devMbbiDirectSoftCallback, "Async Soft Channel") +device(mbbiDirect, INST_IO, asynMbbiDirectUInt32Digital, "asynUInt32Digital") +device(mbbiDirect, INST_IO, devmbbiDirectStream, "stream") +recordtype(aSub) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + %struct aSubRecord; + field(NAME, DBF_STRING) { + size(61) + special(SPC_NOMOD) + prompt("Record Name") + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + promptgroup(GUI_COMMON) + size(41) + } + field(ASG, DBF_STRING) { + special(SPC_AS) + prompt("Access Security Group") + promptgroup(GUI_COMMON) + size(29) + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scan Mechanism") + menu(menuScan) + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuPini) + prompt("Process at iocInit") + } + field(PHAS, DBF_SHORT) { + prompt("Scan Phase") + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(EVNT, DBF_STRING) { + interest(1) + promptgroup(GUI_SCAN) + size(40) + special(SPC_SCAN) + prompt("Event Name") + } + field(TSE, DBF_SHORT) { + prompt("Time Stamp Event") + interest(1) + promptgroup(GUI_SCAN) + } + field(TSEL, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Device Type") + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup(GUI_SCAN) + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup(GUI_SCAN) + interest(1) + } + field(MLOK, DBF_NOACCESS) { + extra("epicsMutexId mlok") + special(SPC_NOMOD) + prompt("Monitor lock") + interest(4) + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + interest(4) + special(SPC_NOMOD) + prompt("Monitor List") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + interest(3) + prompt("Force Processing") + } + field(STAT, DBF_MENU) { + initial("UDF") + menu(menuAlarmStat) + prompt("Alarm Status") + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Alarm Severity") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + menu(menuAlarmStat) + prompt("New Alarm Status") + special(SPC_NOMOD) + interest(2) + } + field(NSEV, DBF_MENU) { + interest(2) + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("New Alarm Severity") + } + field(ACKS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + special(SPC_NOMOD) + interest(2) + } + field(ACKT, DBF_MENU) { + initial("YES") + menu(menuYesNo) + special(SPC_NOMOD) + prompt("Alarm Ack Transient") + interest(2) + promptgroup(GUI_ALARMS) + } + field(DISS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + promptgroup(GUI_SCAN) + interest(1) + } + field(LCNT, DBF_UCHAR) { + prompt("Lock Count") + special(SPC_NOMOD) + interest(2) + } + field(PACT, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Record active") + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + special(SPC_NOMOD) + interest(1) + } + field(ASP, DBF_NOACCESS) { + prompt("Access Security Pvt") + special(SPC_NOMOD) + interest(4) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + extra("struct processNotify *ppn") + interest(4) + special(SPC_NOMOD) + prompt("pprocessNotify") + } + field(PPNR, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + interest(4) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + interest(4) + prompt("Scan Private") + special(SPC_NOMOD) + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + interest(4) + prompt("Address of RSET") + special(SPC_NOMOD) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + special(SPC_NOMOD) + prompt("DSET address") + } + field(DPVT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Device Private") + interest(4) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + interest(4) + prompt("Address of dbRecordType") + special(SPC_NOMOD) + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + prompt("Lock Set") + special(SPC_NOMOD) + interest(4) + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + menu(menuPriority) + prompt("Scheduling Priority") + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + special(SPC_NOMOD) + prompt("Break Point") + interest(1) + } + field(UDF, DBF_UCHAR) { + prompt("Undefined") + promptgroup(GUI_COMMON) + interest(1) + initial("1") + pp(TRUE) + } + field(UDFS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + interest(1) + promptgroup(GUI_COMMON) + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + interest(2) + special(SPC_NOMOD) + prompt("Time") + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + promptgroup(GUI_LINKS) + interest(1) + prompt("Forward Process Link") + } + field(VAL, DBF_LONG) { + prompt("Subr. return value") + asl(ASL0) + } + field(OVAL, DBF_LONG) { + prompt("Old return value") + special(SPC_NOMOD) + interest(3) + } + field(INAM, DBF_STRING) { + size(41) + promptgroup(GUI_SUB) + interest(1) + prompt("Initialize Subr. Name") + special(SPC_NOMOD) + } + field(LFLG, DBF_MENU) { + interest(1) + promptgroup(GUI_SUB) + menu(aSubLFLG) + prompt("Subr. Input Enable") + } + field(SUBL, DBF_INLINK) { + interest(1) + promptgroup(GUI_SUB) + special(SPC_NOMOD) + prompt("Subroutine Name Link") + } + field(SNAM, DBF_STRING) { + prompt("Process Subr. Name") + special(SPC_MOD) + interest(1) + size(41) + promptgroup(GUI_SUB) + } + field(ONAM, DBF_STRING) { + interest(3) + size(41) + promptgroup(GUI_SUB) + prompt("Old Subr. Name") + special(SPC_NOMOD) + } + field(SADR, DBF_NOACCESS) { + extra("long (*sadr)(struct aSubRecord *)") + interest(2) + prompt("Subroutine Address") + special(SPC_NOMOD) + } + field(CADR, DBF_NOACCESS) { + prompt("Subroutine Cleanup Address") + special(SPC_NOMOD) + interest(2) + extra("void (*cadr)(struct aSubRecord *)") + } + field(BRSV, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Bad Return Severity") + interest(1) + promptgroup(GUI_SUB) + pp(TRUE) + } + field(PREC, DBF_SHORT) { + prompt("Display Precision") + interest(1) + promptgroup(GUI_DISPLAY) + prop(YES) + } + field(EFLG, DBF_MENU) { + initial("1") + menu(aSubEFLG) + prompt("Output Event Flag") + promptgroup(GUI_OUTPUT) + interest(1) + } + field(INPA, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input Link A") + } + field(INPB, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input Link B") + } + field(INPC, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input Link C") + } + field(INPD, DBF_INLINK) { + prompt("Input Link D") + promptgroup(GUI_INPUTS) + interest(1) + } + field(INPE, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Input Link E") + } + field(INPF, DBF_INLINK) { + prompt("Input Link F") + promptgroup(GUI_INPUTS) + interest(1) + } + field(INPG, DBF_INLINK) { + prompt("Input Link G") + interest(1) + promptgroup(GUI_INPUTS) + } + field(INPH, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input Link H") + } + field(INPI, DBF_INLINK) { + prompt("Input Link I") + promptgroup(GUI_INPUTS) + interest(1) + } + field(INPJ, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Input Link J") + } + field(INPK, DBF_INLINK) { + prompt("Input Link K") + promptgroup(GUI_INPUTS) + interest(1) + } + field(INPL, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input Link L") + } + field(INPM, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input Link M") + } + field(INPN, DBF_INLINK) { + prompt("Input Link N") + interest(1) + promptgroup(GUI_INPUTS) + } + field(INPO, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Input Link O") + } + field(INPP, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Input Link P") + } + field(INPQ, DBF_INLINK) { + prompt("Input Link Q") + interest(1) + promptgroup(GUI_INPUTS) + } + field(INPR, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input Link R") + } + field(INPS, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Input Link S") + } + field(INPT, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Input Link T") + } + field(INPU, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Input Link U") + } + field(A, DBF_NOACCESS) { + special(SPC_DBADDR) + prompt("Input value A") + asl(ASL0) + interest(2) + extra("void *a") + } + field(B, DBF_NOACCESS) { + special(SPC_DBADDR) + prompt("Input value B") + asl(ASL0) + interest(2) + extra("void *b") + } + field(C, DBF_NOACCESS) { + interest(2) + special(SPC_DBADDR) + prompt("Input value C") + asl(ASL0) + extra("void *c") + } + field(D, DBF_NOACCESS) { + extra("void *d") + special(SPC_DBADDR) + asl(ASL0) + prompt("Input value D") + interest(2) + } + field(E, DBF_NOACCESS) { + asl(ASL0) + special(SPC_DBADDR) + prompt("Input value E") + interest(2) + extra("void *e") + } + field(F, DBF_NOACCESS) { + asl(ASL0) + special(SPC_DBADDR) + prompt("Input value F") + interest(2) + extra("void *f") + } + field(G, DBF_NOACCESS) { + interest(2) + special(SPC_DBADDR) + prompt("Input value G") + asl(ASL0) + extra("void *g") + } + field(H, DBF_NOACCESS) { + asl(ASL0) + special(SPC_DBADDR) + prompt("Input value H") + interest(2) + extra("void *h") + } + field(I, DBF_NOACCESS) { + prompt("Input value I") + special(SPC_DBADDR) + asl(ASL0) + interest(2) + extra("void *i") + } + field(J, DBF_NOACCESS) { + interest(2) + asl(ASL0) + special(SPC_DBADDR) + prompt("Input value J") + extra("void *j") + } + field(K, DBF_NOACCESS) { + interest(2) + asl(ASL0) + special(SPC_DBADDR) + prompt("Input value K") + extra("void *k") + } + field(L, DBF_NOACCESS) { + extra("void *l") + asl(ASL0) + special(SPC_DBADDR) + prompt("Input value L") + interest(2) + } + field(M, DBF_NOACCESS) { + extra("void *m") + special(SPC_DBADDR) + prompt("Input value M") + asl(ASL0) + interest(2) + } + field(N, DBF_NOACCESS) { + extra("void *n") + prompt("Input value N") + special(SPC_DBADDR) + asl(ASL0) + interest(2) + } + field(O, DBF_NOACCESS) { + extra("void *o") + interest(2) + prompt("Input value O") + special(SPC_DBADDR) + asl(ASL0) + } + field(P, DBF_NOACCESS) { + extra("void *p") + interest(2) + asl(ASL0) + special(SPC_DBADDR) + prompt("Input value P") + } + field(Q, DBF_NOACCESS) { + interest(2) + asl(ASL0) + special(SPC_DBADDR) + prompt("Input value Q") + extra("void *q") + } + field(R, DBF_NOACCESS) { + special(SPC_DBADDR) + prompt("Input value R") + asl(ASL0) + interest(2) + extra("void *r") + } + field(S, DBF_NOACCESS) { + asl(ASL0) + special(SPC_DBADDR) + prompt("Input value S") + interest(2) + extra("void *s") + } + field(T, DBF_NOACCESS) { + asl(ASL0) + special(SPC_DBADDR) + prompt("Input value T") + interest(2) + extra("void *t") + } + field(U, DBF_NOACCESS) { + extra("void *u") + interest(2) + prompt("Input value U") + special(SPC_DBADDR) + asl(ASL0) + } + field(FTA, DBF_MENU) { + interest(1) + promptgroup(GUI_WAVE) + prompt("Type of A") + menu(menuFtype) + special(SPC_NOMOD) + initial("DOUBLE") + } + field(FTB, DBF_MENU) { + prompt("Type of B") + menu(menuFtype) + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + initial("DOUBLE") + } + field(FTC, DBF_MENU) { + initial("DOUBLE") + promptgroup(GUI_WAVE) + interest(1) + menu(menuFtype) + prompt("Type of C") + special(SPC_NOMOD) + } + field(FTD, DBF_MENU) { + initial("DOUBLE") + interest(1) + promptgroup(GUI_WAVE) + prompt("Type of D") + menu(menuFtype) + special(SPC_NOMOD) + } + field(FTE, DBF_MENU) { + initial("DOUBLE") + interest(1) + promptgroup(GUI_WAVE) + menu(menuFtype) + special(SPC_NOMOD) + prompt("Type of E") + } + field(FTF, DBF_MENU) { + promptgroup(GUI_WAVE) + interest(1) + prompt("Type of F") + menu(menuFtype) + special(SPC_NOMOD) + initial("DOUBLE") + } + field(FTG, DBF_MENU) { + initial("DOUBLE") + menu(menuFtype) + special(SPC_NOMOD) + prompt("Type of G") + promptgroup(GUI_WAVE) + interest(1) + } + field(FTH, DBF_MENU) { + initial("DOUBLE") + special(SPC_NOMOD) + menu(menuFtype) + prompt("Type of H") + interest(1) + promptgroup(GUI_WAVE) + } + field(FTI, DBF_MENU) { + initial("DOUBLE") + interest(1) + promptgroup(GUI_WAVE) + menu(menuFtype) + prompt("Type of I") + special(SPC_NOMOD) + } + field(FTJ, DBF_MENU) { + initial("DOUBLE") + prompt("Type of J") + menu(menuFtype) + special(SPC_NOMOD) + interest(1) + promptgroup(GUI_WAVE) + } + field(FTK, DBF_MENU) { + special(SPC_NOMOD) + menu(menuFtype) + prompt("Type of K") + promptgroup(GUI_WAVE) + interest(1) + initial("DOUBLE") + } + field(FTL, DBF_MENU) { + initial("DOUBLE") + special(SPC_NOMOD) + menu(menuFtype) + prompt("Type of L") + interest(1) + promptgroup(GUI_WAVE) + } + field(FTM, DBF_MENU) { + prompt("Type of M") + menu(menuFtype) + special(SPC_NOMOD) + interest(1) + promptgroup(GUI_WAVE) + initial("DOUBLE") + } + field(FTN, DBF_MENU) { + interest(1) + promptgroup(GUI_WAVE) + special(SPC_NOMOD) + menu(menuFtype) + prompt("Type of N") + initial("DOUBLE") + } + field(FTO, DBF_MENU) { + special(SPC_NOMOD) + menu(menuFtype) + prompt("Type of O") + interest(1) + promptgroup(GUI_WAVE) + initial("DOUBLE") + } + field(FTP, DBF_MENU) { + initial("DOUBLE") + promptgroup(GUI_WAVE) + interest(1) + prompt("Type of P") + menu(menuFtype) + special(SPC_NOMOD) + } + field(FTQ, DBF_MENU) { + promptgroup(GUI_WAVE) + interest(1) + special(SPC_NOMOD) + menu(menuFtype) + prompt("Type of Q") + initial("DOUBLE") + } + field(FTR, DBF_MENU) { + initial("DOUBLE") + prompt("Type of R") + menu(menuFtype) + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + } + field(FTS, DBF_MENU) { + initial("DOUBLE") + prompt("Type of S") + menu(menuFtype) + special(SPC_NOMOD) + interest(1) + promptgroup(GUI_WAVE) + } + field(FTT, DBF_MENU) { + initial("DOUBLE") + prompt("Type of T") + menu(menuFtype) + special(SPC_NOMOD) + interest(1) + promptgroup(GUI_WAVE) + } + field(FTU, DBF_MENU) { + menu(menuFtype) + special(SPC_NOMOD) + prompt("Type of U") + interest(1) + promptgroup(GUI_WAVE) + initial("DOUBLE") + } + field(NOA, DBF_ULONG) { + initial("1") + prompt("Max. elements in A") + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + } + field(NOB, DBF_ULONG) { + initial("1") + special(SPC_NOMOD) + prompt("Max. elements in B") + promptgroup(GUI_WAVE) + interest(1) + } + field(NOC, DBF_ULONG) { + initial("1") + special(SPC_NOMOD) + prompt("Max. elements in C") + interest(1) + promptgroup(GUI_WAVE) + } + field(NOD, DBF_ULONG) { + initial("1") + interest(1) + promptgroup(GUI_WAVE) + prompt("Max. elements in D") + special(SPC_NOMOD) + } + field(NOE, DBF_ULONG) { + initial("1") + interest(1) + promptgroup(GUI_WAVE) + prompt("Max. elements in E") + special(SPC_NOMOD) + } + field(NOF, DBF_ULONG) { + initial("1") + promptgroup(GUI_WAVE) + interest(1) + prompt("Max. elements in F") + special(SPC_NOMOD) + } + field(NOG, DBF_ULONG) { + initial("1") + prompt("Max. elements in G") + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + } + field(NOH, DBF_ULONG) { + initial("1") + prompt("Max. elements in H") + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + } + field(NOI, DBF_ULONG) { + interest(1) + promptgroup(GUI_WAVE) + special(SPC_NOMOD) + prompt("Max. elements in I") + initial("1") + } + field(NOJ, DBF_ULONG) { + prompt("Max. elements in J") + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + initial("1") + } + field(NOK, DBF_ULONG) { + prompt("Max. elements in K") + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + initial("1") + } + field(NOL, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Max. elements in L") + promptgroup(GUI_WAVE) + interest(1) + initial("1") + } + field(NOM, DBF_ULONG) { + initial("1") + interest(1) + promptgroup(GUI_WAVE) + special(SPC_NOMOD) + prompt("Max. elements in M") + } + field(NON, DBF_ULONG) { + initial("1") + promptgroup(GUI_WAVE) + interest(1) + prompt("Max. elements in N") + special(SPC_NOMOD) + } + field(NOO, DBF_ULONG) { + initial("1") + promptgroup(GUI_WAVE) + interest(1) + prompt("Max. elements in O") + special(SPC_NOMOD) + } + field(NOP, DBF_ULONG) { + initial("1") + promptgroup(GUI_WAVE) + interest(1) + prompt("Max. elements in P") + special(SPC_NOMOD) + } + field(NOQ, DBF_ULONG) { + initial("1") + special(SPC_NOMOD) + prompt("Max. elements in Q") + interest(1) + promptgroup(GUI_WAVE) + } + field(NOR, DBF_ULONG) { + interest(1) + promptgroup(GUI_WAVE) + special(SPC_NOMOD) + prompt("Max. elements in R") + initial("1") + } + field(NOS, DBF_ULONG) { + promptgroup(GUI_WAVE) + interest(1) + special(SPC_NOMOD) + prompt("Max. elements in S") + initial("1") + } + field(NOT, DBF_ULONG) { + promptgroup(GUI_WAVE) + interest(1) + prompt("Max. elements in T") + special(SPC_NOMOD) + initial("1") + } + field(NOU, DBF_ULONG) { + initial("1") + promptgroup(GUI_WAVE) + interest(1) + prompt("Max. elements in U") + special(SPC_NOMOD) + } + field(NEA, DBF_ULONG) { + initial("1") + interest(3) + promptgroup(GUI_WAVE) + special(SPC_NOMOD) + prompt("Num. elements in A") + } + field(NEB, DBF_ULONG) { + interest(3) + promptgroup(GUI_WAVE) + special(SPC_NOMOD) + prompt("Num. elements in B") + initial("1") + } + field(NEC, DBF_ULONG) { + promptgroup(GUI_WAVE) + interest(3) + special(SPC_NOMOD) + prompt("Num. elements in C") + initial("1") + } + field(NED, DBF_ULONG) { + promptgroup(GUI_WAVE) + interest(3) + prompt("Num. elements in D") + special(SPC_NOMOD) + initial("1") + } + field(NEE, DBF_ULONG) { + initial("1") + special(SPC_NOMOD) + prompt("Num. elements in E") + interest(3) + promptgroup(GUI_WAVE) + } + field(NEF, DBF_ULONG) { + initial("1") + prompt("Num. elements in F") + special(SPC_NOMOD) + interest(3) + promptgroup(GUI_WAVE) + } + field(NEG, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Num. elements in G") + interest(3) + promptgroup(GUI_WAVE) + initial("1") + } + field(NEH, DBF_ULONG) { + initial("1") + promptgroup(GUI_WAVE) + interest(3) + special(SPC_NOMOD) + prompt("Num. elements in H") + } + field(NEI, DBF_ULONG) { + prompt("Num. elements in I") + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(3) + initial("1") + } + field(NEJ, DBF_ULONG) { + initial("1") + special(SPC_NOMOD) + prompt("Num. elements in J") + interest(3) + promptgroup(GUI_WAVE) + } + field(NEK, DBF_ULONG) { + interest(3) + promptgroup(GUI_WAVE) + prompt("Num. elements in K") + special(SPC_NOMOD) + initial("1") + } + field(NEL, DBF_ULONG) { + initial("1") + promptgroup(GUI_WAVE) + interest(3) + special(SPC_NOMOD) + prompt("Num. elements in L") + } + field(NEM, DBF_ULONG) { + prompt("Num. elements in M") + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(3) + initial("1") + } + field(NEN, DBF_ULONG) { + initial("1") + prompt("Num. elements in N") + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(3) + } + field(NEO, DBF_ULONG) { + initial("1") + prompt("Num. elements in O") + special(SPC_NOMOD) + interest(3) + promptgroup(GUI_WAVE) + } + field(NEP, DBF_ULONG) { + prompt("Num. elements in P") + special(SPC_NOMOD) + interest(3) + promptgroup(GUI_WAVE) + initial("1") + } + field(NEQ, DBF_ULONG) { + initial("1") + interest(3) + promptgroup(GUI_WAVE) + prompt("Num. elements in Q") + special(SPC_NOMOD) + } + field(NER, DBF_ULONG) { + prompt("Num. elements in R") + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(3) + initial("1") + } + field(NES, DBF_ULONG) { + prompt("Num. elements in S") + special(SPC_NOMOD) + interest(3) + promptgroup(GUI_WAVE) + initial("1") + } + field(NET, DBF_ULONG) { + initial("1") + prompt("Num. elements in T") + special(SPC_NOMOD) + interest(3) + promptgroup(GUI_WAVE) + } + field(NEU, DBF_ULONG) { + initial("1") + special(SPC_NOMOD) + prompt("Num. elements in U") + interest(3) + promptgroup(GUI_WAVE) + } + field(OUTA, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_OUTPUT) + prompt("Output Link A") + } + field(OUTB, DBF_OUTLINK) { + prompt("Output Link B") + promptgroup(GUI_OUTPUT) + interest(1) + } + field(OUTC, DBF_OUTLINK) { + prompt("Output Link C") + promptgroup(GUI_OUTPUT) + interest(1) + } + field(OUTD, DBF_OUTLINK) { + prompt("Output Link D") + interest(1) + promptgroup(GUI_OUTPUT) + } + field(OUTE, DBF_OUTLINK) { + prompt("Output Link E") + interest(1) + promptgroup(GUI_OUTPUT) + } + field(OUTF, DBF_OUTLINK) { + prompt("Output Link F") + interest(1) + promptgroup(GUI_OUTPUT) + } + field(OUTG, DBF_OUTLINK) { + prompt("Output Link G") + promptgroup(GUI_OUTPUT) + interest(1) + } + field(OUTH, DBF_OUTLINK) { + prompt("Output Link H") + interest(1) + promptgroup(GUI_OUTPUT) + } + field(OUTI, DBF_OUTLINK) { + prompt("Output Link I") + promptgroup(GUI_OUTPUT) + interest(1) + } + field(OUTJ, DBF_OUTLINK) { + promptgroup(GUI_OUTPUT) + interest(1) + prompt("Output Link J") + } + field(OUTK, DBF_OUTLINK) { + prompt("Output Link K") + promptgroup(GUI_OUTPUT) + interest(1) + } + field(OUTL, DBF_OUTLINK) { + prompt("Output Link L") + promptgroup(GUI_OUTPUT) + interest(1) + } + field(OUTM, DBF_OUTLINK) { + prompt("Output Link M") + interest(1) + promptgroup(GUI_OUTPUT) + } + field(OUTN, DBF_OUTLINK) { + prompt("Output Link N") + interest(1) + promptgroup(GUI_OUTPUT) + } + field(OUTO, DBF_OUTLINK) { + promptgroup(GUI_OUTPUT) + interest(1) + prompt("Output Link O") + } + field(OUTP, DBF_OUTLINK) { + promptgroup(GUI_OUTPUT) + interest(1) + prompt("Output Link P") + } + field(OUTQ, DBF_OUTLINK) { + prompt("Output Link Q") + interest(1) + promptgroup(GUI_OUTPUT) + } + field(OUTR, DBF_OUTLINK) { + promptgroup(GUI_OUTPUT) + interest(1) + prompt("Output Link R") + } + field(OUTS, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_OUTPUT) + prompt("Output Link S") + } + field(OUTT, DBF_OUTLINK) { + prompt("Output Link T") + promptgroup(GUI_OUTPUT) + interest(1) + } + field(OUTU, DBF_OUTLINK) { + promptgroup(GUI_OUTPUT) + interest(1) + prompt("Output Link U") + } + field(VALA, DBF_NOACCESS) { + prompt("Output value A") + special(SPC_DBADDR) + asl(ASL0) + interest(2) + extra("void *vala") + } + field(VALB, DBF_NOACCESS) { + interest(2) + special(SPC_DBADDR) + asl(ASL0) + prompt("Output value B") + extra("void *valb") + } + field(VALC, DBF_NOACCESS) { + special(SPC_DBADDR) + prompt("Output value C") + asl(ASL0) + interest(2) + extra("void *valc") + } + field(VALD, DBF_NOACCESS) { + interest(2) + special(SPC_DBADDR) + asl(ASL0) + prompt("Output value D") + extra("void *vald") + } + field(VALE, DBF_NOACCESS) { + interest(2) + asl(ASL0) + special(SPC_DBADDR) + prompt("Output value E") + extra("void *vale") + } + field(VALF, DBF_NOACCESS) { + extra("void *valf") + prompt("Output value F") + special(SPC_DBADDR) + asl(ASL0) + interest(2) + } + field(VALG, DBF_NOACCESS) { + prompt("Output value G") + special(SPC_DBADDR) + asl(ASL0) + interest(2) + extra("void *valg") + } + field(VALH, DBF_NOACCESS) { + asl(ASL0) + special(SPC_DBADDR) + prompt("Output value H") + interest(2) + extra("void *valh") + } + field(VALI, DBF_NOACCESS) { + prompt("Output value I") + special(SPC_DBADDR) + asl(ASL0) + interest(2) + extra("void *vali") + } + field(VALJ, DBF_NOACCESS) { + extra("void *valj") + interest(2) + prompt("Output value J") + special(SPC_DBADDR) + asl(ASL0) + } + field(VALK, DBF_NOACCESS) { + extra("void *valk") + prompt("Output value K") + special(SPC_DBADDR) + asl(ASL0) + interest(2) + } + field(VALL, DBF_NOACCESS) { + extra("void *vall") + special(SPC_DBADDR) + prompt("Output value L") + asl(ASL0) + interest(2) + } + field(VALM, DBF_NOACCESS) { + interest(2) + special(SPC_DBADDR) + prompt("Output value M") + asl(ASL0) + extra("void *valm") + } + field(VALN, DBF_NOACCESS) { + prompt("Output value N") + special(SPC_DBADDR) + asl(ASL0) + interest(2) + extra("void *valn") + } + field(VALO, DBF_NOACCESS) { + extra("void *valo") + interest(2) + prompt("Output value O") + special(SPC_DBADDR) + asl(ASL0) + } + field(VALP, DBF_NOACCESS) { + prompt("Output value P") + special(SPC_DBADDR) + asl(ASL0) + interest(2) + extra("void *valp") + } + field(VALQ, DBF_NOACCESS) { + interest(2) + special(SPC_DBADDR) + asl(ASL0) + prompt("Output value Q") + extra("void *valq") + } + field(VALR, DBF_NOACCESS) { + interest(2) + special(SPC_DBADDR) + asl(ASL0) + prompt("Output value R") + extra("void *valr") + } + field(VALS, DBF_NOACCESS) { + extra("void *vals") + interest(2) + special(SPC_DBADDR) + prompt("Output value S") + asl(ASL0) + } + field(VALT, DBF_NOACCESS) { + extra("void *valt") + interest(2) + prompt("Output value T") + special(SPC_DBADDR) + asl(ASL0) + } + field(VALU, DBF_NOACCESS) { + extra("void *valu") + prompt("Output value U") + special(SPC_DBADDR) + asl(ASL0) + interest(2) + } + field(OVLA, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Old Output A") + asl(ASL0) + extra("void *ovla") + } + field(OVLB, DBF_NOACCESS) { + extra("void *ovlb") + interest(4) + special(SPC_NOMOD) + prompt("Old Output B") + asl(ASL0) + } + field(OVLC, DBF_NOACCESS) { + extra("void *ovlc") + interest(4) + asl(ASL0) + special(SPC_NOMOD) + prompt("Old Output C") + } + field(OVLD, DBF_NOACCESS) { + prompt("Old Output D") + special(SPC_NOMOD) + asl(ASL0) + interest(4) + extra("void *ovld") + } + field(OVLE, DBF_NOACCESS) { + extra("void *ovle") + interest(4) + asl(ASL0) + special(SPC_NOMOD) + prompt("Old Output E") + } + field(OVLF, DBF_NOACCESS) { + extra("void *ovlf") + interest(4) + asl(ASL0) + special(SPC_NOMOD) + prompt("Old Output F") + } + field(OVLG, DBF_NOACCESS) { + prompt("Old Output G") + special(SPC_NOMOD) + asl(ASL0) + interest(4) + extra("void *ovlg") + } + field(OVLH, DBF_NOACCESS) { + interest(4) + prompt("Old Output H") + special(SPC_NOMOD) + asl(ASL0) + extra("void *ovlh") + } + field(OVLI, DBF_NOACCESS) { + interest(4) + prompt("Old Output I") + special(SPC_NOMOD) + asl(ASL0) + extra("void *ovli") + } + field(OVLJ, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + asl(ASL0) + prompt("Old Output J") + extra("void *ovlj") + } + field(OVLK, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Old Output K") + asl(ASL0) + extra("void *ovlk") + } + field(OVLL, DBF_NOACCESS) { + extra("void *ovll") + asl(ASL0) + special(SPC_NOMOD) + prompt("Old Output L") + interest(4) + } + field(OVLM, DBF_NOACCESS) { + prompt("Old Output M") + special(SPC_NOMOD) + asl(ASL0) + interest(4) + extra("void *ovlm") + } + field(OVLN, DBF_NOACCESS) { + extra("void *ovln") + interest(4) + prompt("Old Output N") + special(SPC_NOMOD) + asl(ASL0) + } + field(OVLO, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Old Output O") + asl(ASL0) + interest(4) + extra("void *ovlo") + } + field(OVLP, DBF_NOACCESS) { + extra("void *ovlp") + asl(ASL0) + special(SPC_NOMOD) + prompt("Old Output P") + interest(4) + } + field(OVLQ, DBF_NOACCESS) { + interest(4) + prompt("Old Output Q") + special(SPC_NOMOD) + asl(ASL0) + extra("void *ovlq") + } + field(OVLR, DBF_NOACCESS) { + extra("void *ovlr") + interest(4) + prompt("Old Output R") + special(SPC_NOMOD) + asl(ASL0) + } + field(OVLS, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Old Output S") + asl(ASL0) + interest(4) + extra("void *ovls") + } + field(OVLT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Old Output T") + asl(ASL0) + interest(4) + extra("void *ovlt") + } + field(OVLU, DBF_NOACCESS) { + extra("void *ovlu") + interest(4) + special(SPC_NOMOD) + asl(ASL0) + prompt("Old Output U") + } + field(FTVA, DBF_MENU) { + prompt("Type of VALA") + menu(menuFtype) + special(SPC_NOMOD) + interest(1) + promptgroup(GUI_WAVE) + initial("DOUBLE") + } + field(FTVB, DBF_MENU) { + initial("DOUBLE") + promptgroup(GUI_WAVE) + interest(1) + prompt("Type of VALB") + menu(menuFtype) + special(SPC_NOMOD) + } + field(FTVC, DBF_MENU) { + interest(1) + promptgroup(GUI_WAVE) + special(SPC_NOMOD) + menu(menuFtype) + prompt("Type of VALC") + initial("DOUBLE") + } + field(FTVD, DBF_MENU) { + special(SPC_NOMOD) + menu(menuFtype) + prompt("Type of VALD") + interest(1) + promptgroup(GUI_WAVE) + initial("DOUBLE") + } + field(FTVE, DBF_MENU) { + prompt("Type of VALE") + menu(menuFtype) + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + initial("DOUBLE") + } + field(FTVF, DBF_MENU) { + prompt("Type of VALF") + menu(menuFtype) + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + initial("DOUBLE") + } + field(FTVG, DBF_MENU) { + initial("DOUBLE") + promptgroup(GUI_WAVE) + interest(1) + menu(menuFtype) + special(SPC_NOMOD) + prompt("Type of VALG") + } + field(FTVH, DBF_MENU) { + initial("DOUBLE") + promptgroup(GUI_WAVE) + interest(1) + special(SPC_NOMOD) + menu(menuFtype) + prompt("Type of VALH") + } + field(FTVI, DBF_MENU) { + initial("DOUBLE") + prompt("Type of VALI") + menu(menuFtype) + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + } + field(FTVJ, DBF_MENU) { + interest(1) + promptgroup(GUI_WAVE) + special(SPC_NOMOD) + menu(menuFtype) + prompt("Type of VALJ") + initial("DOUBLE") + } + field(FTVK, DBF_MENU) { + initial("DOUBLE") + menu(menuFtype) + prompt("Type of VALK") + special(SPC_NOMOD) + interest(1) + promptgroup(GUI_WAVE) + } + field(FTVL, DBF_MENU) { + initial("DOUBLE") + menu(menuFtype) + prompt("Type of VALL") + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + } + field(FTVM, DBF_MENU) { + promptgroup(GUI_WAVE) + interest(1) + prompt("Type of VALM") + menu(menuFtype) + special(SPC_NOMOD) + initial("DOUBLE") + } + field(FTVN, DBF_MENU) { + menu(menuFtype) + special(SPC_NOMOD) + prompt("Type of VALN") + interest(1) + promptgroup(GUI_WAVE) + initial("DOUBLE") + } + field(FTVO, DBF_MENU) { + initial("DOUBLE") + menu(menuFtype) + special(SPC_NOMOD) + prompt("Type of VALO") + interest(1) + promptgroup(GUI_WAVE) + } + field(FTVP, DBF_MENU) { + initial("DOUBLE") + menu(menuFtype) + special(SPC_NOMOD) + prompt("Type of VALP") + promptgroup(GUI_WAVE) + interest(1) + } + field(FTVQ, DBF_MENU) { + initial("DOUBLE") + prompt("Type of VALQ") + menu(menuFtype) + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + } + field(FTVR, DBF_MENU) { + initial("DOUBLE") + interest(1) + promptgroup(GUI_WAVE) + menu(menuFtype) + prompt("Type of VALR") + special(SPC_NOMOD) + } + field(FTVS, DBF_MENU) { + interest(1) + promptgroup(GUI_WAVE) + menu(menuFtype) + prompt("Type of VALS") + special(SPC_NOMOD) + initial("DOUBLE") + } + field(FTVT, DBF_MENU) { + initial("DOUBLE") + prompt("Type of VALT") + menu(menuFtype) + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + } + field(FTVU, DBF_MENU) { + menu(menuFtype) + prompt("Type of VALU") + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + initial("DOUBLE") + } + field(NOVA, DBF_ULONG) { + interest(1) + promptgroup(GUI_WAVE) + prompt("Max. elements in VALA") + special(SPC_NOMOD) + initial("1") + } + field(NOVB, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Max. elements in VALB") + promptgroup(GUI_WAVE) + interest(1) + initial("1") + } + field(NOVC, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Max. elements in VALC") + promptgroup(GUI_WAVE) + interest(1) + initial("1") + } + field(NOVD, DBF_ULONG) { + prompt("Max. elements in VALD") + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + initial("1") + } + field(NOVE, DBF_ULONG) { + initial("1") + special(SPC_NOMOD) + prompt("Max. elements in VALE") + interest(1) + promptgroup(GUI_WAVE) + } + field(NOVF, DBF_ULONG) { + interest(1) + promptgroup(GUI_WAVE) + prompt("Max. elements in VALF") + special(SPC_NOMOD) + initial("1") + } + field(NOVG, DBF_ULONG) { + promptgroup(GUI_WAVE) + interest(1) + special(SPC_NOMOD) + prompt("Max. elements in VALG") + initial("1") + } + field(NOVH, DBF_ULONG) { + prompt("Max. elements in VAlH") + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + initial("1") + } + field(NOVI, DBF_ULONG) { + initial("1") + prompt("Max. elements in VALI") + special(SPC_NOMOD) + promptgroup(GUI_WAVE) + interest(1) + } + field(NOVJ, DBF_ULONG) { + initial("1") + interest(1) + promptgroup(GUI_WAVE) + prompt("Max. elements in VALJ") + special(SPC_NOMOD) + } + field(NOVK, DBF_ULONG) { + prompt("Max. elements in VALK") + special(SPC_NOMOD) + interest(1) + promptgroup(GUI_WAVE) + initial("1") + } + field(NOVL, DBF_ULONG) { + initial("1") + special(SPC_NOMOD) + prompt("Max. elements in VALL") + promptgroup(GUI_WAVE) + interest(1) + } + field(NOVM, DBF_ULONG) { + initial("1") + promptgroup(GUI_WAVE) + interest(1) + prompt("Max. elements in VALM") + special(SPC_NOMOD) + } + field(NOVN, DBF_ULONG) { + prompt("Max. elements in VALN") + special(SPC_NOMOD) + interest(1) + promptgroup(GUI_WAVE) + initial("1") + } + field(NOVO, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Max. elements in VALO") + promptgroup(GUI_WAVE) + interest(1) + initial("1") + } + field(NOVP, DBF_ULONG) { + interest(1) + promptgroup(GUI_WAVE) + special(SPC_NOMOD) + prompt("Max. elements in VALP") + initial("1") + } + field(NOVQ, DBF_ULONG) { + promptgroup(GUI_WAVE) + interest(1) + prompt("Max. elements in VALQ") + special(SPC_NOMOD) + initial("1") + } + field(NOVR, DBF_ULONG) { + promptgroup(GUI_WAVE) + interest(1) + special(SPC_NOMOD) + prompt("Max. elements in VALR") + initial("1") + } + field(NOVS, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Max. elements in VALS") + interest(1) + promptgroup(GUI_WAVE) + initial("1") + } + field(NOVT, DBF_ULONG) { + promptgroup(GUI_WAVE) + interest(1) + prompt("Max. elements in VALT") + special(SPC_NOMOD) + initial("1") + } + field(NOVU, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Max. elements in VALU") + interest(1) + promptgroup(GUI_WAVE) + initial("1") + } + field(NEVA, DBF_ULONG) { + interest(3) + prompt("Num. elements in VALA") + special(SPC_NOMOD) + initial("1") + } + field(NEVB, DBF_ULONG) { + initial("1") + prompt("Num. elements in VALB") + special(SPC_NOMOD) + interest(3) + } + field(NEVC, DBF_ULONG) { + initial("1") + special(SPC_NOMOD) + prompt("Num. elements in VALC") + interest(3) + } + field(NEVD, DBF_ULONG) { + initial("1") + special(SPC_NOMOD) + prompt("Num. elements in VALD") + interest(3) + } + field(NEVE, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Num. elements in VALE") + interest(3) + initial("1") + } + field(NEVF, DBF_ULONG) { + initial("1") + interest(3) + special(SPC_NOMOD) + prompt("Num. elements in VALF") + } + field(NEVG, DBF_ULONG) { + initial("1") + interest(3) + prompt("Num. elements in VALG") + special(SPC_NOMOD) + } + field(NEVH, DBF_ULONG) { + initial("1") + interest(3) + special(SPC_NOMOD) + prompt("Num. elements in VAlH") + } + field(NEVI, DBF_ULONG) { + prompt("Num. elements in VALI") + special(SPC_NOMOD) + interest(3) + initial("1") + } + field(NEVJ, DBF_ULONG) { + interest(3) + prompt("Num. elements in VALJ") + special(SPC_NOMOD) + initial("1") + } + field(NEVK, DBF_ULONG) { + initial("1") + interest(3) + special(SPC_NOMOD) + prompt("Num. elements in VALK") + } + field(NEVL, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Num. elements in VALL") + interest(3) + initial("1") + } + field(NEVM, DBF_ULONG) { + initial("1") + special(SPC_NOMOD) + prompt("Num. elements in VALM") + interest(3) + } + field(NEVN, DBF_ULONG) { + interest(3) + special(SPC_NOMOD) + prompt("Num. elements in VALN") + initial("1") + } + field(NEVO, DBF_ULONG) { + initial("1") + special(SPC_NOMOD) + prompt("Num. elements in VALO") + interest(3) + } + field(NEVP, DBF_ULONG) { + interest(3) + prompt("Num. elements in VALP") + special(SPC_NOMOD) + initial("1") + } + field(NEVQ, DBF_ULONG) { + interest(3) + special(SPC_NOMOD) + prompt("Num. elements in VALQ") + initial("1") + } + field(NEVR, DBF_ULONG) { + initial("1") + interest(3) + prompt("Num. elements in VALR") + special(SPC_NOMOD) + } + field(NEVS, DBF_ULONG) { + initial("1") + interest(3) + special(SPC_NOMOD) + prompt("Num. elements in VALS") + } + field(NEVT, DBF_ULONG) { + prompt("Num. elements in VALT") + special(SPC_NOMOD) + interest(3) + initial("1") + } + field(NEVU, DBF_ULONG) { + initial("1") + interest(3) + special(SPC_NOMOD) + prompt("Num. elements in VALU") + } + field(ONVA, DBF_ULONG) { + interest(4) + special(SPC_NOMOD) + prompt("Num. elements in OVLA") + initial("1") + } + field(ONVB, DBF_ULONG) { + interest(4) + prompt("Num. elements in OVLB") + special(SPC_NOMOD) + initial("1") + } + field(ONVC, DBF_ULONG) { + interest(4) + prompt("Num. elements in OVLC") + special(SPC_NOMOD) + initial("1") + } + field(ONVD, DBF_ULONG) { + initial("1") + interest(4) + prompt("Num. elements in OVLD") + special(SPC_NOMOD) + } + field(ONVE, DBF_ULONG) { + interest(4) + special(SPC_NOMOD) + prompt("Num. elements in OVLE") + initial("1") + } + field(ONVF, DBF_ULONG) { + initial("1") + prompt("Num. elements in OVLF") + special(SPC_NOMOD) + interest(4) + } + field(ONVG, DBF_ULONG) { + initial("1") + interest(4) + special(SPC_NOMOD) + prompt("Num. elements in OVLG") + } + field(ONVH, DBF_ULONG) { + initial("1") + interest(4) + prompt("Num. elements in VAlH") + special(SPC_NOMOD) + } + field(ONVI, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Num. elements in OVLI") + interest(4) + initial("1") + } + field(ONVJ, DBF_ULONG) { + initial("1") + special(SPC_NOMOD) + prompt("Num. elements in OVLJ") + interest(4) + } + field(ONVK, DBF_ULONG) { + initial("1") + interest(4) + special(SPC_NOMOD) + prompt("Num. elements in OVLK") + } + field(ONVL, DBF_ULONG) { + prompt("Num. elements in OVLL") + special(SPC_NOMOD) + interest(4) + initial("1") + } + field(ONVM, DBF_ULONG) { + initial("1") + interest(4) + special(SPC_NOMOD) + prompt("Num. elements in OVLM") + } + field(ONVN, DBF_ULONG) { + initial("1") + interest(4) + special(SPC_NOMOD) + prompt("Num. elements in OVLN") + } + field(ONVO, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Num. elements in OVLO") + interest(4) + initial("1") + } + field(ONVP, DBF_ULONG) { + initial("1") + special(SPC_NOMOD) + prompt("Num. elements in OVLP") + interest(4) + } + field(ONVQ, DBF_ULONG) { + initial("1") + interest(4) + prompt("Num. elements in OVLQ") + special(SPC_NOMOD) + } + field(ONVR, DBF_ULONG) { + interest(4) + prompt("Num. elements in OVLR") + special(SPC_NOMOD) + initial("1") + } + field(ONVS, DBF_ULONG) { + initial("1") + interest(4) + prompt("Num. elements in OVLS") + special(SPC_NOMOD) + } + field(ONVT, DBF_ULONG) { + initial("1") + interest(4) + special(SPC_NOMOD) + prompt("Num. elements in OVLT") + } + field(ONVU, DBF_ULONG) { + initial("1") + prompt("Num. elements in OVLU") + special(SPC_NOMOD) + interest(4) + } +} +recordtype(lsi) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + %#include "devSup.h" + % + %/* Declare Device Support Entry Table */ + %typedef struct lsidset { + % long number; + % DEVSUPFUN report; + % DEVSUPFUN init; + % DEVSUPFUN init_record; + % DEVSUPFUN get_ioint_info; + % DEVSUPFUN read_string; + %} lsidset; + % + field(NAME, DBF_STRING) { + prompt("Record Name") + special(SPC_NOMOD) + size(61) + } + field(DESC, DBF_STRING) { + prompt("Descriptor") + promptgroup(GUI_COMMON) + size(41) + } + field(ASG, DBF_STRING) { + special(SPC_AS) + prompt("Access Security Group") + promptgroup(GUI_COMMON) + size(29) + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + special(SPC_SCAN) + menu(menuScan) + prompt("Scan Mechanism") + } + field(PINI, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuPini) + prompt("Process at iocInit") + } + field(PHAS, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scan Phase") + special(SPC_SCAN) + } + field(EVNT, DBF_STRING) { + promptgroup(GUI_SCAN) + interest(1) + size(40) + prompt("Event Name") + special(SPC_SCAN) + } + field(TSE, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + prompt("Time Stamp Link") + promptgroup(GUI_SCAN) + interest(1) + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + promptgroup(GUI_LINKS) + interest(1) + } + field(DISV, DBF_SHORT) { + promptgroup(GUI_SCAN) + prompt("Disable Value") + initial("1") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Monitor lock") + interest(4) + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + prompt("Monitor List") + special(SPC_NOMOD) + interest(4) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + prompt("Force Processing") + interest(3) + pp(TRUE) + } + field(STAT, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("Alarm Status") + initial("UDF") + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + special(SPC_NOMOD) + prompt("Alarm Severity") + } + field(NSTA, DBF_MENU) { + interest(2) + special(SPC_NOMOD) + menu(menuAlarmStat) + prompt("New Alarm Status") + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + interest(2) + } + field(ACKS, DBF_MENU) { + interest(2) + prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(ACKT, DBF_MENU) { + menu(menuYesNo) + special(SPC_NOMOD) + prompt("Alarm Ack Transient") + interest(2) + promptgroup(GUI_ALARMS) + initial("YES") + } + field(DISS, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + } + field(LCNT, DBF_UCHAR) { + interest(2) + special(SPC_NOMOD) + prompt("Lock Count") + } + field(PACT, DBF_UCHAR) { + interest(1) + prompt("Record active") + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + interest(1) + special(SPC_NOMOD) + prompt("Reprocess ") + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + prompt("Access Security Pvt") + special(SPC_NOMOD) + interest(4) + } + field(PPN, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("pprocessNotify") + interest(4) + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + interest(4) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + prompt("Scan Private") + special(SPC_NOMOD) + interest(4) + extra("struct scan_element *spvt") + } + field(RSET, DBF_NOACCESS) { + extra("struct rset *rset") + special(SPC_NOMOD) + prompt("Address of RSET") + interest(4) + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + prompt("DSET address") + special(SPC_NOMOD) + interest(4) + } + field(DPVT, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Device Private") + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + special(SPC_NOMOD) + prompt("Address of dbRecordType") + interest(4) + } + field(LSET, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Lock Set") + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + prompt("Scheduling Priority") + menu(menuPriority) + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + special(SPC_NOMOD) + prompt("Break Point") + interest(1) + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + initial("1") + interest(1) + promptgroup(GUI_COMMON) + prompt("Undefined") + } + field(UDFS, DBF_MENU) { + initial("INVALID") + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_COMMON) + } + field(TIME, DBF_NOACCESS) { + interest(2) + prompt("Time") + special(SPC_NOMOD) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup(GUI_LINKS) + interest(1) + } + field(VAL, DBF_NOACCESS) { + pp(TRUE) + asl(ASL0) + special(SPC_DBADDR) + prompt("Current Value") + extra("char *val") + } + field(OVAL, DBF_NOACCESS) { + prompt("Old Value") + special(SPC_DBADDR) + interest(3) + extra("char *oval") + } + field(SIZV, DBF_USHORT) { + initial("41") + prompt("Size of buffers") + special(SPC_NOMOD) + interest(1) + promptgroup(GUI_OUTPUT) + } + field(LEN, DBF_ULONG) { + special(SPC_NOMOD) + prompt("Length of VAL") + } + field(OLEN, DBF_ULONG) { + prompt("Length of OVAL") + special(SPC_NOMOD) + } + field(INP, DBF_INLINK) { + prompt("Input Specification") + interest(1) + promptgroup(GUI_INPUTS) + } + field(MPST, DBF_MENU) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Post Value Monitors") + menu(menuPost) + } + field(APST, DBF_MENU) { + interest(1) + promptgroup(GUI_DISPLAY) + menu(menuPost) + prompt("Post Archive Monitors") + } + field(SIML, DBF_INLINK) { + prompt("Simulation Mode Link") + interest(2) + promptgroup(GUI_INPUTS) + } + field(SIMM, DBF_MENU) { + prompt("Simulation Mode") + menu(menuYesNo) + interest(2) + } + field(SIMS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Simulation Mode Severity") + promptgroup(GUI_INPUTS) + interest(2) + } + field(SIOL, DBF_INLINK) { + prompt("Sim Input Specifctn") + interest(2) + promptgroup(GUI_INPUTS) + } +} +device(lsi, CONSTANT, devLsiSoft, "Soft Channel") +recordtype(event) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + %#include "dbScan.h" + field(NAME, DBF_STRING) { + size(61) + special(SPC_NOMOD) + prompt("Record Name") + } + field(DESC, DBF_STRING) { + size(41) + promptgroup(GUI_COMMON) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + special(SPC_AS) + prompt("Access Security Group") + promptgroup(GUI_COMMON) + size(29) + } + field(SCAN, DBF_MENU) { + promptgroup(GUI_SCAN) + interest(1) + menu(menuScan) + special(SPC_SCAN) + prompt("Scan Mechanism") + } + field(PINI, DBF_MENU) { + menu(menuPini) + prompt("Process at iocInit") + interest(1) + promptgroup(GUI_SCAN) + } + field(PHAS, DBF_SHORT) { + special(SPC_SCAN) + prompt("Scan Phase") + interest(1) + promptgroup(GUI_SCAN) + } + field(EVNT, DBF_STRING) { + prompt("Event Name") + special(SPC_SCAN) + interest(1) + size(40) + promptgroup(GUI_SCAN) + } + field(TSE, DBF_SHORT) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + interest(1) + promptgroup(GUI_LINKS) + } + field(DISV, DBF_SHORT) { + initial("1") + prompt("Disable Value") + promptgroup(GUI_SCAN) + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + prompt("Scanning Disable") + promptgroup(GUI_SCAN) + interest(1) + } + field(MLOK, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Monitor lock") + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + extra("ELLLIST mlis") + prompt("Monitor List") + special(SPC_NOMOD) + interest(4) + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + prompt("Force Processing") + interest(3) + } + field(STAT, DBF_MENU) { + initial("UDF") + prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + prompt("Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + interest(2) + prompt("New Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) + } + field(NSEV, DBF_MENU) { + prompt("New Alarm Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + interest(2) + } + field(ACKS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + special(SPC_NOMOD) + interest(2) + } + field(ACKT, DBF_MENU) { + initial("YES") + menu(menuYesNo) + prompt("Alarm Ack Transient") + special(SPC_NOMOD) + promptgroup(GUI_ALARMS) + interest(2) + } + field(DISS, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + interest(1) + promptgroup(GUI_SCAN) + } + field(LCNT, DBF_UCHAR) { + interest(2) + prompt("Lock Count") + special(SPC_NOMOD) + } + field(PACT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Record active") + interest(1) + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + special(SPC_NOMOD) + interest(1) + } + field(ASP, DBF_NOACCESS) { + interest(4) + prompt("Access Security Pvt") + special(SPC_NOMOD) + extra("struct asgMember *asp") + } + field(PPN, DBF_NOACCESS) { + prompt("pprocessNotify") + special(SPC_NOMOD) + interest(4) + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + extra("struct processNotifyRecord *ppnr") + interest(4) + special(SPC_NOMOD) + prompt("pprocessNotifyRecord") + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + special(SPC_NOMOD) + prompt("Scan Private") + interest(4) + } + field(RSET, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Address of RSET") + interest(4) + extra("struct rset *rset") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + prompt("DSET address") + special(SPC_NOMOD) + } + field(DPVT, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Device Private") + interest(4) + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + extra("struct dbRecordType *rdes") + prompt("Address of dbRecordType") + special(SPC_NOMOD) + interest(4) + } + field(LSET, DBF_NOACCESS) { + extra("struct lockRecord *lset") + prompt("Lock Set") + special(SPC_NOMOD) + interest(4) + } + field(PRIO, DBF_MENU) { + special(SPC_SCAN) + menu(menuPriority) + prompt("Scheduling Priority") + promptgroup(GUI_SCAN) + interest(1) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + extra("char bkpt") + interest(1) + special(SPC_NOMOD) + prompt("Break Point") + } + field(UDF, DBF_UCHAR) { + pp(TRUE) + initial("1") + prompt("Undefined") + interest(1) + promptgroup(GUI_COMMON) + } + field(UDFS, DBF_MENU) { + prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_COMMON) + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Time") + interest(2) + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + interest(1) + promptgroup(GUI_LINKS) + prompt("Forward Process Link") + } + field(VAL, DBF_STRING) { + special(SPC_MOD) + asl(ASL0) + prompt("Event Name To Post") + size(40) + promptgroup(GUI_INPUTS) + } + field(EPVT, DBF_NOACCESS) { + prompt("Event private") + special(SPC_NOMOD) + interest(4) + extra("EVENTPVT epvt") + } + field(INP, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Input Specification") + } + field(SIOL, DBF_INLINK) { + interest(1) + promptgroup(GUI_INPUTS) + prompt("Sim Input Specifctn") + } + field(SVAL, DBF_STRING) { + size(40) + prompt("Simulation Value") + } + field(SIML, DBF_INLINK) { + promptgroup(GUI_INPUTS) + interest(1) + prompt("Sim Mode Location") + } + field(SIMM, DBF_MENU) { + prompt("Simulation Mode") + menu(menuYesNo) + interest(1) + } + field(SIMS, DBF_MENU) { + promptgroup(GUI_INPUTS) + interest(2) + prompt("Sim mode Alarm Svrty") + menu(menuAlarmSevr) + } +} +device(event, CONSTANT, devEventSoft, "Soft Channel") +recordtype(calcout) { + %#include "epicsTypes.h" + %#include "link.h" + %#include "epicsMutex.h" + %#include "ellLib.h" + %#include "epicsTime.h" + %#include "dbScan.h" + %#include "postfix.h" + field(NAME, DBF_STRING) { + size(61) + special(SPC_NOMOD) + prompt("Record Name") + } + field(DESC, DBF_STRING) { + promptgroup(GUI_COMMON) + size(41) + prompt("Descriptor") + } + field(ASG, DBF_STRING) { + special(SPC_AS) + prompt("Access Security Group") + promptgroup(GUI_COMMON) + size(29) + } + field(SCAN, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuScan) + prompt("Scan Mechanism") + special(SPC_SCAN) + } + field(PINI, DBF_MENU) { + prompt("Process at iocInit") + menu(menuPini) + promptgroup(GUI_SCAN) + interest(1) + } + field(PHAS, DBF_SHORT) { + special(SPC_SCAN) + prompt("Scan Phase") + interest(1) + promptgroup(GUI_SCAN) + } + field(EVNT, DBF_STRING) { + special(SPC_SCAN) + prompt("Event Name") + size(40) + interest(1) + promptgroup(GUI_SCAN) + } + field(TSE, DBF_SHORT) { + interest(1) + promptgroup(GUI_SCAN) + prompt("Time Stamp Event") + } + field(TSEL, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Time Stamp Link") + } + field(DTYP, DBF_DEVICE) { + prompt("Device Type") + interest(1) + promptgroup(GUI_LINKS) + } + field(DISV, DBF_SHORT) { + initial("1") + promptgroup(GUI_SCAN) + prompt("Disable Value") + } + field(DISA, DBF_SHORT) { + prompt("Disable") + } + field(SDIS, DBF_INLINK) { + promptgroup(GUI_SCAN) + interest(1) + prompt("Scanning Disable") + } + field(MLOK, DBF_NOACCESS) { + special(SPC_NOMOD) + prompt("Monitor lock") + interest(4) + extra("epicsMutexId mlok") + } + field(MLIS, DBF_NOACCESS) { + prompt("Monitor List") + special(SPC_NOMOD) + interest(4) + extra("ELLLIST mlis") + } + field(DISP, DBF_UCHAR) { + prompt("Disable putField") + } + field(PROC, DBF_UCHAR) { + pp(TRUE) + interest(3) + prompt("Force Processing") + } + field(STAT, DBF_MENU) { + initial("UDF") + menu(menuAlarmStat) + prompt("Alarm Status") + special(SPC_NOMOD) + } + field(SEVR, DBF_MENU) { + menu(menuAlarmSevr) + prompt("Alarm Severity") + special(SPC_NOMOD) + } + field(NSTA, DBF_MENU) { + interest(2) + menu(menuAlarmStat) + special(SPC_NOMOD) + prompt("New Alarm Status") + } + field(NSEV, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("New Alarm Severity") + interest(2) + } + field(ACKS, DBF_MENU) { + special(SPC_NOMOD) + menu(menuAlarmSevr) + prompt("Alarm Ack Severity") + interest(2) + } + field(ACKT, DBF_MENU) { + initial("YES") + menu(menuYesNo) + prompt("Alarm Ack Transient") + special(SPC_NOMOD) + interest(2) + promptgroup(GUI_ALARMS) + } + field(DISS, DBF_MENU) { + interest(1) + promptgroup(GUI_SCAN) + menu(menuAlarmSevr) + prompt("Disable Alarm Sevrty") + } + field(LCNT, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("Lock Count") + interest(2) + } + field(PACT, DBF_UCHAR) { + interest(1) + prompt("Record active") + special(SPC_NOMOD) + } + field(PUTF, DBF_UCHAR) { + special(SPC_NOMOD) + prompt("dbPutField process") + interest(1) + } + field(RPRO, DBF_UCHAR) { + prompt("Reprocess ") + special(SPC_NOMOD) + interest(1) + } + field(ASP, DBF_NOACCESS) { + extra("struct asgMember *asp") + special(SPC_NOMOD) + prompt("Access Security Pvt") + interest(4) + } + field(PPN, DBF_NOACCESS) { + interest(4) + prompt("pprocessNotify") + special(SPC_NOMOD) + extra("struct processNotify *ppn") + } + field(PPNR, DBF_NOACCESS) { + prompt("pprocessNotifyRecord") + special(SPC_NOMOD) + interest(4) + extra("struct processNotifyRecord *ppnr") + } + field(SPVT, DBF_NOACCESS) { + extra("struct scan_element *spvt") + interest(4) + special(SPC_NOMOD) + prompt("Scan Private") + } + field(RSET, DBF_NOACCESS) { + extra("struct rset *rset") + interest(4) + special(SPC_NOMOD) + prompt("Address of RSET") + } + field(DSET, DBF_NOACCESS) { + extra("struct dset *dset") + interest(4) + special(SPC_NOMOD) + prompt("DSET address") + } + field(DPVT, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Device Private") + extra("void *dpvt") + } + field(RDES, DBF_NOACCESS) { + prompt("Address of dbRecordType") + special(SPC_NOMOD) + interest(4) + extra("struct dbRecordType *rdes") + } + field(LSET, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Lock Set") + extra("struct lockRecord *lset") + } + field(PRIO, DBF_MENU) { + menu(menuPriority) + prompt("Scheduling Priority") + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + } + field(TPRO, DBF_UCHAR) { + prompt("Trace Processing") + } + field(BKPT, DBF_NOACCESS) { + prompt("Break Point") + special(SPC_NOMOD) + interest(1) + extra("char bkpt") + } + field(UDF, DBF_UCHAR) { + prompt("Undefined") + promptgroup(GUI_COMMON) + interest(1) + initial("1") + pp(TRUE) + } + field(UDFS, DBF_MENU) { + interest(1) + promptgroup(GUI_COMMON) + menu(menuAlarmSevr) + prompt("Undefined Alarm Sevrty") + initial("INVALID") + } + field(TIME, DBF_NOACCESS) { + interest(2) + special(SPC_NOMOD) + prompt("Time") + extra("epicsTimeStamp time") + } + field(FLNK, DBF_FWDLINK) { + prompt("Forward Process Link") + promptgroup(GUI_LINKS) + interest(1) + } + field(RPVT, DBF_NOACCESS) { + interest(4) + prompt("Record Private") + special(SPC_NOMOD) + extra("struct rpvtStruct *rpvt") + } + field(VAL, DBF_DOUBLE) { + promptgroup(GUI_OUTPUT) + asl(ASL0) + prompt("Result") + } + field(PVAL, DBF_DOUBLE) { + prompt("Previous Value") + } + field(CALC, DBF_STRING) { + pp(TRUE) + initial("0") + promptgroup(GUI_CALC) + size(80) + special(SPC_CALC) + prompt("Calculation") + } + field(CLCV, DBF_LONG) { + prompt("CALC Valid") + interest(1) + } + field(INPA, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + prompt("Input A") + special(SPC_MOD) + } + field(INPB, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + prompt("Input B") + special(SPC_MOD) + } + field(INPC, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + prompt("Input C") + special(SPC_MOD) + } + field(INPD, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + special(SPC_MOD) + prompt("Input D") + } + field(INPE, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + prompt("Input E") + special(SPC_MOD) + } + field(INPF, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + special(SPC_MOD) + prompt("Input F") + } + field(INPG, DBF_INLINK) { + special(SPC_MOD) + prompt("Input G") + promptgroup(GUI_CALC) + interest(1) + } + field(INPH, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + prompt("Input H") + special(SPC_MOD) + } + field(INPI, DBF_INLINK) { + interest(1) + promptgroup(GUI_CALC) + prompt("Input I") + special(SPC_MOD) + } + field(INPJ, DBF_INLINK) { + special(SPC_MOD) + prompt("Input J") + promptgroup(GUI_CALC) + interest(1) + } + field(INPK, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + special(SPC_MOD) + prompt("Input K") + } + field(INPL, DBF_INLINK) { + promptgroup(GUI_CALC) + interest(1) + special(SPC_MOD) + prompt("Input L") + } + field(OUT, DBF_OUTLINK) { + interest(1) + promptgroup(GUI_OUTPUT) + special(SPC_MOD) + prompt("Output Specification") + } + field(INAV, DBF_MENU) { + interest(1) + prompt("INPA PV Status") + menu(calcoutINAV) + special(SPC_NOMOD) + initial("1") + } + field(INBV, DBF_MENU) { + interest(1) + prompt("INPB PV Status") + menu(calcoutINAV) + special(SPC_NOMOD) + initial("1") + } + field(INCV, DBF_MENU) { + initial("1") + menu(calcoutINAV) + prompt("INPC PV Status") + special(SPC_NOMOD) + interest(1) + } + field(INDV, DBF_MENU) { + special(SPC_NOMOD) + menu(calcoutINAV) + prompt("INPD PV Status") + interest(1) + initial("1") + } + field(INEV, DBF_MENU) { + menu(calcoutINAV) + special(SPC_NOMOD) + prompt("INPE PV Status") + interest(1) + initial("1") + } + field(INFV, DBF_MENU) { + initial("1") + menu(calcoutINAV) + prompt("INPF PV Status") + special(SPC_NOMOD) + interest(1) + } + field(INGV, DBF_MENU) { + interest(1) + menu(calcoutINAV) + prompt("INPG PV Status") + special(SPC_NOMOD) + initial("1") + } + field(INHV, DBF_MENU) { + initial("1") + interest(1) + menu(calcoutINAV) + prompt("INPH PV Status") + special(SPC_NOMOD) + } + field(INIV, DBF_MENU) { + initial("1") + interest(1) + special(SPC_NOMOD) + menu(calcoutINAV) + prompt("INPI PV Status") + } + field(INJV, DBF_MENU) { + interest(1) + special(SPC_NOMOD) + menu(calcoutINAV) + prompt("INPJ PV Status") + initial("1") + } + field(INKV, DBF_MENU) { + interest(1) + menu(calcoutINAV) + prompt("INPK PV Status") + special(SPC_NOMOD) + initial("1") + } + field(INLV, DBF_MENU) { + interest(1) + prompt("INPL PV Status") + menu(calcoutINAV) + special(SPC_NOMOD) + initial("1") + } + field(OUTV, DBF_MENU) { + menu(calcoutINAV) + prompt("OUT PV Status") + special(SPC_NOMOD) + interest(1) + } + field(OOPT, DBF_MENU) { + promptgroup(GUI_CALC) + interest(1) + prompt("Output Execute Opt") + menu(calcoutOOPT) + } + field(ODLY, DBF_DOUBLE) { + promptgroup(GUI_ALARMS) + interest(1) + prompt("Output Execute Delay") + asl(ASL0) + } + field(DLYA, DBF_USHORT) { + special(SPC_NOMOD) + asl(ASL0) + prompt("Output Delay Active") + } + field(DOPT, DBF_MENU) { + promptgroup(GUI_CALC) + interest(1) + menu(calcoutDOPT) + prompt("Output Data Opt") + } + field(OCAL, DBF_STRING) { + pp(TRUE) + prompt("Output Calculation") + special(SPC_CALC) + promptgroup(GUI_CALC) + size(80) + initial("0") + } + field(OCLV, DBF_LONG) { + interest(1) + prompt("OCAL Valid") + } + field(OEVT, DBF_STRING) { + promptgroup(GUI_CLOCK) + size(40) + asl(ASL0) + special(SPC_MOD) + prompt("Event To Issue") + } + field(EPVT, DBF_NOACCESS) { + interest(4) + special(SPC_NOMOD) + prompt("Event private") + extra("EVENTPVT epvt") + } + field(IVOA, DBF_MENU) { + prompt("INVALID output action") + menu(menuIvoa) + promptgroup(GUI_OUTPUT) + interest(2) + } + field(IVOV, DBF_DOUBLE) { + interest(2) + promptgroup(GUI_OUTPUT) + prompt("INVALID output value") + } + field(EGU, DBF_STRING) { + prop(YES) + size(16) + promptgroup(GUI_DISPLAY) + interest(1) + prompt("Units Name") + } + field(PREC, DBF_SHORT) { + prompt("Display Precision") + interest(1) + promptgroup(GUI_DISPLAY) + prop(YES) + } + field(HOPR, DBF_DOUBLE) { + promptgroup(GUI_DISPLAY) + interest(1) + prompt("High Operating Rng") + prop(YES) + } + field(LOPR, DBF_DOUBLE) { + prop(YES) + prompt("Low Operating Range") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(HIHI, DBF_DOUBLE) { + promptgroup(GUI_ALARMS) + interest(1) + prompt("Hihi Alarm Limit") + prop(YES) + pp(TRUE) + } + field(LOLO, DBF_DOUBLE) { + pp(TRUE) + prop(YES) + interest(1) + promptgroup(GUI_ALARMS) + prompt("Lolo Alarm Limit") + } + field(HIGH, DBF_DOUBLE) { + prompt("High Alarm Limit") + interest(1) + promptgroup(GUI_ALARMS) + prop(YES) + pp(TRUE) + } + field(LOW, DBF_DOUBLE) { + pp(TRUE) + prop(YES) + prompt("Low Alarm Limit") + promptgroup(GUI_ALARMS) + interest(1) + } + field(HHSV, DBF_MENU) { + pp(TRUE) + prop(YES) + prompt("Hihi Severity") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_ALARMS) + } + field(LLSV, DBF_MENU) { + prompt("Lolo Severity") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_ALARMS) + pp(TRUE) + prop(YES) + } + field(HSV, DBF_MENU) { + prompt("High Severity") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_ALARMS) + pp(TRUE) + prop(YES) + } + field(LSV, DBF_MENU) { + prompt("Low Severity") + menu(menuAlarmSevr) + interest(1) + promptgroup(GUI_ALARMS) + prop(YES) + pp(TRUE) + } + field(HYST, DBF_DOUBLE) { + prompt("Alarm Deadband") + interest(1) + promptgroup(GUI_ALARMS) + } + field(ADEL, DBF_DOUBLE) { + prompt("Archive Deadband") + promptgroup(GUI_DISPLAY) + interest(1) + } + field(MDEL, DBF_DOUBLE) { + interest(1) + promptgroup(GUI_DISPLAY) + prompt("Monitor Deadband") + } + field(A, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input A") + } + field(B, DBF_DOUBLE) { + prompt("Value of Input B") + pp(TRUE) + } + field(C, DBF_DOUBLE) { + pp(TRUE) + prompt("Value of Input C") + } + field(D, DBF_DOUBLE) { + prompt("Value of Input D") + pp(TRUE) } field(E, DBF_DOUBLE) { pp(TRUE) @@ -956,7749 +21485,160 @@ prompt("Value of Input K") } field(L, DBF_DOUBLE) { - pp(TRUE) prompt("Value of Input L") + pp(TRUE) } field(OVAL, DBF_DOUBLE) { - asl(ASL0) prompt("Output Value") + asl(ASL0) } field(LA, DBF_DOUBLE) { special(SPC_NOMOD) - interest(3) prompt("Prev Value of A") + interest(3) } field(LB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) prompt("Prev Value of B") + special(SPC_NOMOD) + interest(3) } field(LC, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) + interest(3) + special(SPC_NOMOD) prompt("Prev Value of C") } field(LD, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) + interest(3) + special(SPC_NOMOD) prompt("Prev Value of D") } field(LE, DBF_DOUBLE) { special(SPC_NOMOD) - interest(3) prompt("Prev Value of E") + interest(3) } field(LF, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) + interest(3) + special(SPC_NOMOD) prompt("Prev Value of F") } field(LG, DBF_DOUBLE) { - special(SPC_NOMOD) interest(3) prompt("Prev Value of G") + special(SPC_NOMOD) } field(LH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) prompt("Prev Value of H") + special(SPC_NOMOD) + interest(3) } field(LI, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) prompt("Prev Value of I") + special(SPC_NOMOD) + interest(3) } field(LJ, DBF_DOUBLE) { - special(SPC_NOMOD) interest(3) prompt("Prev Value of J") + special(SPC_NOMOD) } field(LK, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) prompt("Prev Value of K") + special(SPC_NOMOD) + interest(3) } field(LL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) prompt("Prev Value of L") + special(SPC_NOMOD) + interest(3) } field(POVL, DBF_DOUBLE) { - asl(ASL0) prompt("Prev Value of OVAL") + asl(ASL0) } field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) interest(3) prompt("Last Value Alarmed") + special(SPC_NOMOD) } field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) prompt("Last Value Archived") + special(SPC_NOMOD) + interest(3) } field(MLST, DBF_DOUBLE) { special(SPC_NOMOD) - interest(3) prompt("Last Val Monitored") + interest(3) } field(RPCL, DBF_NOACCESS) { - special(SPC_NOMOD) extra("char rpcl[INFIX_TO_POSTFIX_SIZE(80)]") interest(4) + special(SPC_NOMOD) prompt("Reverse Polish Calc") } field(ORPC, DBF_NOACCESS) { - special(SPC_NOMOD) extra("char orpc[INFIX_TO_POSTFIX_SIZE(80)]") interest(4) prompt("Reverse Polish OCalc") + special(SPC_NOMOD) } } device(calcout, CONSTANT, devCalcoutSoft, "Soft Channel") device(calcout, CONSTANT, devCalcoutSoftCallback, "Async Soft Channel") device(calcout, INST_IO, devcalcoutStream, "stream") -recordtype(state) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup(GUI_COMMON) - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup(GUI_DISPLAY) - asl(ASL0) - pp(TRUE) - size(20) - prompt("Value") - } - field(OVAL, DBF_STRING) { - special(SPC_NOMOD) - interest(3) - size(20) - prompt("Prev Value") - } -} -recordtype(histogram) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup(GUI_COMMON) - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - prompt("Value") - } - field(NELM, DBF_USHORT) { - promptgroup(GUI_HIST) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Num of Array Elements") - } - field(CSTA, DBF_SHORT) { - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Collection Status") - } - field(CMD, DBF_MENU) { - special(SPC_CALC) - asl(ASL0) - menu(histogramCMD) - interest(1) - prompt("Collection Control") - } - field(ULIM, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_HIST) - special(SPC_RESET) - interest(1) - prompt("Upper Signal Limit") - } - field(LLIM, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_HIST) - special(SPC_RESET) - interest(1) - prompt("Lower Signal Limit ") - } - field(WDTH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Element Width") - } - field(SGNL, DBF_DOUBLE) { - special(SPC_MOD) - prompt("Signal Value") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Display Precision") - } - field(SVL, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Signal Value Location") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt32 *bptr") - interest(4) - prompt("Buffer Pointer") - } - field(WDOG, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * wdog") - interest(4) - prompt("Watchdog callback") - } - field(MDEL, DBF_SHORT) { - promptgroup(GUI_HIST) - interest(1) - prompt("Monitor Count Deadband") - } - field(MCNT, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Counts Since Monitor") - } - field(SDEL, DBF_DOUBLE) { - promptgroup(GUI_HIST) - special(SPC_RESET) - interest(1) - prompt("Monitor Seconds Dband") - } - field(SIOL, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Sim Input Specifctn") - } - field(SVAL, DBF_DOUBLE) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup(GUI_INPUTS) - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } - field(HOPR, DBF_ULONG) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_ULONG) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Low Operating Range") - } -} -device(histogram, CONSTANT, devHistogramSoft, "Soft Channel") -recordtype(lsi) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "epicsTime.h" - %#include "devSup.h" - % - %/* Declare Device Support Entry Table */ - %typedef struct lsidset { - % long number; - % DEVSUPFUN report; - % DEVSUPFUN init; - % DEVSUPFUN init_record; - % DEVSUPFUN get_ioint_info; - % DEVSUPFUN read_string; - %} lsidset; - % - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup(GUI_COMMON) - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("char *val") - pp(TRUE) - prompt("Current Value") - } - field(OVAL, DBF_NOACCESS) { - special(SPC_DBADDR) - extra("char *oval") - interest(3) - prompt("Old Value") - } - field(SIZV, DBF_USHORT) { - promptgroup(GUI_OUTPUT) - special(SPC_NOMOD) - initial("41") - interest(1) - prompt("Size of buffers") - } - field(LEN, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Length of VAL") - } - field(OLEN, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Length of OVAL") - } - field(INP, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input Specification") - } - field(MPST, DBF_MENU) { - promptgroup(GUI_DISPLAY) - menu(menuPost) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup(GUI_DISPLAY) - menu(menuPost) - interest(1) - prompt("Post Archive Monitors") - } - field(SIML, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(2) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - menu(menuYesNo) - interest(2) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup(GUI_INPUTS) - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(SIOL, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(2) - prompt("Sim Input Specifctn") - } -} -device(lsi, CONSTANT, devLsiSoft, "Soft Channel") -recordtype(seq) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup(GUI_COMMON) - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - asl(ASL0) - pp(TRUE) - prompt("Used to trigger") - } - field(SELM, DBF_MENU) { - promptgroup(GUI_INPUTS) - menu(seqSELM) - interest(1) - prompt("Select Mechanism") - } - field(SELN, DBF_USHORT) { - initial("1") - interest(1) - prompt("Link Selection") - } - field(SELL, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Link Selection Loc") - } - field(OFFS, DBF_SHORT) { - initial("0") - interest(1) - prompt("Offset for Specified") - } - field(SHFT, DBF_SHORT) { - initial("-1") - interest(1) - prompt("Shift for Mask mode") - } - field(OLDN, DBF_USHORT) { - interest(4) - prompt("Old Selection") - } - field(PREC, DBF_SHORT) { - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Display Precision") - } - field(DLY0, DBF_DOUBLE) { - promptgroup(GUI_SEQ1) - interest(1) - prompt("Delay 0") - } - field(DOL0, DBF_INLINK) { - promptgroup(GUI_SEQ1) - interest(1) - prompt("Input link 0") - } - field(DO0, DBF_DOUBLE) { - interest(1) - prompt("Value 0") - } - field(LNK0, DBF_OUTLINK) { - promptgroup(GUI_SEQ1) - interest(1) - prompt("Output Link 0") - } - field(DLY1, DBF_DOUBLE) { - promptgroup(GUI_SEQ1) - interest(1) - prompt("Delay 1") - } - field(DOL1, DBF_INLINK) { - promptgroup(GUI_SEQ1) - interest(1) - prompt("Input link1") - } - field(DO1, DBF_DOUBLE) { - interest(1) - prompt("Value 1") - } - field(LNK1, DBF_OUTLINK) { - promptgroup(GUI_SEQ1) - interest(1) - prompt("Output Link 1") - } - field(DLY2, DBF_DOUBLE) { - promptgroup(GUI_SEQ1) - interest(1) - prompt("Delay 2") - } - field(DOL2, DBF_INLINK) { - promptgroup(GUI_SEQ1) - interest(1) - prompt("Input link 2") - } - field(DO2, DBF_DOUBLE) { - interest(1) - prompt("Value 2") - } - field(LNK2, DBF_OUTLINK) { - promptgroup(GUI_SEQ1) - interest(1) - prompt("Output Link 2") - } - field(DLY3, DBF_DOUBLE) { - promptgroup(GUI_SEQ1) - interest(1) - prompt("Delay 3") - } - field(DOL3, DBF_INLINK) { - promptgroup(GUI_SEQ1) - interest(1) - prompt("Input link 3") - } - field(DO3, DBF_DOUBLE) { - interest(1) - prompt("Value 3") - } - field(LNK3, DBF_OUTLINK) { - promptgroup(GUI_SEQ1) - interest(1) - prompt("Output Link 3") - } - field(DLY4, DBF_DOUBLE) { - promptgroup(GUI_SEQ2) - interest(1) - prompt("Delay 4") - } - field(DOL4, DBF_INLINK) { - promptgroup(GUI_SEQ2) - interest(1) - prompt("Input link 4") - } - field(DO4, DBF_DOUBLE) { - interest(1) - prompt("Value 4") - } - field(LNK4, DBF_OUTLINK) { - promptgroup(GUI_SEQ2) - interest(1) - prompt("Output Link 4") - } - field(DLY5, DBF_DOUBLE) { - promptgroup(GUI_SEQ2) - interest(1) - prompt("Delay 5") - } - field(DOL5, DBF_INLINK) { - promptgroup(GUI_SEQ2) - interest(1) - prompt("Input link 5") - } - field(DO5, DBF_DOUBLE) { - interest(1) - prompt("Value 5") - } - field(LNK5, DBF_OUTLINK) { - promptgroup(GUI_SEQ2) - interest(1) - prompt("Output Link 5") - } - field(DLY6, DBF_DOUBLE) { - promptgroup(GUI_SEQ2) - interest(1) - prompt("Delay 6") - } - field(DOL6, DBF_INLINK) { - promptgroup(GUI_SEQ2) - interest(1) - prompt("Input link 6") - } - field(DO6, DBF_DOUBLE) { - interest(1) - prompt("Value 6") - } - field(LNK6, DBF_OUTLINK) { - promptgroup(GUI_SEQ2) - interest(1) - prompt("Output Link 6") - } - field(DLY7, DBF_DOUBLE) { - promptgroup(GUI_SEQ3) - interest(1) - prompt("Delay 7") - } - field(DOL7, DBF_INLINK) { - promptgroup(GUI_SEQ3) - interest(1) - prompt("Input link 7") - } - field(DO7, DBF_DOUBLE) { - interest(1) - prompt("Value 7") - } - field(LNK7, DBF_OUTLINK) { - promptgroup(GUI_SEQ3) - interest(1) - prompt("Output Link 7") - } - field(DLY8, DBF_DOUBLE) { - promptgroup(GUI_SEQ3) - interest(1) - prompt("Delay 8") - } - field(DOL8, DBF_INLINK) { - promptgroup(GUI_SEQ3) - interest(1) - prompt("Input link 8") - } - field(DO8, DBF_DOUBLE) { - interest(1) - prompt("Value 8") - } - field(LNK8, DBF_OUTLINK) { - promptgroup(GUI_SEQ3) - interest(1) - prompt("Output Link 8") - } - field(DLY9, DBF_DOUBLE) { - promptgroup(GUI_SEQ3) - interest(1) - prompt("Delay 9") - } - field(DOL9, DBF_INLINK) { - promptgroup(GUI_SEQ3) - interest(1) - prompt("Input link 9") - } - field(DO9, DBF_DOUBLE) { - interest(1) - prompt("Value 9") - } - field(LNK9, DBF_OUTLINK) { - promptgroup(GUI_SEQ3) - interest(1) - prompt("Output Link 9") - } - field(DLYA, DBF_DOUBLE) { - promptgroup(GUI_SEQ3) - interest(1) - prompt("Delay 10") - } - field(DOLA, DBF_INLINK) { - promptgroup(GUI_SEQ3) - interest(1) - prompt("Input link 10") - } - field(DOA, DBF_DOUBLE) { - interest(1) - prompt("Value 10") - } - field(LNKA, DBF_OUTLINK) { - promptgroup(GUI_SEQ3) - interest(1) - prompt("Output Link 10") - } - field(DLYB, DBF_DOUBLE) { - promptgroup(GUI_SEQ3) - interest(1) - prompt("Delay 11") - } - field(DOLB, DBF_INLINK) { - promptgroup(GUI_SEQ3) - interest(1) - prompt("Input link 11") - } - field(DOB, DBF_DOUBLE) { - interest(1) - prompt("Value 11") - } - field(LNKB, DBF_OUTLINK) { - promptgroup(GUI_SEQ3) - interest(1) - prompt("Output Link 11") - } - field(DLYC, DBF_DOUBLE) { - promptgroup(GUI_SEQ3) - interest(1) - prompt("Delay 12") - } - field(DOLC, DBF_INLINK) { - promptgroup(GUI_SEQ3) - interest(1) - prompt("Input link 12") - } - field(DOC, DBF_DOUBLE) { - interest(1) - prompt("Value 12") - } - field(LNKC, DBF_OUTLINK) { - promptgroup(GUI_SEQ3) - interest(1) - prompt("Output Link 12") - } - field(DLYD, DBF_DOUBLE) { - promptgroup(GUI_SEQ3) - interest(1) - prompt("Delay 13") - } - field(DOLD, DBF_INLINK) { - promptgroup(GUI_SEQ3) - interest(1) - prompt("Input link 13") - } - field(DOD, DBF_DOUBLE) { - interest(1) - prompt("Value 13") - } - field(LNKD, DBF_OUTLINK) { - promptgroup(GUI_SEQ3) - interest(1) - prompt("Output Link 13") - } - field(DLYE, DBF_DOUBLE) { - promptgroup(GUI_SEQ3) - interest(1) - prompt("Delay 14") - } - field(DOLE, DBF_INLINK) { - promptgroup(GUI_SEQ3) - interest(1) - prompt("Input link 14") - } - field(DOE, DBF_DOUBLE) { - interest(1) - prompt("Value 14") - } - field(LNKE, DBF_OUTLINK) { - promptgroup(GUI_SEQ3) - interest(1) - prompt("Output Link 14") - } - field(DLYF, DBF_DOUBLE) { - promptgroup(GUI_SEQ3) - interest(1) - prompt("Delay 15") - } - field(DOLF, DBF_INLINK) { - promptgroup(GUI_SEQ3) - interest(1) - prompt("Input link 15") - } - field(DOF, DBF_DOUBLE) { - interest(1) - prompt("Value 15") - } - field(LNKF, DBF_OUTLINK) { - promptgroup(GUI_SEQ3) - interest(1) - prompt("Output Link 15") - } -} -recordtype(stringout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup(GUI_COMMON) - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup(GUI_OUTPUT) - asl(ASL0) - pp(TRUE) - size(40) - prompt("Current Value") - } - field(OVAL, DBF_STRING) { - special(SPC_NOMOD) - interest(3) - size(40) - prompt("Previous Value") - } - field(DOL, DBF_INLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup(GUI_OUTPUT) - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(OUT, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Specification") - } - field(MPST, DBF_MENU) { - promptgroup(GUI_DISPLAY) - menu(stringoutPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup(GUI_DISPLAY) - menu(stringoutPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(SIOL, DBF_OUTLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Sim Output Specifctn") - } - field(SIML, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup(GUI_INPUTS) - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } - field(IVOA, DBF_MENU) { - promptgroup(GUI_OUTPUT) - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_STRING) { - promptgroup(GUI_OUTPUT) - interest(2) - size(40) - prompt("INVALID output value") - } -} -device(stringout, CONSTANT, devSoSoft, "Soft Channel") -device(stringout, CONSTANT, devSoSoftCallback, "Async Soft Channel") -device(stringout, INST_IO, devSoStdio, "stdio") -device(stringout, INST_IO, asynSoOctetWrite, "asynOctetWrite") -device(stringout, INST_IO, devstringoutStream, "stream") -recordtype(aai) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup(GUI_COMMON) - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - prompt("Display Precision") - } - field(INP, DBF_INLINK) { - promptgroup(GUI_BITS1) - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup(GUI_BITS2) - interest(1) - size(16) - prompt("Engineering Units Name") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_CALC) - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_CLOCK) - interest(1) - prompt("Low Operating Range") - } - field(NELM, DBF_ULONG) { - promptgroup(GUI_COMPRESS) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Number of Elements") - } - field(FTVL, DBF_MENU) { - promptgroup(GUI_CONVERT) - special(SPC_NOMOD) - menu(menuFtype) - interest(1) - prompt("Field Type of Value") - } - field(NORD, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Number elements read") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * bptr") - interest(4) - prompt("Buffer Pointer") - } - field(SIML, DBF_INLINK) { - promptgroup(GUI_HIST) - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup(GUI_INPUTS) - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } - field(SIOL, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Sim Input Specifctn") - } - field(MPST, DBF_MENU) { - promptgroup(GUI_DISPLAY) - menu(aaiPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup(GUI_DISPLAY) - menu(aaiPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(HASH, DBF_ULONG) { - interest(3) - prompt("Hash of OnChange data.") - } -} -device(aai, CONSTANT, devAaiSoft, "Soft Channel") -device(aai, INST_IO, devaaiStream, "stream") -recordtype(permissive) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup(GUI_COMMON) - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Process Link") - } - field(LABL, DBF_STRING) { - promptgroup(GUI_DISPLAY) - interest(1) - pp(TRUE) - size(20) - prompt("Button Label") - } - field(VAL, DBF_USHORT) { - asl(ASL0) - pp(TRUE) - prompt("Status") - } - field(OVAL, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Old Status") - } - field(WFLG, DBF_USHORT) { - pp(TRUE) - prompt("Wait Flag") - } - field(OFLG, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Old Flag") - } -} -recordtype(bo) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup(GUI_COMMON) - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_ENUM) { - promptgroup(GUI_OUTPUT) - asl(ASL0) - pp(TRUE) - prompt("Current Value") - } - field(OMSL, DBF_MENU) { - promptgroup(GUI_OUTPUT) - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(DOL, DBF_INLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Desired Output Loc") - } - field(OUT, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Specification") - } - field(HIGH, DBF_DOUBLE) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Seconds to Hold High") - } - field(ZNAM, DBF_STRING) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - pp(TRUE) - size(26) - prompt("Zero Name") - } - field(ONAM, DBF_STRING) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - pp(TRUE) - size(26) - prompt("One Name") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("prev Raw Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(RPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * rpvt") - interest(4) - prompt("Record Private") - } - field(WDPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * wdpt") - interest(4) - prompt("Watch Dog Timer ID") - } - field(ZSV, DBF_MENU) { - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Zero Error Severity") - } - field(OSV, DBF_MENU) { - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("One Error Severity") - } - field(COSV, DBF_MENU) { - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Change of State Sevr") - } - field(RBV, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Readback Value") - } - field(ORBV, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Readback Value") - } - field(MLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(LALM, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(SIOL, DBF_OUTLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Sim Output Specifctn") - } - field(SIML, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup(GUI_INPUTS) - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } - field(IVOA, DBF_MENU) { - promptgroup(GUI_OUTPUT) - menu(menuIvoa) - interest(2) - prompt("INVALID outpt action") - } - field(IVOV, DBF_USHORT) { - promptgroup(GUI_OUTPUT) - interest(2) - prompt("INVALID output value") - } -} -device(bo, CONSTANT, devBoSoft, "Soft Channel") -device(bo, CONSTANT, devBoSoftRaw, "Raw Soft Channel") -device(bo, CONSTANT, devBoSoftCallback, "Async Soft Channel") -device(bo, INST_IO, devBoGeneralTime, "General Time") -device(bo, INST_IO, devBoDbState, "Db State") -device(bo, INST_IO, asynBoInt32, "asynInt32") -device(bo, INST_IO, asynBoUInt32Digital, "asynUInt32Digital") -device(bo, INST_IO, devboStream, "stream") -recordtype(dfanout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup(GUI_COMMON) - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - asl(ASL0) - pp(TRUE) - prompt("Desired Output") - } - field(SELM, DBF_MENU) { - promptgroup(GUI_LINKS) - menu(dfanoutSELM) - interest(1) - prompt("Select Mechanism") - } - field(SELN, DBF_USHORT) { - initial("1") - interest(1) - prompt("Link Selection") - } - field(SELL, DBF_INLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Link Selection Loc") - } - field(OUTA, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Spec A") - } - field(OUTB, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Spec B") - } - field(OUTC, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Spec C") - } - field(OUTD, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Spec D") - } - field(OUTE, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Spec E") - } - field(OUTF, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Spec F") - } - field(OUTG, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Spec G") - } - field(OUTH, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Spec H") - } - field(DOL, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup(GUI_OUTPUT) - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - size(16) - prompt("Units name") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Display Precision") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup(GUI_ALARMS) - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } -} -recordtype(mbbi) { +recordtype(bi) { %#include "epicsTypes.h" %#include "link.h" %#include "epicsMutex.h" %#include "ellLib.h" %#include "epicsTime.h" field(NAME, DBF_STRING) { - special(SPC_NOMOD) size(61) prompt("Record Name") + special(SPC_NOMOD) } field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) + prompt("Descriptor") size(41) - prompt("Descriptor") + promptgroup(GUI_COMMON) } field(ASG, DBF_STRING) { + size(29) promptgroup(GUI_COMMON) special(SPC_AS) - size(29) prompt("Access Security Group") } field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) + interest(1) + promptgroup(GUI_SCAN) + prompt("Scan Mechanism") menu(menuScan) - interest(1) - prompt("Scan Mechanism") + special(SPC_SCAN) } field(PINI, DBF_MENU) { + interest(1) promptgroup(GUI_SCAN) menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_ENUM) { - promptgroup(GUI_INPUTS) - asl(ASL0) - pp(TRUE) - prompt("Current Value") - } - field(NOBT, DBF_SHORT) { - promptgroup(GUI_MBB) - special(SPC_NOMOD) - interest(1) - prompt("Number of Bits") - } - field(INP, DBF_INLINK) { - promptgroup(GUI_MBB) - interest(1) - prompt("Input Specification") - } - field(ZRVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Zero Value") - } - field(ONVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("One Value") - } - field(TWVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Two Value") - } - field(THVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Three Value") - } - field(FRVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Four Value") - } - field(FVVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Five Value") - } - field(SXVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Six Value") - } - field(SVVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Seven Value") - } - field(EIVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Eight Value") - } - field(NIVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Nine Value") - } - field(TEVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Ten Value") - } - field(ELVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Eleven Value") - } - field(TVVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Twelve Value") - } - field(TTVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Thirteen Value") - } - field(FTVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Fourteen Value") - } - field(FFVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Fifteen Value") - } - field(ZRST, DBF_STRING) { - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Zero String") - } - field(ONST, DBF_STRING) { - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("One String") - } - field(TWST, DBF_STRING) { - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Two String") - } - field(THST, DBF_STRING) { - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Three String") - } - field(FRST, DBF_STRING) { - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Four String") - } - field(FVST, DBF_STRING) { - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Five String") - } - field(SXST, DBF_STRING) { - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Six String") - } - field(SVST, DBF_STRING) { - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Seven String") - } - field(EIST, DBF_STRING) { - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Eight String") - } - field(NIST, DBF_STRING) { - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Nine String") - } - field(TEST, DBF_STRING) { - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Ten String") - } - field(ELST, DBF_STRING) { - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Eleven String") - } - field(TVST, DBF_STRING) { - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Twelve String") - } - field(TTST, DBF_STRING) { - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Thirteen String") - } - field(FTST, DBF_STRING) { - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Fourteen String") - } - field(FFST, DBF_STRING) { - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Fifteen String") - } - field(ZRSV, DBF_MENU) { - promptgroup(GUI_BITS1) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Zero Severity") - } - field(ONSV, DBF_MENU) { - promptgroup(GUI_BITS1) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State One Severity") - } - field(TWSV, DBF_MENU) { - promptgroup(GUI_BITS1) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Two Severity") - } - field(THSV, DBF_MENU) { - promptgroup(GUI_BITS1) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Three Severity") - } - field(FRSV, DBF_MENU) { - promptgroup(GUI_BITS1) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Four Severity") - } - field(FVSV, DBF_MENU) { - promptgroup(GUI_BITS1) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Five Severity") - } - field(SXSV, DBF_MENU) { - promptgroup(GUI_BITS1) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Six Severity") - } - field(SVSV, DBF_MENU) { - promptgroup(GUI_BITS1) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Seven Severity") - } - field(EISV, DBF_MENU) { - promptgroup(GUI_BITS2) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Eight Severity") - } - field(NISV, DBF_MENU) { - promptgroup(GUI_BITS2) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Nine Severity") - } - field(TESV, DBF_MENU) { - promptgroup(GUI_BITS2) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Ten Severity") - } - field(ELSV, DBF_MENU) { - promptgroup(GUI_BITS2) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Eleven Severity") - } - field(TVSV, DBF_MENU) { - promptgroup(GUI_BITS2) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Twelve Severity") - } - field(TTSV, DBF_MENU) { - promptgroup(GUI_BITS2) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Thirteen Sevr") - } - field(FTSV, DBF_MENU) { - promptgroup(GUI_BITS2) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Fourteen Sevr") - } - field(FFSV, DBF_MENU) { - promptgroup(GUI_BITS2) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Fifteen Severity") - } - field(AFTC, DBF_DOUBLE) { - promptgroup(GUI_ALARMS) - interest(1) - prompt("Alarm Filter Time Constant") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(UNSV, DBF_MENU) { - promptgroup(GUI_MBB) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Unknown State Severity") - } - field(COSV, DBF_MENU) { - promptgroup(GUI_MBB) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Change of State Svr") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Raw Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(MLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(LALM, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(SDEF, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("States Defined") - } - field(SHFT, DBF_USHORT) { - promptgroup(GUI_MBB) - interest(1) - prompt("Shift") - } - field(SIOL, DBF_INLINK) { - promptgroup(GUI_MBB) - interest(1) - prompt("Sim Input Specifctn") - } - field(SVAL, DBF_ULONG) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup(GUI_MBB) - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - menu(menuSimm) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup(GUI_MBB) - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } -} -device(mbbi, CONSTANT, devMbbiSoft, "Soft Channel") -device(mbbi, CONSTANT, devMbbiSoftRaw, "Raw Soft Channel") -device(mbbi, CONSTANT, devMbbiSoftCallback, "Async Soft Channel") -device(mbbi, INST_IO, asynMbbiInt32, "asynInt32") -device(mbbi, INST_IO, asynMbbiUInt32Digital, "asynUInt32Digital") -device(mbbi, INST_IO, devmbbiStream, "stream") -recordtype(event) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "epicsTime.h" - %#include "dbScan.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup(GUI_COMMON) - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup(GUI_INPUTS) - special(SPC_MOD) - asl(ASL0) - size(40) - prompt("Event Name To Post") - } - field(EPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("EVENTPVT epvt") - interest(4) - prompt("Event private") - } - field(INP, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input Specification") - } - field(SIOL, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Sim Input Specifctn") - } - field(SVAL, DBF_STRING) { - size(40) - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup(GUI_INPUTS) - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } -} -device(event, CONSTANT, devEventSoft, "Soft Channel") -recordtype(compress) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup(GUI_COMMON) - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(INP, DBF_INLINK) { - promptgroup(GUI_COMPRESS) - interest(1) - prompt("Input Specification") - } - field(RES, DBF_SHORT) { - special(SPC_RESET) - asl(ASL0) - interest(3) - prompt("Reset") - } - field(ALG, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_RESET) - menu(compressALG) - interest(1) - prompt("Compression Algorithm") - } - field(NSAM, DBF_ULONG) { - promptgroup(GUI_COMPRESS) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Number of Values") - } - field(N, DBF_ULONG) { - promptgroup(GUI_COMPRESS) - special(SPC_RESET) - initial("1") - interest(1) - prompt("N to 1 Compression") - } - field(IHIL, DBF_DOUBLE) { - promptgroup(GUI_COMPRESS) - interest(1) - prompt("Init High Interest Lim") - } - field(ILIL, DBF_DOUBLE) { - promptgroup(GUI_COMPRESS) - interest(1) - prompt("Init Low Interest Lim") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Low Operating Range") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Display Precision") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - size(16) - prompt("EngineeringUnits") - } - field(OFF, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Offset") - } - field(NUSE, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Number Used") - } - field(OUSE, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Old Number Used") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("double *bptr") - interest(4) - prompt("Buffer Pointer") - } - field(SPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("double *sptr") - interest(4) - prompt("Summing Buffer Ptr") - } - field(WPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("double *wptr") - interest(4) - prompt("Working Buffer Ptr") - } - field(INPN, DBF_LONG) { - special(SPC_NOMOD) - interest(4) - prompt("Number of elements in Working Buffer") - } - field(CVB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Compress Value Buffer") - } - field(INX, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Compressed Array Inx") - } -} -recordtype(mbbo) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup(GUI_COMMON) - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuPini) - interest(1) prompt("Process at iocInit") } field(PHAS, DBF_SHORT) { promptgroup(GUI_SCAN) - special(SPC_SCAN) interest(1) prompt("Scan Phase") + special(SPC_SCAN) } field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_ENUM) { - promptgroup(GUI_OUTPUT) - special(SPC_DBADDR) - asl(ASL0) - pp(TRUE) - prompt("Desired Value") - } - field(DOL, DBF_INLINK) { - promptgroup(GUI_MBB) - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup(GUI_MBB) - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(NOBT, DBF_SHORT) { - promptgroup(GUI_MBB) - special(SPC_NOMOD) - interest(1) - prompt("Number of Bits") - } - field(OUT, DBF_OUTLINK) { - promptgroup(GUI_MBB) - interest(1) - prompt("Output Specification") - } - field(ZRVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Zero Value") - } - field(ONVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("One Value") - } - field(TWVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Two Value") - } - field(THVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Three Value") - } - field(FRVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Four Value") - } - field(FVVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Five Value") - } - field(SXVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Six Value") - } - field(SVVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Seven Value") - } - field(EIVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Eight Value") - } - field(NIVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Nine Value") - } - field(TEVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Ten Value") - } - field(ELVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Eleven Value") - } - field(TVVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Twelve Value") - } - field(TTVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Thirteen Value") - } - field(FTVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Fourteen Value") - } - field(FFVL, DBF_ULONG) { - base(HEX) - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Fifteen Value") - } - field(ZRST, DBF_STRING) { - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Zero String") - } - field(ONST, DBF_STRING) { - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("One String") - } - field(TWST, DBF_STRING) { - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Two String") - } - field(THST, DBF_STRING) { - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Three String") - } - field(FRST, DBF_STRING) { - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Four String") - } - field(FVST, DBF_STRING) { - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Five String") - } - field(SXST, DBF_STRING) { - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Six String") - } - field(SVST, DBF_STRING) { - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Seven String") - } - field(EIST, DBF_STRING) { - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Eight String") - } - field(NIST, DBF_STRING) { - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Nine String") - } - field(TEST, DBF_STRING) { - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Ten String") - } - field(ELST, DBF_STRING) { - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Eleven String") - } - field(TVST, DBF_STRING) { - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Twelve String") - } - field(TTST, DBF_STRING) { - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Thirteen String") - } - field(FTST, DBF_STRING) { - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Fourteen String") - } - field(FFST, DBF_STRING) { - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Fifteen String") - } - field(ZRSV, DBF_MENU) { - promptgroup(GUI_BITS1) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Zero Severity") - } - field(ONSV, DBF_MENU) { - promptgroup(GUI_BITS1) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State One Severity") - } - field(TWSV, DBF_MENU) { - promptgroup(GUI_BITS1) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Two Severity") - } - field(THSV, DBF_MENU) { - promptgroup(GUI_BITS1) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Three Severity") - } - field(FRSV, DBF_MENU) { - promptgroup(GUI_BITS1) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Four Severity") - } - field(FVSV, DBF_MENU) { - promptgroup(GUI_BITS1) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Five Severity") - } - field(SXSV, DBF_MENU) { - promptgroup(GUI_BITS1) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Six Severity") - } - field(SVSV, DBF_MENU) { - promptgroup(GUI_BITS1) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Seven Severity") - } - field(EISV, DBF_MENU) { - promptgroup(GUI_BITS2) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Eight Severity") - } - field(NISV, DBF_MENU) { - promptgroup(GUI_BITS2) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Nine Severity") - } - field(TESV, DBF_MENU) { - promptgroup(GUI_BITS2) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Ten Severity") - } - field(ELSV, DBF_MENU) { - promptgroup(GUI_BITS2) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Eleven Severity") - } - field(TVSV, DBF_MENU) { - promptgroup(GUI_BITS2) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Twelve Severity") - } - field(TTSV, DBF_MENU) { - promptgroup(GUI_BITS2) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Thirteen Sevr") - } - field(FTSV, DBF_MENU) { - promptgroup(GUI_BITS2) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Fourteen Sevr") - } - field(FFSV, DBF_MENU) { - promptgroup(GUI_BITS2) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Fifteen Sevr") - } - field(UNSV, DBF_MENU) { - promptgroup(GUI_MBB) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Unknown State Sevr") - } - field(COSV, DBF_MENU) { - promptgroup(GUI_MBB) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Change of State Sevr") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Raw Value") - } - field(RBV, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Readback Value") - } - field(ORBV, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Readback Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(MLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(LALM, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(SDEF, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("States Defined") - } - field(SHFT, DBF_USHORT) { - promptgroup(GUI_MBB) - interest(1) - prompt("Shift") - } - field(SIOL, DBF_OUTLINK) { - promptgroup(GUI_MBB) - interest(1) - prompt("Sim Output Specifctn") - } - field(SIML, DBF_INLINK) { - promptgroup(GUI_MBB) - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup(GUI_MBB) - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } - field(IVOA, DBF_MENU) { - promptgroup(GUI_MBB) - menu(menuIvoa) - interest(2) - prompt("INVALID outpt action") - } - field(IVOV, DBF_USHORT) { - promptgroup(GUI_MBB) - interest(2) - prompt("INVALID output value") - } -} -device(mbbo, CONSTANT, devMbboSoft, "Soft Channel") -device(mbbo, CONSTANT, devMbboSoftRaw, "Raw Soft Channel") -device(mbbo, CONSTANT, devMbboSoftCallback, "Async Soft Channel") -device(mbbo, INST_IO, asynMbboInt32, "asynInt32") -device(mbbo, INST_IO, asynMbboUInt32Digital, "asynUInt32Digital") -device(mbbo, INST_IO, devmbboStream, "stream") -recordtype(ao) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup(GUI_COMMON) - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup(GUI_OUTPUT) - asl(ASL0) - pp(TRUE) - prompt("Desired Output") - } - field(OVAL, DBF_DOUBLE) { - prompt("Output Value") - } - field(OUT, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Specification") - } - field(OROC, DBF_DOUBLE) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Rate of Change") - } - field(DOL, DBF_INLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup(GUI_OUTPUT) - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(OIF, DBF_MENU) { - promptgroup(GUI_OUTPUT) - menu(aoOIF) - interest(1) - prompt("Out Full/Incremental") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Display Precision") - } - field(LINR, DBF_MENU) { - promptgroup(GUI_CONVERT) - special(SPC_LINCONV) - menu(menuConvert) - interest(1) - pp(TRUE) - prompt("Linearization") - } - field(EGUF, DBF_DOUBLE) { - promptgroup(GUI_CONVERT) - special(SPC_LINCONV) - interest(1) - pp(TRUE) - prompt("Eng Units Full") - } - field(EGUL, DBF_DOUBLE) { - promptgroup(GUI_CONVERT) - special(SPC_LINCONV) - interest(1) - pp(TRUE) - prompt("Eng Units Low") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - size(16) - prompt("Engineering Units") - } - field(ROFF, DBF_ULONG) { - interest(2) - pp(TRUE) - prompt("Raw Offset") - } - field(EOFF, DBF_DOUBLE) { - promptgroup(GUI_CONVERT) - interest(2) - pp(TRUE) - prompt("EGU to Raw Offset") - } - field(ESLO, DBF_DOUBLE) { - promptgroup(GUI_CONVERT) - initial("1") - interest(2) - pp(TRUE) - prompt("EGU to Raw Slope") - } - field(DRVH, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_OUTPUT) - interest(1) - pp(TRUE) - prompt("Drive High Limit") - } - field(DRVL, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_OUTPUT) - interest(1) - pp(TRUE) - prompt("Drive Low Limit") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Low Operating Range") - } - field(AOFF, DBF_DOUBLE) { - promptgroup(GUI_CONVERT) - interest(1) - pp(TRUE) - prompt("Adjustment Offset") - } - field(ASLO, DBF_DOUBLE) { - promptgroup(GUI_CONVERT) - interest(1) - pp(TRUE) - prompt("Adjustment Slope") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup(GUI_ALARMS) - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Monitor Deadband") - } - field(RVAL, DBF_LONG) { - pp(TRUE) - prompt("Current Raw Value") - } - field(ORAW, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Previous Raw Value") - } - field(RBV, DBF_LONG) { - special(SPC_NOMOD) - prompt("Readback Value") - } - field(ORBV, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Readback Value") - } - field(PVAL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Previous value") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(PBRK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * pbrk") - interest(4) - prompt("Ptrto brkTable") - } - field(INIT, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Initialized?") - } - field(LBRK, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("LastBreak Point") - } - field(SIOL, DBF_OUTLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Sim Output Specifctn") - } - field(SIML, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup(GUI_INPUTS) - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } - field(IVOA, DBF_MENU) { - promptgroup(GUI_OUTPUT) - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_DOUBLE) { - promptgroup(GUI_OUTPUT) - interest(2) - prompt("INVALID output value") - } - field(OMOD, DBF_UCHAR) { - special(SPC_NOMOD) - prompt("Was OVAL modified?") - } -} -device(ao, CONSTANT, devAoSoft, "Soft Channel") -device(ao, CONSTANT, devAoSoftRaw, "Raw Soft Channel") -device(ao, CONSTANT, devAoSoftCallback, "Async Soft Channel") -device(ao, INST_IO, asynAoInt32, "asynInt32") -device(ao, INST_IO, asynAoFloat64, "asynFloat64") -device(ao, INST_IO, devaoStream, "stream") -recordtype(aao) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup(GUI_COMMON) - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") + special(SPC_SCAN) + promptgroup(GUI_SCAN) + interest(1) + size(40) } field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - prompt("Display Precision") - } - field(OUT, DBF_OUTLINK) { - promptgroup(GUI_BITS1) - interest(1) - prompt("Output Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup(GUI_BITS2) - interest(1) - size(16) - prompt("Engineering Units Name") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_CALC) - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_CLOCK) - interest(1) - prompt("Low Operating Range") - } - field(NELM, DBF_ULONG) { - promptgroup(GUI_COMPRESS) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Number of Elements") - } - field(FTVL, DBF_MENU) { - promptgroup(GUI_CONVERT) - special(SPC_NOMOD) - menu(menuFtype) - interest(1) - prompt("Field Type of Value") - } - field(NORD, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Number elements read") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * bptr") - interest(4) - prompt("Buffer Pointer") - } - field(SIML, DBF_INLINK) { - promptgroup(GUI_HIST) - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup(GUI_INPUTS) - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } - field(SIOL, DBF_OUTLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Sim Output Specifctn") - } - field(MPST, DBF_MENU) { - promptgroup(GUI_DISPLAY) - menu(aaoPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup(GUI_DISPLAY) - menu(aaoPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(HASH, DBF_ULONG) { - interest(3) - prompt("Hash of OnChange data.") - } -} -device(aao, CONSTANT, devAaoSoft, "Soft Channel") -device(aao, INST_IO, devaaoStream, "stream") -recordtype(mbbiDirect) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup(GUI_COMMON) - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_USHORT) { - promptgroup(GUI_INPUTS) - asl(ASL0) - pp(TRUE) - prompt("Current Value") - } - field(NOBT, DBF_SHORT) { - promptgroup(GUI_MBB) - special(SPC_NOMOD) - interest(1) - prompt("Number of Bits") - } - field(INP, DBF_INLINK) { - promptgroup(GUI_MBB) - interest(1) - prompt("Input Specification") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Raw Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(MLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(SHFT, DBF_USHORT) { - promptgroup(GUI_MBB) - interest(1) - prompt("Shift") - } - field(SIOL, DBF_INLINK) { - promptgroup(GUI_MBB) - interest(1) - prompt("Sim Input Specifctn") - } - field(SVAL, DBF_ULONG) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup(GUI_MBB) - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - menu(menuSimm) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup(GUI_MBB) - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } - field(B0, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 0") - } - field(B1, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 1") - } - field(B2, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 2") - } - field(B3, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 3") - } - field(B4, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 4") - } - field(B5, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 5") - } - field(B6, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 6") - } - field(B7, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 7") - } - field(B8, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 8") - } - field(B9, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 9") - } - field(BA, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit A") - } - field(BB, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit B") - } - field(BC, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit C") - } - field(BD, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit D") - } - field(BE, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit E") - } - field(BF, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit F") - } -} -device(mbbiDirect, CONSTANT, devMbbiDirectSoft, "Soft Channel") -device(mbbiDirect, CONSTANT, devMbbiDirectSoftRaw, "Raw Soft Channel") -device(mbbiDirect, CONSTANT, devMbbiDirectSoftCallback, "Async Soft Channel") -device(mbbiDirect, INST_IO, asynMbbiDirectUInt32Digital, "asynUInt32Digital") -device(mbbiDirect, INST_IO, devmbbiDirectStream, "stream") -recordtype(asyn) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup(GUI_COMMON) - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - asl(ASL0) - interest(4) - prompt("Value field (unused)") - } - field(PORT, DBF_STRING) { - promptgroup(GUI_INPUTS) - special(SPC_MOD) - initial("") - interest(1) - size(40) - prompt("asyn port") - } - field(ADDR, DBF_LONG) { - promptgroup(GUI_INPUTS) - special(SPC_MOD) - initial("0") - interest(1) - prompt("asyn address") - } - field(PCNCT, DBF_MENU) { - special(SPC_MOD) - menu(asynCONNECT) - interest(2) - prompt("Port Connect/Disconnect") - } - field(DRVINFO, DBF_STRING) { - promptgroup(GUI_INPUTS) - special(SPC_MOD) - initial("") - interest(2) - size(40) - prompt("Driver info string") - } - field(REASON, DBF_LONG) { - special(SPC_MOD) - interest(2) - prompt("asynUser->reason") - } - field(TMOD, DBF_MENU) { - promptgroup(GUI_INPUTS) - menu(asynTMOD) - interest(1) - prompt("Transaction mode") - } - field(TMOT, DBF_DOUBLE) { - promptgroup(GUI_INPUTS) - initial("1.0") - interest(1) - prompt("Timeout (sec)") - } - field(IFACE, DBF_MENU) { - promptgroup(GUI_INPUTS) - special(SPC_MOD) - menu(asynINTERFACE) - interest(2) - prompt("Interface") - } - field(OCTETIV, DBF_LONG) { - interest(2) - prompt("asynOctet is valid") - } - field(OPTIONIV, DBF_LONG) { - interest(2) - prompt("asynOption is valid") - } - field(GPIBIV, DBF_LONG) { - interest(2) - prompt("asynGPIB is valid") - } - field(I32IV, DBF_LONG) { - interest(2) - prompt("asynInt32 is valid") - } - field(UI32IV, DBF_LONG) { - interest(2) - prompt("asynUInt32Digital is valid") - } - field(F64IV, DBF_LONG) { - interest(2) - prompt("asynFloat64 is valid") - } - field(AOUT, DBF_STRING) { - promptgroup(GUI_OUTPUT) - interest(1) - pp(TRUE) - size(40) - prompt("Output (command) string") - } - field(OEOS, DBF_STRING) { - promptgroup(GUI_OUTPUT) - special(SPC_MOD) - interest(1) - size(40) - prompt("Output delimiter") - } - field(BOUT, DBF_CHAR) { - special(SPC_DBADDR) - interest(1) - pp(TRUE) - prompt("Output binary data") - } - field(OPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *optr") - interest(4) - prompt("Output buffer pointer") - } - field(OMAX, DBF_LONG) { - promptgroup(GUI_OUTPUT) - special(SPC_NOMOD) - initial("80") - interest(1) - prompt("Max. size of output array") - } - field(NOWT, DBF_LONG) { - promptgroup(GUI_OUTPUT) - initial("80") - interest(1) - prompt("Number of bytes to write") - } - field(NAWT, DBF_LONG) { - interest(1) - prompt("Number of bytes actually written") - } - field(OFMT, DBF_MENU) { - promptgroup(GUI_OUTPUT) - menu(asynFMT) - interest(1) - prompt("Output format") - } - field(AINP, DBF_STRING) { - special(SPC_NOMOD) - interest(1) - size(40) - prompt("Input (response) string") - } - field(TINP, DBF_STRING) { - special(SPC_NOMOD) - asl(ASL0) - interest(1) - size(40) - prompt("Translated input string") - } - field(IEOS, DBF_STRING) { - promptgroup(GUI_INPUTS) - special(SPC_MOD) - interest(1) - size(40) - prompt("Input Delimiter") - } - field(BINP, DBF_CHAR) { - special(SPC_DBADDR) - asl(ASL0) - prompt("Input binary data") - } - field(IPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *iptr") - interest(4) - size(4) - prompt("Input buffer pointer") - } - field(IMAX, DBF_LONG) { - promptgroup(GUI_INPUTS) - special(SPC_NOMOD) - initial("80") - interest(1) - prompt("Max. size of input array") - } - field(NRRD, DBF_LONG) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Number of bytes to read") - } - field(NORD, DBF_LONG) { - special(SPC_NOMOD) - interest(1) - prompt("Number of bytes read") - } - field(IFMT, DBF_MENU) { - promptgroup(GUI_INPUTS) - menu(asynFMT) - interest(1) - prompt("Input format") - } - field(EOMR, DBF_MENU) { - special(SPC_NOMOD) - menu(asynEOMREASON) - interest(1) - prompt("EOM reason") - } - field(I32INP, DBF_LONG) { - special(SPC_NOMOD) - interest(2) - prompt("asynInt32 input") - } - field(I32OUT, DBF_LONG) { - promptgroup(GUI_OUTPUT) - interest(2) - pp(TRUE) - prompt("asynInt32 output") - } - field(UI32INP, DBF_ULONG) { - special(SPC_NOMOD) - interest(2) - prompt("asynUInt32Digital input") - } - field(UI32OUT, DBF_ULONG) { - promptgroup(GUI_OUTPUT) - interest(2) - pp(TRUE) - prompt("asynUInt32Digital output") - } - field(UI32MASK, DBF_ULONG) { - promptgroup(GUI_OUTPUT) - special(SPC_MOD) - interest(2) - initial("0xffffffff") - prompt("asynUInt32Digital mask") - } - field(F64INP, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("asynFloat64 input") - } - field(F64OUT, DBF_DOUBLE) { - promptgroup(GUI_OUTPUT) - interest(2) - pp(TRUE) - prompt("asynFloat64 output") - } - field(BAUD, DBF_MENU) { - promptgroup(GUI_INPUTS) - special(SPC_MOD) - menu(serialBAUD) - interest(2) - prompt("Baud rate") - } - field(LBAUD, DBF_LONG) { - promptgroup(GUI_INPUTS) - special(SPC_MOD) - interest(2) - prompt("Baud rate") - } - field(PRTY, DBF_MENU) { - promptgroup(GUI_INPUTS) - special(SPC_MOD) - menu(serialPRTY) - interest(2) - prompt("Parity") - } - field(DBIT, DBF_MENU) { - promptgroup(GUI_INPUTS) - special(SPC_MOD) - menu(serialDBIT) - interest(2) - prompt("Data bits") - } - field(SBIT, DBF_MENU) { - promptgroup(GUI_INPUTS) - special(SPC_MOD) - menu(serialSBIT) - interest(2) - prompt("Stop bits") - } - field(MCTL, DBF_MENU) { - promptgroup(GUI_INPUTS) - special(SPC_MOD) - menu(serialMCTL) - interest(2) - prompt("Modem control") - } - field(FCTL, DBF_MENU) { - promptgroup(GUI_INPUTS) - special(SPC_MOD) - menu(serialFCTL) - interest(2) - prompt("Flow control") - } - field(IXON, DBF_MENU) { - promptgroup(GUI_INPUTS) - special(SPC_MOD) - menu(serialIX) - interest(2) - prompt("Output XON/XOFF") - } - field(IXOFF, DBF_MENU) { - promptgroup(GUI_INPUTS) - special(SPC_MOD) - menu(serialIX) - interest(2) - prompt("Input XON/XOFF") - } - field(IXANY, DBF_MENU) { - promptgroup(GUI_INPUTS) - special(SPC_MOD) - menu(serialIX) - interest(2) - prompt("XON=any character") - } - field(UCMD, DBF_MENU) { - promptgroup(GUI_OUTPUT) - menu(gpibUCMD) - interest(2) - pp(TRUE) - prompt("Universal command") - } - field(ACMD, DBF_MENU) { - promptgroup(GUI_OUTPUT) - menu(gpibACMD) - interest(2) - pp(TRUE) - prompt("Addressed command") - } - field(SPR, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Serial poll response") - } - field(TMSK, DBF_LONG) { - promptgroup(GUI_DISPLAY) - special(SPC_MOD) - interest(1) - prompt("Trace mask") - } - field(TB0, DBF_MENU) { - promptgroup(GUI_DISPLAY) - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace error") - } - field(TB1, DBF_MENU) { - promptgroup(GUI_DISPLAY) - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace IO device") - } - field(TB2, DBF_MENU) { - promptgroup(GUI_DISPLAY) - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace IO filter") - } - field(TB3, DBF_MENU) { - promptgroup(GUI_DISPLAY) - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace IO driver") - } - field(TB4, DBF_MENU) { - promptgroup(GUI_DISPLAY) - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace flow") - } - field(TB5, DBF_MENU) { - promptgroup(GUI_DISPLAY) - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace warning") - } - field(TIOM, DBF_LONG) { - promptgroup(GUI_DISPLAY) - special(SPC_MOD) - interest(1) - prompt("Trace I/O mask") - } - field(TIB0, DBF_MENU) { - promptgroup(GUI_DISPLAY) - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace IO ASCII") - } - field(TIB1, DBF_MENU) { - promptgroup(GUI_DISPLAY) - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace IO escape") - } - field(TIB2, DBF_MENU) { - promptgroup(GUI_DISPLAY) - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace IO hex") - } - field(TINM, DBF_LONG) { - promptgroup(GUI_DISPLAY) - special(SPC_MOD) - interest(1) - prompt("Trace Info mask") - } - field(TINB0, DBF_MENU) { - promptgroup(GUI_DISPLAY) - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace Info Time") - } - field(TINB1, DBF_MENU) { - promptgroup(GUI_DISPLAY) - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace Info Port") - } - field(TINB2, DBF_MENU) { - promptgroup(GUI_DISPLAY) - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace Info Source") - } - field(TINB3, DBF_MENU) { - promptgroup(GUI_DISPLAY) - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace Info Thread") - } - field(TSIZ, DBF_LONG) { - promptgroup(GUI_DISPLAY) - special(SPC_MOD) - interest(1) - prompt("Trace IO truncate size") - } - field(TFIL, DBF_STRING) { - promptgroup(GUI_DISPLAY) - special(SPC_MOD) - interest(1) - size(40) - prompt("Trace IO file") - } - field(AUCT, DBF_MENU) { - promptgroup(GUI_INPUTS) - special(SPC_MOD) - menu(asynAUTOCONNECT) - interest(1) - prompt("Autoconnect") - } - field(CNCT, DBF_MENU) { - promptgroup(GUI_INPUTS) - special(SPC_MOD) - menu(asynCONNECT) - interest(1) - prompt("Connect/Disconnect") - } - field(ENBL, DBF_MENU) { - promptgroup(GUI_INPUTS) - special(SPC_MOD) - menu(asynENABLE) - interest(1) - prompt("Enable/Disable") - } - field(ERRS, DBF_NOACCESS) { - special(SPC_DBADDR) - extra("char *errs") - interest(4) - prompt("Error string") - } - field(AQR, DBF_UCHAR) { - special(SPC_MOD) - interest(4) - prompt("Abort queueRequest") - } -} -device(asyn, INST_IO, asynRecordDevice, "asynRecordDevice") -recordtype(waveform) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup(GUI_COMMON) - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Event") + promptgroup(GUI_SCAN) + interest(1) } field(TSEL, DBF_INLINK) { promptgroup(GUI_SCAN) @@ -8711,2317 +21651,242 @@ prompt("Device Type") } field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") prompt("Disable Value") + promptgroup(GUI_SCAN) + initial("1") } field(DISA, DBF_SHORT) { prompt("Disable") } field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) + interest(1) + promptgroup(GUI_SCAN) prompt("Scanning Disable") } field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) + prompt("Monitor lock") + special(SPC_NOMOD) + interest(4) extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") } field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) extra("ELLLIST mlis") interest(4) - prompt("Monitor List") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(RARM, DBF_SHORT) { - promptgroup(GUI_WAVE) - interest(1) - pp(TRUE) - prompt("Rearm the waveform") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Display Precision") - } - field(INP, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - size(16) - prompt("Engineering Units Name") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Low Operating Range") - } - field(NELM, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Number of Elements") - } - field(FTVL, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - interest(1) - prompt("Field Type of Value") - } - field(BUSY, DBF_SHORT) { - special(SPC_NOMOD) - prompt("Busy Indicator") - } - field(NORD, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Number elements read") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * bptr") - interest(4) - prompt("Buffer Pointer") - } - field(SIOL, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Sim Input Specifctn") - } - field(SIML, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup(GUI_INPUTS) - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } - field(MPST, DBF_MENU) { - promptgroup(GUI_DISPLAY) - menu(waveformPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup(GUI_DISPLAY) - menu(waveformPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(HASH, DBF_ULONG) { - interest(3) - prompt("Hash of OnChange data.") - } -} -device(waveform, CONSTANT, devWfSoft, "Soft Channel") -device(waveform, INST_IO, asynWfOctetCmdResponse, "asynOctetCmdResponse") -device(waveform, INST_IO, asynWfOctetWriteRead, "asynOctetWriteRead") -device(waveform, INST_IO, asynWfOctetRead, "asynOctetRead") -device(waveform, INST_IO, asynWfOctetWrite, "asynOctetWrite") -device(waveform, INST_IO, asynInt8ArrayWfIn, "asynInt8ArrayIn") -device(waveform, INST_IO, asynInt8ArrayWfOut, "asynInt8ArrayOut") -device(waveform, INST_IO, asynInt16ArrayWfIn, "asynInt16ArrayIn") -device(waveform, INST_IO, asynInt16ArrayWfOut, "asynInt16ArrayOut") -device(waveform, INST_IO, asynInt32ArrayWfIn, "asynInt32ArrayIn") -device(waveform, INST_IO, asynInt32ArrayWfOut, "asynInt32ArrayOut") -device(waveform, INST_IO, asynInt32TimeSeries, "asynInt32TimeSeries") -device(waveform, INST_IO, asynFloat32ArrayWfIn, "asynFloat32ArrayIn") -device(waveform, INST_IO, asynFloat32ArrayWfOut, "asynFloat32ArrayOut") -device(waveform, INST_IO, asynFloat64ArrayWfIn, "asynFloat64ArrayIn") -device(waveform, INST_IO, asynFloat64ArrayWfOut, "asynFloat64ArrayOut") -device(waveform, INST_IO, asynFloat64TimeSeries, "asynFloat64TimeSeries") -device(waveform, INST_IO, devwaveformStream, "stream") -recordtype(fanout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup(GUI_COMMON) - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - asl(ASL0) - pp(TRUE) - prompt("Used to trigger") - } - field(SELM, DBF_MENU) { - promptgroup(GUI_LINKS) - menu(fanoutSELM) - interest(1) - prompt("Select Mechanism") - } - field(SELN, DBF_USHORT) { - initial("1") - interest(1) - prompt("Link Selection") - } - field(SELL, DBF_INLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Link Selection Loc") - } - field(OFFS, DBF_SHORT) { - initial("0") - interest(1) - prompt("Offset for Specified") - } - field(SHFT, DBF_SHORT) { - initial("-1") - interest(1) - prompt("Shift for Mask mode") - } - field(LNK0, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Link 0") - } - field(LNK1, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Link 1") - } - field(LNK2, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Link 2") - } - field(LNK3, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Link 3") - } - field(LNK4, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Link 4") - } - field(LNK5, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Link 5") - } - field(LNK6, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Link 6") - } - field(LNK7, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Link 7") - } - field(LNK8, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Link 8") - } - field(LNK9, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Link 9") - } - field(LNKA, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Link 10") - } - field(LNKB, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Link 11") - } - field(LNKC, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Link 12") - } - field(LNKD, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Link 13") - } - field(LNKE, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Link 14") - } - field(LNKF, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Link 15") - } -} -recordtype(longin) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup(GUI_COMMON) - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) + special(SPC_NOMOD) prompt("Monitor List") } field(DISP, DBF_UCHAR) { prompt("Disable putField") } field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) prompt("Force Processing") + interest(3) + pp(TRUE) } field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) initial("UDF") prompt("Alarm Status") + menu(menuAlarmStat) + special(SPC_NOMOD) } field(SEVR, DBF_MENU) { - special(SPC_NOMOD) menu(menuAlarmSevr) prompt("Alarm Severity") + special(SPC_NOMOD) } field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) + interest(2) + menu(menuAlarmStat) + special(SPC_NOMOD) prompt("New Alarm Status") } field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) + menu(menuAlarmSevr) prompt("New Alarm Severity") + special(SPC_NOMOD) + interest(2) } field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) prompt("Alarm Ack Severity") + menu(menuAlarmSevr) + special(SPC_NOMOD) + interest(2) } field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) initial("YES") - interest(2) + promptgroup(GUI_ALARMS) + interest(2) + special(SPC_NOMOD) + menu(menuYesNo) prompt("Alarm Ack Transient") } field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) prompt("Disable Alarm Sevrty") + menu(menuAlarmSevr) + promptgroup(GUI_SCAN) + interest(1) } field(LCNT, DBF_UCHAR) { special(SPC_NOMOD) - interest(2) prompt("Lock Count") + interest(2) } field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) + interest(1) + special(SPC_NOMOD) prompt("Record active") } field(PUTF, DBF_UCHAR) { special(SPC_NOMOD) - interest(1) prompt("dbPutField process") + interest(1) } field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) prompt("Reprocess ") + special(SPC_NOMOD) + interest(1) } field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) extra("struct asgMember *asp") interest(4) + special(SPC_NOMOD) prompt("Access Security Pvt") } field(PPN, DBF_NOACCESS) { special(SPC_NOMOD) + prompt("pprocessNotify") + interest(4) extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") } field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) extra("struct processNotifyRecord *ppnr") interest(4) prompt("pprocessNotifyRecord") + special(SPC_NOMOD) } field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) extra("struct scan_element *spvt") - interest(4) + special(SPC_NOMOD) prompt("Scan Private") + interest(4) } field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") interest(4) prompt("Address of RSET") + special(SPC_NOMOD) + extra("struct rset *rset") } field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") interest(4) prompt("DSET address") + special(SPC_NOMOD) + extra("struct dset *dset") } field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) extra("void *dpvt") interest(4) + special(SPC_NOMOD) prompt("Device Private") } field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) extra("struct dbRecordType *rdes") - interest(4) + special(SPC_NOMOD) prompt("Address of dbRecordType") + interest(4) } field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) extra("struct lockRecord *lset") interest(4) + special(SPC_NOMOD) prompt("Lock Set") } field(PRIO, DBF_MENU) { promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuPriority) interest(1) prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - promptgroup(GUI_INPUTS) - asl(ASL0) - pp(TRUE) - prompt("Current value") - } - field(INP, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - size(16) - prompt("Units name") - } - field(HOPR, DBF_LONG) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_LONG) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_LONG) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_LONG) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_LONG) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_LONG) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_LONG) { - promptgroup(GUI_ALARMS) - interest(1) - prompt("Alarm Deadband") - } - field(AFTC, DBF_DOUBLE) { - promptgroup(GUI_ALARMS) - interest(1) - prompt("Alarm Filter Time Constant") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(ADEL, DBF_LONG) { - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_LONG) { - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(SIOL, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Sim Input Specifctn") - } - field(SVAL, DBF_LONG) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup(GUI_INPUTS) - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } -} -device(longin, CONSTANT, devLiSoft, "Soft Channel") -device(longin, CONSTANT, devLiSoftCallback, "Async Soft Channel") -device(longin, INST_IO, devLiGeneralTime, "General Time") -device(longin, INST_IO, asynLiInt32, "asynInt32") -device(longin, INST_IO, asynLiUInt32Digital, "asynUInt32Digital") -device(longin, INST_IO, devlonginStream, "stream") -recordtype(printf) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "epicsTime.h" - %#include "devSup.h" - % - %/* Declare Device Support Entry Table */ - %typedef struct printfdset { - % long number; - % DEVSUPFUN report; - % DEVSUPFUN init; - % DEVSUPFUN init_record; - % DEVSUPFUN get_ioint_info; - % DEVSUPFUN write_string; - %} printfdset; - % - %/* Number of INPx fields defined */ - %#define PRINTF_NLINKS 10 - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup(GUI_COMMON) - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) menu(menuPriority) - interest(1) - prompt("Scheduling Priority") + special(SPC_SCAN) } field(TPRO, DBF_UCHAR) { prompt("Trace Processing") } field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) extra("char bkpt") - interest(1) prompt("Break Point") + special(SPC_NOMOD) + interest(1) } field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) prompt("Undefined") + interest(1) + promptgroup(GUI_COMMON) + initial("1") + pp(TRUE) } field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) initial("INVALID") + promptgroup(GUI_COMMON) interest(1) prompt("Undefined Alarm Sevrty") + menu(menuAlarmSevr) } field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) extra("epicsTimeStamp time") interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("char *val") - pp(TRUE) - prompt("Result") - } - field(SIZV, DBF_USHORT) { - promptgroup(GUI_OUTPUT) - special(SPC_NOMOD) - initial("41") - interest(1) - prompt("Size of VAL buffer") - } - field(LEN, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Length of VAL") - } - field(OUT, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Specification") - } - field(FMT, DBF_STRING) { - promptgroup(GUI_CALC) - pp(TRUE) - size(81) - prompt("Format String") - } - field(IVLS, DBF_STRING) { - promptgroup(GUI_CALC) - initial("LNK") - size(16) - prompt("Invalid Link String") - } - field(INP0, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input 0") - } - field(INP1, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input 1") - } - field(INP2, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input 2") - } - field(INP3, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input 3") - } - field(INP4, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input 4") - } - field(INP5, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input 5") - } - field(INP6, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input 6") - } - field(INP7, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input 7") - } - field(INP8, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input 8") - } - field(INP9, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input 9") - } -} -device(printf, CONSTANT, devPrintfSoft, "Soft Channel") -device(printf, CONSTANT, devPrintfSoftCallback, "Async Soft Channel") -device(printf, INST_IO, devPrintfStdio, "stdio") -recordtype(sel) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup(GUI_COMMON) - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) + special(SPC_NOMOD) prompt("Time") } field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - special(SPC_NOMOD) - asl(ASL0) - prompt("Result") - } - field(SELM, DBF_MENU) { - promptgroup(GUI_INPUTS) - menu(selSELM) - prompt("Select Mechanism") - } - field(SELN, DBF_USHORT) { - prompt("Index value") - } - field(PREC, DBF_SHORT) { - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Display Precision") - } - field(NVL, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Index Value Location") - } - field(INPA, DBF_INLINK) { - promptgroup(GUI_SELECT) - interest(1) - prompt("Input A") - } - field(INPB, DBF_INLINK) { - promptgroup(GUI_SELECT) - interest(1) - prompt("Input B") - } - field(INPC, DBF_INLINK) { - promptgroup(GUI_SELECT) - interest(1) - prompt("Input C") - } - field(INPD, DBF_INLINK) { - promptgroup(GUI_SELECT) - interest(1) - prompt("Input D") - } - field(INPE, DBF_INLINK) { - promptgroup(GUI_SELECT) - interest(1) - prompt("Input E") - } - field(INPF, DBF_INLINK) { - promptgroup(GUI_SELECT) - interest(1) - prompt("Input F") - } - field(INPG, DBF_INLINK) { - promptgroup(GUI_SELECT) - interest(1) - prompt("Input G") - } - field(INPH, DBF_INLINK) { - promptgroup(GUI_SELECT) - interest(1) - prompt("Input H") - } - field(INPI, DBF_INLINK) { - promptgroup(GUI_SELECT) - interest(1) - prompt("Input I") - } - field(INPJ, DBF_INLINK) { - promptgroup(GUI_SELECT) - interest(1) - prompt("Input J") - } - field(INPK, DBF_INLINK) { - promptgroup(GUI_SELECT) - interest(1) - prompt("Input K") - } - field(INPL, DBF_INLINK) { - promptgroup(GUI_SELECT) - interest(1) - prompt("Input L") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - size(16) - prompt("Units Name") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - prompt("High Operating Rng") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup(GUI_ALARMS) - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Monitor Deadband") - } - field(A, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input A") - } - field(B, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input B") - } - field(C, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input C") - } - field(D, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input D") - } - field(E, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input E") - } - field(F, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input F") - } - field(G, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input G") - } - field(H, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input H") - } - field(I, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input I") - } - field(J, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input J") - } - field(K, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input K") - } - field(L, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input L") - } - field(LA, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of A") - } - field(LB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of B") - } - field(LC, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of C") - } - field(LD, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of D") - } - field(LE, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of E") - } - field(LF, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of F") - } - field(LG, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of G") - } - field(LH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of H") - } - field(LI, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of I") - } - field(LJ, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of J") - } - field(LK, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of K") - } - field(LL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of L") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(NLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Index Monitored") - } -} -recordtype(bi) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup(GUI_COMMON) - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Process Link") + promptgroup(GUI_LINKS) + interest(1) } field(INP, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) prompt("Input Specification") + interest(1) + promptgroup(GUI_INPUTS) } field(VAL, DBF_ENUM) { promptgroup(GUI_INPUTS) - asl(ASL0) - pp(TRUE) prompt("Current Value") + asl(ASL0) + pp(TRUE) } field(ZSV, DBF_MENU) { - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) + pp(TRUE) + menu(menuAlarmSevr) prompt("Zero Error Severity") + interest(1) + promptgroup(GUI_ALARMS) } field(OSV, DBF_MENU) { - promptgroup(GUI_BITS1) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) prompt("One Error Severity") + menu(menuAlarmSevr) + promptgroup(GUI_BITS1) + interest(1) + pp(TRUE) } field(COSV, DBF_MENU) { - promptgroup(GUI_BITS2) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) + menu(menuAlarmSevr) prompt("Change of State Svr") + promptgroup(GUI_BITS2) + interest(1) + pp(TRUE) } field(ZNAM, DBF_STRING) { - prop(YES) - promptgroup(GUI_CALC) - interest(1) - pp(TRUE) + prompt("Zero Name") + promptgroup(GUI_CALC) size(26) - prompt("Zero Name") + interest(1) + prop(YES) + pp(TRUE) } field(ONAM, DBF_STRING) { prop(YES) + pp(TRUE) + interest(1) + size(26) promptgroup(GUI_CLOCK) - interest(1) - pp(TRUE) - size(26) prompt("One Name") } field(RVAL, DBF_ULONG) { @@ -11030,28 +21895,28 @@ } field(ORAW, DBF_ULONG) { special(SPC_NOMOD) - interest(3) prompt("prev Raw Value") + interest(3) } field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) prompt("Hardware Mask") + special(SPC_NOMOD) + interest(1) } field(LALM, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) + interest(3) + special(SPC_NOMOD) prompt("Last Value Alarmed") } field(MLST, DBF_USHORT) { special(SPC_NOMOD) - interest(3) prompt("Last Value Monitored") + interest(3) } field(SIOL, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) prompt("Sim Input Specifctn") + interest(1) + promptgroup(GUI_INPUTS) } field(SVAL, DBF_ULONG) { prompt("Simulation Value") @@ -11062,14 +21927,14 @@ prompt("Sim Mode Location") } field(SIMM, DBF_MENU) { + interest(1) menu(menuSimm) - interest(1) prompt("Simulation Mode") } field(SIMS, DBF_MENU) { promptgroup(GUI_INPUTS) - menu(menuAlarmSevr) - interest(2) + interest(2) + menu(menuAlarmSevr) prompt("Sim mode Alarm Svrty") } } @@ -11080,5606 +21945,56 @@ device(bi, INST_IO, asynBiInt32, "asynInt32") device(bi, INST_IO, asynBiUInt32Digital, "asynUInt32Digital") device(bi, INST_IO, devbiStream, "stream") -recordtype(lso) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "epicsTime.h" - %#include "devSup.h" - % - %/* Declare Device Support Entry Table */ - %typedef struct lsodset { - % long number; - % DEVSUPFUN report; - % DEVSUPFUN init; - % DEVSUPFUN init_record; - % DEVSUPFUN get_ioint_info; - % DEVSUPFUN write_string; - %} lsodset; - % - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup(GUI_COMMON) - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("char *val") - pp(TRUE) - prompt("Current Value") - } - field(OVAL, DBF_NOACCESS) { - special(SPC_DBADDR) - extra("char *oval") - interest(3) - prompt("Previous Value") - } - field(SIZV, DBF_USHORT) { - promptgroup(GUI_OUTPUT) - special(SPC_NOMOD) - initial("41") - interest(1) - prompt("Size of buffers") - } - field(LEN, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Length of VAL") - } - field(OLEN, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Length of OVAL") - } - field(DOL, DBF_INLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Desired Output Link") - } - field(IVOA, DBF_MENU) { - promptgroup(GUI_OUTPUT) - menu(menuIvoa) - interest(2) - prompt("INVALID Output Action") - } - field(IVOV, DBF_STRING) { - promptgroup(GUI_OUTPUT) - interest(2) - size(40) - prompt("INVALID Output Value") - } - field(OMSL, DBF_MENU) { - promptgroup(GUI_OUTPUT) - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(OUT, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Specification") - } - field(MPST, DBF_MENU) { - promptgroup(GUI_DISPLAY) - menu(menuPost) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup(GUI_DISPLAY) - menu(menuPost) - interest(1) - prompt("Post Archive Monitors") - } - field(SIML, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Sim Mode link") - } - field(SIMM, DBF_MENU) { - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup(GUI_INPUTS) - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } - field(SIOL, DBF_OUTLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Sim Output Specifctn") - } -} -device(lso, CONSTANT, devLsoSoft, "Soft Channel") -device(lso, CONSTANT, devLsoSoftCallback, "Async Soft Channel") -device(lso, INST_IO, devLsoStdio, "stdio") -recordtype(subArray) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup(GUI_COMMON) - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup(GUI_COMMON) - interest(1) - prompt("Display Precision") - } - field(FTVL, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuFtype) - interest(1) - prompt("Field Type of Value") - } - field(INP, DBF_INLINK) { - promptgroup(GUI_BITS1) - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup(GUI_BITS2) - interest(1) - size(16) - prompt("Engineering Units Name") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_CALC) - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_CLOCK) - interest(1) - prompt("Low Operating Range") - } - field(MALM, DBF_ULONG) { - promptgroup(GUI_CLOCK) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Maximum Elements ") - } - field(NELM, DBF_ULONG) { - promptgroup(GUI_COMPRESS) - initial("1") - pp(TRUE) - prompt("Number of Elements") - } - field(INDX, DBF_ULONG) { - promptgroup(GUI_CONVERT) - pp(TRUE) - prompt("Substring Index") - } - field(BUSY, DBF_SHORT) { - special(SPC_NOMOD) - prompt("Busy Indicator") - } - field(NORD, DBF_LONG) { - special(SPC_NOMOD) - prompt("Number elements read") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * bptr") - interest(4) - prompt("Buffer Pointer") - } -} -device(subArray, CONSTANT, devSASoft, "Soft Channel") -recordtype(calc) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "epicsTime.h" - %#include "postfix.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup(GUI_COMMON) - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - asl(ASL0) - prompt("Result") - } - field(CALC, DBF_STRING) { - promptgroup(GUI_CALC) - special(SPC_CALC) - initial("0") - pp(TRUE) - size(80) - prompt("Calculation") - } - field(INPA, DBF_INLINK) { - promptgroup(GUI_CALC) - interest(1) - prompt("Input A") - } - field(INPB, DBF_INLINK) { - promptgroup(GUI_CALC) - interest(1) - prompt("Input B") - } - field(INPC, DBF_INLINK) { - promptgroup(GUI_CALC) - interest(1) - prompt("Input C") - } - field(INPD, DBF_INLINK) { - promptgroup(GUI_CALC) - interest(1) - prompt("Input D") - } - field(INPE, DBF_INLINK) { - promptgroup(GUI_CALC) - interest(1) - prompt("Input E") - } - field(INPF, DBF_INLINK) { - promptgroup(GUI_CALC) - interest(1) - prompt("Input F") - } - field(INPG, DBF_INLINK) { - promptgroup(GUI_CALC) - interest(1) - prompt("Input G") - } - field(INPH, DBF_INLINK) { - promptgroup(GUI_CALC) - interest(1) - prompt("Input H") - } - field(INPI, DBF_INLINK) { - promptgroup(GUI_CALC) - interest(1) - prompt("Input I") - } - field(INPJ, DBF_INLINK) { - promptgroup(GUI_CALC) - interest(1) - prompt("Input J") - } - field(INPK, DBF_INLINK) { - promptgroup(GUI_CALC) - interest(1) - prompt("Input K") - } - field(INPL, DBF_INLINK) { - promptgroup(GUI_CALC) - interest(1) - prompt("Input L") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - size(16) - prompt("Units Name") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Display Precision") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - prompt("High Operating Rng") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(AFTC, DBF_DOUBLE) { - promptgroup(GUI_ALARMS) - interest(1) - prompt("Alarm Filter Time Constant") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(HYST, DBF_DOUBLE) { - promptgroup(GUI_ALARMS) - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Monitor Deadband") - } - field(A, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input A") - } - field(B, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input B") - } - field(C, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input C") - } - field(D, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input D") - } - field(E, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input E") - } - field(F, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input F") - } - field(G, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input G") - } - field(H, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input H") - } - field(I, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input I") - } - field(J, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input J") - } - field(K, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input K") - } - field(L, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input L") - } - field(LA, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of A") - } - field(LB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of B") - } - field(LC, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of C") - } - field(LD, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of D") - } - field(LE, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of E") - } - field(LF, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of F") - } - field(LG, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of G") - } - field(LH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of H") - } - field(LI, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of I") - } - field(LJ, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of J") - } - field(LK, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of K") - } - field(LL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of L") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(RPCL, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char rpcl[INFIX_TO_POSTFIX_SIZE(80)]") - interest(4) - prompt("Reverse Polish Calc") - } -} -recordtype(mbboDirect) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup(GUI_COMMON) - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_USHORT) { - promptgroup(GUI_OUTPUT) - asl(ASL0) - pp(TRUE) - prompt("Word") - } - field(OMSL, DBF_MENU) { - promptgroup(GUI_MBB) - special(SPC_RESET) - menu(menuOmsl) - interest(1) - pp(TRUE) - prompt("Output Mode Select") - } - field(NOBT, DBF_SHORT) { - promptgroup(GUI_MBB) - special(SPC_NOMOD) - interest(1) - prompt("Number of Bits") - } - field(DOL, DBF_INLINK) { - promptgroup(GUI_MBB) - interest(1) - prompt("Desired Output Loc") - } - field(OUT, DBF_OUTLINK) { - promptgroup(GUI_MBB) - interest(1) - prompt("Output Specification") - } - field(B0, DBF_UCHAR) { - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 0") - } - field(B1, DBF_UCHAR) { - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 1") - } - field(B2, DBF_UCHAR) { - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 2") - } - field(B3, DBF_UCHAR) { - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 3") - } - field(B4, DBF_UCHAR) { - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 4") - } - field(B5, DBF_UCHAR) { - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 5") - } - field(B6, DBF_UCHAR) { - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 6") - } - field(B7, DBF_UCHAR) { - promptgroup(GUI_BITS1) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 7") - } - field(B8, DBF_UCHAR) { - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 8") - } - field(B9, DBF_UCHAR) { - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 9") - } - field(BA, DBF_UCHAR) { - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 10") - } - field(BB, DBF_UCHAR) { - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 11") - } - field(BC, DBF_UCHAR) { - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 12") - } - field(BD, DBF_UCHAR) { - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 13") - } - field(BE, DBF_UCHAR) { - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 14") - } - field(BF, DBF_UCHAR) { - promptgroup(GUI_BITS2) - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 15") - } - field(RVAL, DBF_ULONG) { - special(SPC_NOMOD) - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Raw Value") - } - field(RBV, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Readback Value") - } - field(ORBV, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Readback Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(MLST, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(SHFT, DBF_ULONG) { - promptgroup(GUI_MBB) - interest(1) - prompt("Shift") - } - field(SIOL, DBF_OUTLINK) { - promptgroup(GUI_MBB) - interest(1) - prompt("Sim Output Specifctn") - } - field(SIML, DBF_INLINK) { - promptgroup(GUI_MBB) - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup(GUI_MBB) - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } - field(IVOA, DBF_MENU) { - promptgroup(GUI_MBB) - menu(menuIvoa) - interest(2) - prompt("INVALID outpt action") - } - field(IVOV, DBF_USHORT) { - promptgroup(GUI_MBB) - interest(2) - prompt("INVALID output value") - } -} -device(mbboDirect, CONSTANT, devMbboDirectSoft, "Soft Channel") -device(mbboDirect, CONSTANT, devMbboDirectSoftRaw, "Raw Soft Channel") -device(mbboDirect, CONSTANT, devMbboDirectSoftCallback, "Async Soft Channel") -device(mbboDirect, INST_IO, asynMbboDirectUInt32Digital, "asynUInt32Digital") -device(mbboDirect, INST_IO, devmbboDirectStream, "stream") -recordtype(longout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup(GUI_COMMON) - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - promptgroup(GUI_OUTPUT) - asl(ASL0) - pp(TRUE) - prompt("Desired Output") - } - field(OUT, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Specification") - } - field(DOL, DBF_INLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup(GUI_OUTPUT) - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - size(16) - prompt("Units name") - } - field(DRVH, DBF_LONG) { - prop(YES) - promptgroup(GUI_OUTPUT) - interest(1) - pp(TRUE) - prompt("Drive High Limit") - } - field(DRVL, DBF_LONG) { - prop(YES) - promptgroup(GUI_OUTPUT) - interest(1) - pp(TRUE) - prompt("Drive Low Limit") - } - field(HOPR, DBF_LONG) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_LONG) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_LONG) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_LONG) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_LONG) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_LONG) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_LONG) { - promptgroup(GUI_ALARMS) - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_LONG) { - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_LONG) { - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(SIOL, DBF_OUTLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Sim Output Specifctn") - } - field(SIML, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup(GUI_INPUTS) - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } - field(IVOA, DBF_MENU) { - promptgroup(GUI_OUTPUT) - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_LONG) { - promptgroup(GUI_OUTPUT) - interest(2) - prompt("INVALID output value") - } -} -device(longout, CONSTANT, devLoSoft, "Soft Channel") -device(longout, CONSTANT, devLoSoftCallback, "Async Soft Channel") -device(longout, INST_IO, asynLoInt32, "asynInt32") -device(longout, INST_IO, asynLoUInt32Digital, "asynUInt32Digital") -device(longout, INST_IO, devlongoutStream, "stream") -recordtype(aSub) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "epicsTime.h" - %struct aSubRecord; - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup(GUI_COMMON) - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - asl(ASL0) - prompt("Subr. return value") - } - field(OVAL, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Old return value") - } - field(INAM, DBF_STRING) { - promptgroup(GUI_SUB) - special(SPC_NOMOD) - interest(1) - size(41) - prompt("Initialize Subr. Name") - } - field(LFLG, DBF_MENU) { - promptgroup(GUI_SUB) - menu(aSubLFLG) - interest(1) - prompt("Subr. Input Enable") - } - field(SUBL, DBF_INLINK) { - promptgroup(GUI_SUB) - special(SPC_NOMOD) - interest(1) - prompt("Subroutine Name Link") - } - field(SNAM, DBF_STRING) { - promptgroup(GUI_SUB) - special(SPC_MOD) - interest(1) - size(41) - prompt("Process Subr. Name") - } - field(ONAM, DBF_STRING) { - promptgroup(GUI_SUB) - special(SPC_NOMOD) - interest(3) - size(41) - prompt("Old Subr. Name") - } - field(SADR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("long (*sadr)(struct aSubRecord *)") - interest(2) - prompt("Subroutine Address") - } - field(CADR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void (*cadr)(struct aSubRecord *)") - interest(2) - prompt("Subroutine Cleanup Address") - } - field(BRSV, DBF_MENU) { - promptgroup(GUI_SUB) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Bad Return Severity") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Display Precision") - } - field(EFLG, DBF_MENU) { - promptgroup(GUI_OUTPUT) - menu(aSubEFLG) - initial("1") - interest(1) - prompt("Output Event Flag") - } - field(INPA, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input Link A") - } - field(INPB, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input Link B") - } - field(INPC, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input Link C") - } - field(INPD, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input Link D") - } - field(INPE, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input Link E") - } - field(INPF, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input Link F") - } - field(INPG, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input Link G") - } - field(INPH, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input Link H") - } - field(INPI, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input Link I") - } - field(INPJ, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input Link J") - } - field(INPK, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input Link K") - } - field(INPL, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input Link L") - } - field(INPM, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input Link M") - } - field(INPN, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input Link N") - } - field(INPO, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input Link O") - } - field(INPP, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input Link P") - } - field(INPQ, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input Link Q") - } - field(INPR, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input Link R") - } - field(INPS, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input Link S") - } - field(INPT, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input Link T") - } - field(INPU, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input Link U") - } - field(A, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *a") - interest(2) - prompt("Input value A") - } - field(B, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *b") - interest(2) - prompt("Input value B") - } - field(C, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *c") - interest(2) - prompt("Input value C") - } - field(D, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *d") - interest(2) - prompt("Input value D") - } - field(E, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *e") - interest(2) - prompt("Input value E") - } - field(F, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *f") - interest(2) - prompt("Input value F") - } - field(G, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *g") - interest(2) - prompt("Input value G") - } - field(H, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *h") - interest(2) - prompt("Input value H") - } - field(I, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *i") - interest(2) - prompt("Input value I") - } - field(J, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *j") - interest(2) - prompt("Input value J") - } - field(K, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *k") - interest(2) - prompt("Input value K") - } - field(L, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *l") - interest(2) - prompt("Input value L") - } - field(M, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *m") - interest(2) - prompt("Input value M") - } - field(N, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *n") - interest(2) - prompt("Input value N") - } - field(O, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *o") - interest(2) - prompt("Input value O") - } - field(P, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *p") - interest(2) - prompt("Input value P") - } - field(Q, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *q") - interest(2) - prompt("Input value Q") - } - field(R, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *r") - interest(2) - prompt("Input value R") - } - field(S, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *s") - interest(2) - prompt("Input value S") - } - field(T, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *t") - interest(2) - prompt("Input value T") - } - field(U, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *u") - interest(2) - prompt("Input value U") - } - field(FTA, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of A") - } - field(FTB, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of B") - } - field(FTC, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of C") - } - field(FTD, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of D") - } - field(FTE, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of E") - } - field(FTF, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of F") - } - field(FTG, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of G") - } - field(FTH, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of H") - } - field(FTI, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of I") - } - field(FTJ, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of J") - } - field(FTK, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of K") - } - field(FTL, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of L") - } - field(FTM, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of M") - } - field(FTN, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of N") - } - field(FTO, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of O") - } - field(FTP, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of P") - } - field(FTQ, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of Q") - } - field(FTR, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of R") - } - field(FTS, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of S") - } - field(FTT, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of T") - } - field(FTU, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of U") - } - field(NOA, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in A") - } - field(NOB, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in B") - } - field(NOC, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in C") - } - field(NOD, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in D") - } - field(NOE, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in E") - } - field(NOF, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in F") - } - field(NOG, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in G") - } - field(NOH, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in H") - } - field(NOI, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in I") - } - field(NOJ, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in J") - } - field(NOK, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in K") - } - field(NOL, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in L") - } - field(NOM, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in M") - } - field(NON, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in N") - } - field(NOO, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in O") - } - field(NOP, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in P") - } - field(NOQ, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in Q") - } - field(NOR, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in R") - } - field(NOS, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in S") - } - field(NOT, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in T") - } - field(NOU, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in U") - } - field(NEA, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in A") - } - field(NEB, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in B") - } - field(NEC, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in C") - } - field(NED, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in D") - } - field(NEE, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in E") - } - field(NEF, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in F") - } - field(NEG, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in G") - } - field(NEH, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in H") - } - field(NEI, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in I") - } - field(NEJ, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in J") - } - field(NEK, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in K") - } - field(NEL, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in L") - } - field(NEM, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in M") - } - field(NEN, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in N") - } - field(NEO, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in O") - } - field(NEP, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in P") - } - field(NEQ, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in Q") - } - field(NER, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in R") - } - field(NES, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in S") - } - field(NET, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in T") - } - field(NEU, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in U") - } - field(OUTA, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Link A") - } - field(OUTB, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Link B") - } - field(OUTC, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Link C") - } - field(OUTD, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Link D") - } - field(OUTE, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Link E") - } - field(OUTF, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Link F") - } - field(OUTG, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Link G") - } - field(OUTH, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Link H") - } - field(OUTI, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Link I") - } - field(OUTJ, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Link J") - } - field(OUTK, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Link K") - } - field(OUTL, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Link L") - } - field(OUTM, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Link M") - } - field(OUTN, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Link N") - } - field(OUTO, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Link O") - } - field(OUTP, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Link P") - } - field(OUTQ, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Link Q") - } - field(OUTR, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Link R") - } - field(OUTS, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Link S") - } - field(OUTT, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Link T") - } - field(OUTU, DBF_OUTLINK) { - promptgroup(GUI_OUTPUT) - interest(1) - prompt("Output Link U") - } - field(VALA, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vala") - interest(2) - prompt("Output value A") - } - field(VALB, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valb") - interest(2) - prompt("Output value B") - } - field(VALC, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valc") - interest(2) - prompt("Output value C") - } - field(VALD, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vald") - interest(2) - prompt("Output value D") - } - field(VALE, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vale") - interest(2) - prompt("Output value E") - } - field(VALF, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valf") - interest(2) - prompt("Output value F") - } - field(VALG, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valg") - interest(2) - prompt("Output value G") - } - field(VALH, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valh") - interest(2) - prompt("Output value H") - } - field(VALI, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vali") - interest(2) - prompt("Output value I") - } - field(VALJ, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valj") - interest(2) - prompt("Output value J") - } - field(VALK, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valk") - interest(2) - prompt("Output value K") - } - field(VALL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vall") - interest(2) - prompt("Output value L") - } - field(VALM, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valm") - interest(2) - prompt("Output value M") - } - field(VALN, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valn") - interest(2) - prompt("Output value N") - } - field(VALO, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valo") - interest(2) - prompt("Output value O") - } - field(VALP, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valp") - interest(2) - prompt("Output value P") - } - field(VALQ, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valq") - interest(2) - prompt("Output value Q") - } - field(VALR, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valr") - interest(2) - prompt("Output value R") - } - field(VALS, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vals") - interest(2) - prompt("Output value S") - } - field(VALT, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valt") - interest(2) - prompt("Output value T") - } - field(VALU, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valu") - interest(2) - prompt("Output value U") - } - field(OVLA, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovla") - interest(4) - prompt("Old Output A") - } - field(OVLB, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlb") - interest(4) - prompt("Old Output B") - } - field(OVLC, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlc") - interest(4) - prompt("Old Output C") - } - field(OVLD, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovld") - interest(4) - prompt("Old Output D") - } - field(OVLE, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovle") - interest(4) - prompt("Old Output E") - } - field(OVLF, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlf") - interest(4) - prompt("Old Output F") - } - field(OVLG, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlg") - interest(4) - prompt("Old Output G") - } - field(OVLH, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlh") - interest(4) - prompt("Old Output H") - } - field(OVLI, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovli") - interest(4) - prompt("Old Output I") - } - field(OVLJ, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlj") - interest(4) - prompt("Old Output J") - } - field(OVLK, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlk") - interest(4) - prompt("Old Output K") - } - field(OVLL, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovll") - interest(4) - prompt("Old Output L") - } - field(OVLM, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlm") - interest(4) - prompt("Old Output M") - } - field(OVLN, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovln") - interest(4) - prompt("Old Output N") - } - field(OVLO, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlo") - interest(4) - prompt("Old Output O") - } - field(OVLP, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlp") - interest(4) - prompt("Old Output P") - } - field(OVLQ, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlq") - interest(4) - prompt("Old Output Q") - } - field(OVLR, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlr") - interest(4) - prompt("Old Output R") - } - field(OVLS, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovls") - interest(4) - prompt("Old Output S") - } - field(OVLT, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlt") - interest(4) - prompt("Old Output T") - } - field(OVLU, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlu") - interest(4) - prompt("Old Output U") - } - field(FTVA, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALA") - } - field(FTVB, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALB") - } - field(FTVC, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALC") - } - field(FTVD, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALD") - } - field(FTVE, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALE") - } - field(FTVF, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALF") - } - field(FTVG, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALG") - } - field(FTVH, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALH") - } - field(FTVI, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALI") - } - field(FTVJ, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALJ") - } - field(FTVK, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALK") - } - field(FTVL, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALL") - } - field(FTVM, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALM") - } - field(FTVN, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALN") - } - field(FTVO, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALO") - } - field(FTVP, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALP") - } - field(FTVQ, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALQ") - } - field(FTVR, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALR") - } - field(FTVS, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALS") - } - field(FTVT, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALT") - } - field(FTVU, DBF_MENU) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALU") - } - field(NOVA, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALA") - } - field(NOVB, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALB") - } - field(NOVC, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALC") - } - field(NOVD, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALD") - } - field(NOVE, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALE") - } - field(NOVF, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALF") - } - field(NOVG, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALG") - } - field(NOVH, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VAlH") - } - field(NOVI, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALI") - } - field(NOVJ, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALJ") - } - field(NOVK, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALK") - } - field(NOVL, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALL") - } - field(NOVM, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALM") - } - field(NOVN, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALN") - } - field(NOVO, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALO") - } - field(NOVP, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALP") - } - field(NOVQ, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALQ") - } - field(NOVR, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALR") - } - field(NOVS, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALS") - } - field(NOVT, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALT") - } - field(NOVU, DBF_ULONG) { - promptgroup(GUI_WAVE) - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALU") - } - field(NEVA, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALA") - } - field(NEVB, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALB") - } - field(NEVC, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALC") - } - field(NEVD, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALD") - } - field(NEVE, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALE") - } - field(NEVF, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALF") - } - field(NEVG, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALG") - } - field(NEVH, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VAlH") - } - field(NEVI, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALI") - } - field(NEVJ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALJ") - } - field(NEVK, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALK") - } - field(NEVL, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALL") - } - field(NEVM, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALM") - } - field(NEVN, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALN") - } - field(NEVO, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALO") - } - field(NEVP, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALP") - } - field(NEVQ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALQ") - } - field(NEVR, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALR") - } - field(NEVS, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALS") - } - field(NEVT, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALT") - } - field(NEVU, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALU") - } - field(ONVA, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLA") - } - field(ONVB, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLB") - } - field(ONVC, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLC") - } - field(ONVD, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLD") - } - field(ONVE, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLE") - } - field(ONVF, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLF") - } - field(ONVG, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLG") - } - field(ONVH, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in VAlH") - } - field(ONVI, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLI") - } - field(ONVJ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLJ") - } - field(ONVK, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLK") - } - field(ONVL, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLL") - } - field(ONVM, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLM") - } - field(ONVN, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLN") - } - field(ONVO, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLO") - } - field(ONVP, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLP") - } - field(ONVQ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLQ") - } - field(ONVR, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLR") - } - field(ONVS, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLS") - } - field(ONVT, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLT") - } - field(ONVU, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLU") - } -} -recordtype(sub) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "epicsTime.h" - %struct subRecord; - %typedef long (*SUBFUNCPTR)(struct subRecord *); - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup(GUI_COMMON) - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - asl(ASL0) - pp(TRUE) - prompt("Result") - } - field(INAM, DBF_STRING) { - promptgroup(GUI_SUB) - special(SPC_NOMOD) - interest(1) - size(40) - prompt("Init Routine Name") - } - field(SNAM, DBF_STRING) { - promptgroup(GUI_SUB) - special(SPC_MOD) - interest(1) - size(40) - prompt("Subroutine Name") - } - field(SADR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("SUBFUNCPTR sadr") - interest(4) - prompt("Subroutine Address") - } - field(INPA, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input A") - } - field(INPB, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input B") - } - field(INPC, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input C") - } - field(INPD, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input D") - } - field(INPE, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input E") - } - field(INPF, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input F") - } - field(INPG, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input G") - } - field(INPH, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input H") - } - field(INPI, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input I") - } - field(INPJ, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input J") - } - field(INPK, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input K") - } - field(INPL, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input L") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - size(16) - prompt("Units Name") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - prompt("High Operating Rng") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Display Precision") - } - field(BRSV, DBF_MENU) { - promptgroup(GUI_SUB) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Bad Return Severity") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup(GUI_ALARMS) - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Monitor Deadband") - } - field(A, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input A") - } - field(B, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input B") - } - field(C, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input C") - } - field(D, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input D") - } - field(E, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input E") - } - field(F, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input F") - } - field(G, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input G") - } - field(H, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input H") - } - field(I, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input I") - } - field(J, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input J") - } - field(K, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input K") - } - field(L, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input L") - } - field(LA, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of A") - } - field(LB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of B") - } - field(LC, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of C") - } - field(LD, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of D") - } - field(LE, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of E") - } - field(LF, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of F") - } - field(LG, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of G") - } - field(LH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of H") - } - field(LI, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of I") - } - field(LJ, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of J") - } - field(LK, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of K") - } - field(LL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of L") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } -} -recordtype(ai) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup(GUI_COMMON) - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup(GUI_INPUTS) - asl(ASL0) - pp(TRUE) - prompt("Current EGU Value") - } - field(INP, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input Specification") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Display Precision") - } - field(LINR, DBF_MENU) { - promptgroup(GUI_CONVERT) - special(SPC_LINCONV) - menu(menuConvert) - interest(1) - pp(TRUE) - prompt("Linearization") - } - field(EGUF, DBF_DOUBLE) { - promptgroup(GUI_CONVERT) - special(SPC_LINCONV) - interest(1) - pp(TRUE) - prompt("Engineer Units Full") - } - field(EGUL, DBF_DOUBLE) { - promptgroup(GUI_CONVERT) - special(SPC_LINCONV) - interest(1) - pp(TRUE) - prompt("Engineer Units Low") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Low Operating Range") - } - field(AOFF, DBF_DOUBLE) { - promptgroup(GUI_CONVERT) - interest(1) - pp(TRUE) - prompt("Adjustment Offset") - } - field(ASLO, DBF_DOUBLE) { - promptgroup(GUI_CONVERT) - initial("1") - interest(1) - pp(TRUE) - prompt("Adjustment Slope") - } - field(SMOO, DBF_DOUBLE) { - promptgroup(GUI_CONVERT) - interest(1) - prompt("Smoothing") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup(GUI_ALARMS) - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup(GUI_ALARMS) - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup(GUI_ALARMS) - interest(1) - prompt("Alarm Deadband") - } - field(AFTC, DBF_DOUBLE) { - promptgroup(GUI_ALARMS) - interest(1) - prompt("Alarm Filter Time Constant") - } - field(ADEL, DBF_DOUBLE) { - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup(GUI_DISPLAY) - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(ESLO, DBF_DOUBLE) { - promptgroup(GUI_CONVERT) - initial("1") - interest(2) - pp(TRUE) - prompt("Raw to EGU Slope") - } - field(EOFF, DBF_DOUBLE) { - promptgroup(GUI_CONVERT) - interest(2) - pp(TRUE) - prompt("Raw to EGU Offset") - } - field(ROFF, DBF_ULONG) { - interest(2) - pp(TRUE) - prompt("Raw Offset") - } - field(PBRK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * pbrk") - interest(4) - prompt("Ptrto brkTable") - } - field(INIT, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Initialized?") - } - field(LBRK, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("LastBreak Point") - } - field(RVAL, DBF_LONG) { - pp(TRUE) - prompt("Current Raw Value") - } - field(ORAW, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Previous Raw Value") - } - field(SIOL, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Sim. Input Specification") - } - field(SVAL, DBF_DOUBLE) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Sim. Mode Location") - } - field(SIMM, DBF_MENU) { - menu(menuSimm) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup(GUI_INPUTS) - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } -} -device(ai, CONSTANT, devAiSoft, "Soft Channel") -device(ai, CONSTANT, devAiSoftRaw, "Raw Soft Channel") -device(ai, CONSTANT, devAiSoftCallback, "Async Soft Channel") -device(ai, INST_IO, devTimestampAI, "Soft Timestamp") -device(ai, INST_IO, devAiGeneralTime, "General Time") -device(ai, INST_IO, asynAiInt32, "asynInt32") -device(ai, INST_IO, asynAiInt32Average, "asynInt32Average") -device(ai, INST_IO, asynAiFloat64, "asynFloat64") -device(ai, INST_IO, asynAiFloat64Average, "asynFloat64Average") -device(ai, INST_IO, devaiStream, "stream") -device(ai, VME_IO, adcPiAi, "adcPi") -recordtype(stringin) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup(GUI_COMMON) - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup(GUI_COMMON) - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup(GUI_SCAN) - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup(GUI_SCAN) - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup(GUI_ALARMS) - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup(GUI_SCAN) - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup(GUI_SCAN) - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup(GUI_COMMON) - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup(GUI_COMMON) - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup(GUI_LINKS) - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup(GUI_INPUTS) - asl(ASL0) - pp(TRUE) - size(40) - prompt("Current Value") - } - field(OVAL, DBF_STRING) { - special(SPC_NOMOD) - interest(3) - size(40) - prompt("Previous Value") - } - field(INP, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Input Specification") - } - field(MPST, DBF_MENU) { - promptgroup(GUI_DISPLAY) - menu(stringinPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup(GUI_DISPLAY) - menu(stringinPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(SIOL, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Sim Input Specifctn") - } - field(SVAL, DBF_STRING) { - pp(TRUE) - size(40) - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup(GUI_INPUTS) - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup(GUI_INPUTS) - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } -} -device(stringin, CONSTANT, devSiSoft, "Soft Channel") -device(stringin, CONSTANT, devSiSoftCallback, "Async Soft Channel") -device(stringin, INST_IO, devTimestampSI, "Soft Timestamp") -device(stringin, INST_IO, devSiGeneralTime, "General Time") -device(stringin, INST_IO, asynSiOctetCmdResponse, "asynOctetCmdResponse") -device(stringin, INST_IO, asynSiOctetWriteRead, "asynOctetWriteRead") -device(stringin, INST_IO, asynSiOctetRead, "asynOctetRead") -device(stringin, INST_IO, devstringinStream, "stream") -driver(adcPi) +driver(drvAsyn) driver(stream) -driver(drvAsyn) -registrar(adcPiRegister) -registrar(drvAsynIPPortRegisterCommands) -registrar(tsInitialize) -registrar(arrInitialize) -registrar(streamRegistrar) +registrar(dbndInitialize) registrar(syncInitialize) -registrar(dbndInitialize) +registrar(asSub) +registrar(arrayTestRegister) +registrar(drvAsynIPServerPortRegisterCommands) registrar(asynRegister) -registrar(drvAsynIPServerPortRegisterCommands) -registrar(asSub) -registrar(asynInterposeFlushRegister) +registrar(drvAsynIPPortRegisterCommands) +registrar(subAveRegister) +registrar(arrInitialize) +registrar(interpRegister) +registrar(streamRegistrar) +registrar(tsInitialize) registrar(asynInterposeEosRegister) -function(aSubReadDHTInit) +registrar(asynInterposeFlushRegister) +registrar(editSseqRegistrar) function(aSubReadDHTProcess) +function(aSubReadDHTInit) variable(dbTemplateMaxVars, int) +variable(arrayTestDebug, int) +variable(interpDebug, int) +variable(aCalcAsyncThreshold, int) +variable(sCalcoutRecordDebug, int) variable(asCaDebug, int) +variable(seqDLYprecision, int) +variable(boHIGHprecision, int) +variable(sCalcStackHW, int) +variable(calcoutODLYlimit, double) +variable(transformRecordDebug, int) +variable(atExitDebug, int) +variable(sCalcStackLW, int) +variable(devsCalcoutSoftDebug, int) +variable(dbBptNotMonotonic, int) +variable(sCalcPostfixDebug, int) +variable(swaitRecordDebug, int) +variable(aSubReadDHTDebug, int) variable(callbackParallelThreadsDefault, int) variable(dbRecordsOnceOnly, int) -variable(streamDebug, int) -variable(calcoutODLYlimit, double) -variable(adcPiDebug, int) -variable(dbBptNotMonotonic, int) +variable(aCalcLoopMax, int) +variable(sseqRecDebug, int) +variable(aCalcPostfixDebug, int) +variable(sCalcPerformDebug, int) variable(boHIGHlimit, double) -variable(atExitDebug, int) -variable(seqDLYprecision, int) -variable(boHIGHprecision, int) +variable(aCalcPerformDebug, int) +variable(aCalcoutRecordDebug, int) +variable(histogramSDELprecision, int) +variable(calcoutODLYprecision, int) +variable(devaCalcoutSoftDebug, int) +variable(debugSubAve, int) +variable(streamDebug, int) +variable(sCalcLoopMax, int) variable(seqDLYlimit, double) -variable(aSubReadDHTDebug, int) -variable(calcoutODLYprecision, int) -variable(histogramSDELprecision, int) diff -r ec018606c207 -r 68a4f654dc00 kstmApp/src/O.linux-arm/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kstmApp/src/O.linux-arm/Makefile Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,10 @@ +#This Makefile created by makeMakefile.pl + + +all : + $(MAKE) -f ../Makefile TOP=../../.. T_A=linux-arm $@ + +.DEFAULT: force + $(MAKE) -f ../Makefile TOP=../../.. T_A=linux-arm $@ + +force: ; diff -r ec018606c207 -r 68a4f654dc00 kstmApp/src/O.linux-arm/aSubReadDHT.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kstmApp/src/O.linux-arm/aSubReadDHT.d Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,19 @@ +aSubReadDHT.o: ../aSubReadDHT.c /home/epics/EPICS/base/include/dbDefs.h \ + /home/epics/EPICS/base/include/registryFunction.h \ + /home/epics/EPICS/base/include/shareLib.h \ + /home/epics/EPICS/base/include/subRecord.h \ + /home/epics/EPICS/base/include/epicsTypes.h \ + /home/epics/EPICS/base/include/compilerDependencies.h \ + /home/epics/EPICS/base/include/compiler/gcc/compilerSpecific.h \ + /home/epics/EPICS/base/include/link.h \ + /home/epics/EPICS/base/include/dbDefs.h \ + /home/epics/EPICS/base/include/epicsMutex.h \ + /home/epics/EPICS/base/include/epicsAssert.h \ + /home/epics/EPICS/base/include/os/Linux/osdMutex.h \ + /home/epics/EPICS/base/include/ellLib.h \ + /home/epics/EPICS/base/include/epicsTime.h \ + /home/epics/EPICS/base/include/os/Linux/osdTime.h \ + /home/epics/EPICS/base/include/aSubRecord.h \ + /home/epics/EPICS/base/include/epicsExport.h \ + /home/epics/EPICS/base/include/shareLib.h ../pi_2_dht_read.h \ + ../common_dht_read.h diff -r ec018606c207 -r 68a4f654dc00 kstmApp/src/O.linux-arm/aSubReadDHT.o Binary file kstmApp/src/O.linux-arm/aSubReadDHT.o has changed diff -r ec018606c207 -r 68a4f654dc00 kstmApp/src/O.linux-arm/common_dht_read.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kstmApp/src/O.linux-arm/common_dht_read.d Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,1 @@ +common_dht_read.o: ../common_dht_read.c ../common_dht_read.h diff -r ec018606c207 -r 68a4f654dc00 kstmApp/src/O.linux-arm/common_dht_read.o Binary file kstmApp/src/O.linux-arm/common_dht_read.o has changed diff -r ec018606c207 -r 68a4f654dc00 kstmApp/src/O.linux-arm/kstm Binary file kstmApp/src/O.linux-arm/kstm has changed diff -r ec018606c207 -r 68a4f654dc00 kstmApp/src/O.linux-arm/kstm.dbd.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kstmApp/src/O.linux-arm/kstm.dbd.d Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,156 @@ +../O.Common/kstm.dbd: /home/epics/EPICS/base/dbd/base.dbd \ + /home/epics/EPICS/base/dbd/menuGlobal.dbd \ + /home/epics/EPICS/base/dbd/menuAlarmSevr.dbd \ + /home/epics/EPICS/base/dbd/menuAlarmStat.dbd \ + /home/epics/EPICS/base/dbd/menuFtype.dbd \ + /home/epics/EPICS/base/dbd/menuIvoa.dbd \ + /home/epics/EPICS/base/dbd/menuOmsl.dbd \ + /home/epics/EPICS/base/dbd/menuPini.dbd \ + /home/epics/EPICS/base/dbd/menuPost.dbd \ + /home/epics/EPICS/base/dbd/menuPriority.dbd \ + /home/epics/EPICS/base/dbd/menuYesNo.dbd \ + /home/epics/EPICS/base/dbd/menuSimm.dbd \ + /home/epics/EPICS/base/dbd/menuConvert.dbd \ + /home/epics/EPICS/base/dbd/menuScan.dbd \ + /home/epics/EPICS/base/dbd/stdRecords.dbd \ + /home/epics/EPICS/base/dbd/aaiRecord.dbd \ + /home/epics/EPICS/base/dbd/dbCommon.dbd \ + /home/epics/EPICS/base/dbd/aaoRecord.dbd \ + /home/epics/EPICS/base/dbd/aiRecord.dbd \ + /home/epics/EPICS/base/dbd/aoRecord.dbd \ + /home/epics/EPICS/base/dbd/aSubRecord.dbd \ + /home/epics/EPICS/base/dbd/biRecord.dbd \ + /home/epics/EPICS/base/dbd/boRecord.dbd \ + /home/epics/EPICS/base/dbd/calcRecord.dbd \ + /home/epics/EPICS/base/dbd/calcoutRecord.dbd \ + /home/epics/EPICS/base/dbd/compressRecord.dbd \ + /home/epics/EPICS/base/dbd/dfanoutRecord.dbd \ + /home/epics/EPICS/base/dbd/eventRecord.dbd \ + /home/epics/EPICS/base/dbd/fanoutRecord.dbd \ + /home/epics/EPICS/base/dbd/histogramRecord.dbd \ + /home/epics/EPICS/base/dbd/longinRecord.dbd \ + /home/epics/EPICS/base/dbd/longoutRecord.dbd \ + /home/epics/EPICS/base/dbd/lsiRecord.dbd \ + /home/epics/EPICS/base/dbd/lsoRecord.dbd \ + /home/epics/EPICS/base/dbd/mbbiRecord.dbd \ + /home/epics/EPICS/base/dbd/mbbiDirectRecord.dbd \ + /home/epics/EPICS/base/dbd/mbboRecord.dbd \ + /home/epics/EPICS/base/dbd/mbboDirectRecord.dbd \ + /home/epics/EPICS/base/dbd/permissiveRecord.dbd \ + /home/epics/EPICS/base/dbd/printfRecord.dbd \ + /home/epics/EPICS/base/dbd/selRecord.dbd \ + /home/epics/EPICS/base/dbd/seqRecord.dbd \ + /home/epics/EPICS/base/dbd/stateRecord.dbd \ + /home/epics/EPICS/base/dbd/stringinRecord.dbd \ + /home/epics/EPICS/base/dbd/stringoutRecord.dbd \ + /home/epics/EPICS/base/dbd/subRecord.dbd \ + /home/epics/EPICS/base/dbd/subArrayRecord.dbd \ + /home/epics/EPICS/base/dbd/waveformRecord.dbd \ + /home/epics/EPICS/base/dbd/filters.dbd \ + /home/epics/EPICS/base/dbd/devSoft.dbd \ + /home/epics/EPICS/base/dbd/asSub.dbd \ + /home/epics/EPICS/base/dbd/dbCore.dbd \ + ../aSubReadDHT.dbd \ + /home/epics//EPICS/support/asyn4-26/dbd/asyn.dbd \ + /home/epics//EPICS/support/asyn4-26/dbd/asynRecord.dbd \ + /home/epics//EPICS/support/asyn4-26/dbd/devEpics.dbd \ + /home/epics//EPICS/support/asyn4-26/dbd/devAsynOctet.dbd \ + /home/epics//EPICS/support/asyn4-26/dbd/devAsynInt32.dbd \ + /home/epics//EPICS/support/asyn4-26/dbd/devAsynInt8Array.dbd \ + /home/epics//EPICS/support/asyn4-26/dbd/devAsynInt16Array.dbd \ + /home/epics//EPICS/support/asyn4-26/dbd/devAsynInt32Array.dbd \ + /home/epics//EPICS/support/asyn4-26/dbd/devAsynInt32TimeSeries.dbd \ + /home/epics//EPICS/support/asyn4-26/dbd/devAsynFloat64.dbd \ + /home/epics//EPICS/support/asyn4-26/dbd/devAsynFloat32Array.dbd \ + /home/epics//EPICS/support/asyn4-26/dbd/devAsynFloat64Array.dbd \ + /home/epics//EPICS/support/asyn4-26/dbd/devAsynFloat64TimeSeries.dbd \ + /home/epics//EPICS/support/asyn4-26/dbd/devAsynUInt32Digital.dbd \ + /home/epics//EPICS/support/asyn4-26/dbd/devAsynRecord.dbd \ + /home/epics//EPICS/support/asyn4-26/dbd/drvAsynIPPort.dbd \ + /home/epics//EPICS/support/stream/dbd/stream.dbd \ + /home/epics//EPICS/support/calc-3-4-2/dbd/calc.dbd \ + /home/epics//EPICS/support/calc-3-4-2/dbd/transformRecord.dbd \ + /home/epics//EPICS/support/calc-3-4-2/dbd/sCalcoutRecord.dbd \ + /home/epics//EPICS/support/calc-3-4-2/dbd/aCalcoutRecord.dbd \ + /home/epics//EPICS/support/calc-3-4-2/dbd/sseqRecord.dbd \ + /home/epics//EPICS/support/calc-3-4-2/dbd/swaitRecord.dbd \ + /home/epics//EPICS/support/calc-3-4-2/dbd/editSseq.dbd + +/home/epics/EPICS/base/dbd/base.dbd: +/home/epics/EPICS/base/dbd/menuGlobal.dbd: +/home/epics/EPICS/base/dbd/menuAlarmSevr.dbd: +/home/epics/EPICS/base/dbd/menuAlarmStat.dbd: +/home/epics/EPICS/base/dbd/menuFtype.dbd: +/home/epics/EPICS/base/dbd/menuIvoa.dbd: +/home/epics/EPICS/base/dbd/menuOmsl.dbd: +/home/epics/EPICS/base/dbd/menuPini.dbd: +/home/epics/EPICS/base/dbd/menuPost.dbd: +/home/epics/EPICS/base/dbd/menuPriority.dbd: +/home/epics/EPICS/base/dbd/menuYesNo.dbd: +/home/epics/EPICS/base/dbd/menuSimm.dbd: +/home/epics/EPICS/base/dbd/menuConvert.dbd: +/home/epics/EPICS/base/dbd/menuScan.dbd: +/home/epics/EPICS/base/dbd/stdRecords.dbd: +/home/epics/EPICS/base/dbd/aaiRecord.dbd: +/home/epics/EPICS/base/dbd/dbCommon.dbd: +/home/epics/EPICS/base/dbd/aaoRecord.dbd: +/home/epics/EPICS/base/dbd/aiRecord.dbd: +/home/epics/EPICS/base/dbd/aoRecord.dbd: +/home/epics/EPICS/base/dbd/aSubRecord.dbd: +/home/epics/EPICS/base/dbd/biRecord.dbd: +/home/epics/EPICS/base/dbd/boRecord.dbd: +/home/epics/EPICS/base/dbd/calcRecord.dbd: +/home/epics/EPICS/base/dbd/calcoutRecord.dbd: +/home/epics/EPICS/base/dbd/compressRecord.dbd: +/home/epics/EPICS/base/dbd/dfanoutRecord.dbd: +/home/epics/EPICS/base/dbd/eventRecord.dbd: +/home/epics/EPICS/base/dbd/fanoutRecord.dbd: +/home/epics/EPICS/base/dbd/histogramRecord.dbd: +/home/epics/EPICS/base/dbd/longinRecord.dbd: +/home/epics/EPICS/base/dbd/longoutRecord.dbd: +/home/epics/EPICS/base/dbd/lsiRecord.dbd: +/home/epics/EPICS/base/dbd/lsoRecord.dbd: +/home/epics/EPICS/base/dbd/mbbiRecord.dbd: +/home/epics/EPICS/base/dbd/mbbiDirectRecord.dbd: +/home/epics/EPICS/base/dbd/mbboRecord.dbd: +/home/epics/EPICS/base/dbd/mbboDirectRecord.dbd: +/home/epics/EPICS/base/dbd/permissiveRecord.dbd: +/home/epics/EPICS/base/dbd/printfRecord.dbd: +/home/epics/EPICS/base/dbd/selRecord.dbd: +/home/epics/EPICS/base/dbd/seqRecord.dbd: +/home/epics/EPICS/base/dbd/stateRecord.dbd: +/home/epics/EPICS/base/dbd/stringinRecord.dbd: +/home/epics/EPICS/base/dbd/stringoutRecord.dbd: +/home/epics/EPICS/base/dbd/subRecord.dbd: +/home/epics/EPICS/base/dbd/subArrayRecord.dbd: +/home/epics/EPICS/base/dbd/waveformRecord.dbd: +/home/epics/EPICS/base/dbd/filters.dbd: +/home/epics/EPICS/base/dbd/devSoft.dbd: +/home/epics/EPICS/base/dbd/asSub.dbd: +/home/epics/EPICS/base/dbd/dbCore.dbd: +../aSubReadDHT.dbd: +/home/epics//EPICS/support/asyn4-26/dbd/asyn.dbd: +/home/epics//EPICS/support/asyn4-26/dbd/asynRecord.dbd: +/home/epics//EPICS/support/asyn4-26/dbd/devEpics.dbd: +/home/epics//EPICS/support/asyn4-26/dbd/devAsynOctet.dbd: +/home/epics//EPICS/support/asyn4-26/dbd/devAsynInt32.dbd: +/home/epics//EPICS/support/asyn4-26/dbd/devAsynInt8Array.dbd: +/home/epics//EPICS/support/asyn4-26/dbd/devAsynInt16Array.dbd: +/home/epics//EPICS/support/asyn4-26/dbd/devAsynInt32Array.dbd: +/home/epics//EPICS/support/asyn4-26/dbd/devAsynInt32TimeSeries.dbd: +/home/epics//EPICS/support/asyn4-26/dbd/devAsynFloat64.dbd: +/home/epics//EPICS/support/asyn4-26/dbd/devAsynFloat32Array.dbd: +/home/epics//EPICS/support/asyn4-26/dbd/devAsynFloat64Array.dbd: +/home/epics//EPICS/support/asyn4-26/dbd/devAsynFloat64TimeSeries.dbd: +/home/epics//EPICS/support/asyn4-26/dbd/devAsynUInt32Digital.dbd: +/home/epics//EPICS/support/asyn4-26/dbd/devAsynRecord.dbd: +/home/epics//EPICS/support/asyn4-26/dbd/drvAsynIPPort.dbd: +/home/epics//EPICS/support/stream/dbd/stream.dbd: +/home/epics//EPICS/support/calc-3-4-2/dbd/calc.dbd: +/home/epics//EPICS/support/calc-3-4-2/dbd/transformRecord.dbd: +/home/epics//EPICS/support/calc-3-4-2/dbd/sCalcoutRecord.dbd: +/home/epics//EPICS/support/calc-3-4-2/dbd/aCalcoutRecord.dbd: +/home/epics//EPICS/support/calc-3-4-2/dbd/sseqRecord.dbd: +/home/epics//EPICS/support/calc-3-4-2/dbd/swaitRecord.dbd: +/home/epics//EPICS/support/calc-3-4-2/dbd/editSseq.dbd: +../O.Common/kstm.dbd: ../Makefile diff -r ec018606c207 -r 68a4f654dc00 kstmApp/src/O.linux-arm/kstmMain.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kstmApp/src/O.linux-arm/kstmMain.d Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,15 @@ +kstmMain.o: ../kstmMain.cpp /home/epics/EPICS/base/include/epicsExit.h \ + /home/epics/EPICS/base/include/shareLib.h \ + /home/epics/EPICS/base/include/epicsThread.h \ + /home/epics/EPICS/base/include/shareLib.h \ + /home/epics/EPICS/base/include/epicsEvent.h \ + /home/epics/EPICS/base/include/os/Linux/osdEvent.h \ + /home/epics/EPICS/base/include/epicsMutex.h \ + /home/epics/EPICS/base/include/epicsAssert.h \ + /home/epics/EPICS/base/include/compilerDependencies.h \ + /home/epics/EPICS/base/include/compiler/gcc/compilerSpecific.h \ + /home/epics/EPICS/base/include/os/Linux/osdMutex.h \ + /home/epics/EPICS/base/include/os/Linux/osdThread.h \ + /home/epics/EPICS/base/include/ellLib.h \ + /home/epics/EPICS/base/include/epicsEvent.h \ + /home/epics/EPICS/base/include/iocsh.h diff -r ec018606c207 -r 68a4f654dc00 kstmApp/src/O.linux-arm/kstmMain.o Binary file kstmApp/src/O.linux-arm/kstmMain.o has changed diff -r ec018606c207 -r 68a4f654dc00 kstmApp/src/O.linux-arm/kstm_registerRecordDeviceDriver.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kstmApp/src/O.linux-arm/kstm_registerRecordDeviceDriver.cpp Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,425 @@ +/* THIS IS A GENERATED FILE. DO NOT EDIT! */ +/* Generated from ../O.Common/kstm.dbd */ + +#include + +#include "epicsStdlib.h" +#include "iocsh.h" +#include "iocshRegisterCommon.h" +#include "registryCommon.h" + +extern "C" { + +epicsShareExtern rset *pvar_rset_aSubRSET, *pvar_rset_aaiRSET, + *pvar_rset_aaoRSET, *pvar_rset_acalcoutRSET, *pvar_rset_aiRSET, + *pvar_rset_aoRSET, *pvar_rset_asynRSET, *pvar_rset_biRSET, + *pvar_rset_boRSET, *pvar_rset_calcRSET, *pvar_rset_calcoutRSET, + *pvar_rset_compressRSET, *pvar_rset_dfanoutRSET, *pvar_rset_eventRSET, + *pvar_rset_fanoutRSET, *pvar_rset_histogramRSET, + *pvar_rset_longinRSET, *pvar_rset_longoutRSET, *pvar_rset_lsiRSET, + *pvar_rset_lsoRSET, *pvar_rset_mbbiRSET, *pvar_rset_mbbiDirectRSET, + *pvar_rset_mbboRSET, *pvar_rset_mbboDirectRSET, + *pvar_rset_permissiveRSET, *pvar_rset_printfRSET, + *pvar_rset_scalcoutRSET, *pvar_rset_selRSET, *pvar_rset_seqRSET, + *pvar_rset_sseqRSET, *pvar_rset_stateRSET, *pvar_rset_stringinRSET, + *pvar_rset_stringoutRSET, *pvar_rset_subRSET, *pvar_rset_subArrayRSET, + *pvar_rset_swaitRSET, *pvar_rset_transformRSET, + *pvar_rset_waveformRSET; + +typedef int (*rso_func)(dbRecordType *pdbRecordType); +epicsShareExtern rso_func pvar_func_aSubRecordSizeOffset, + pvar_func_aaiRecordSizeOffset, pvar_func_aaoRecordSizeOffset, + pvar_func_acalcoutRecordSizeOffset, pvar_func_aiRecordSizeOffset, + pvar_func_aoRecordSizeOffset, pvar_func_asynRecordSizeOffset, + pvar_func_biRecordSizeOffset, pvar_func_boRecordSizeOffset, + pvar_func_calcRecordSizeOffset, pvar_func_calcoutRecordSizeOffset, + pvar_func_compressRecordSizeOffset, pvar_func_dfanoutRecordSizeOffset, + pvar_func_eventRecordSizeOffset, pvar_func_fanoutRecordSizeOffset, + pvar_func_histogramRecordSizeOffset, pvar_func_longinRecordSizeOffset, + pvar_func_longoutRecordSizeOffset, pvar_func_lsiRecordSizeOffset, + pvar_func_lsoRecordSizeOffset, pvar_func_mbbiRecordSizeOffset, + pvar_func_mbbiDirectRecordSizeOffset, pvar_func_mbboRecordSizeOffset, + pvar_func_mbboDirectRecordSizeOffset, + pvar_func_permissiveRecordSizeOffset, + pvar_func_printfRecordSizeOffset, pvar_func_scalcoutRecordSizeOffset, + pvar_func_selRecordSizeOffset, pvar_func_seqRecordSizeOffset, + pvar_func_sseqRecordSizeOffset, pvar_func_stateRecordSizeOffset, + pvar_func_stringinRecordSizeOffset, + pvar_func_stringoutRecordSizeOffset, pvar_func_subRecordSizeOffset, + pvar_func_subArrayRecordSizeOffset, pvar_func_swaitRecordSizeOffset, + pvar_func_transformRecordSizeOffset, + pvar_func_waveformRecordSizeOffset; + +static const char * const recordTypeNames[] = { + "aSub", "aai", "aao", "acalcout", "ai", "ao", "asyn", "bi", "bo", + "calc", "calcout", "compress", "dfanout", "event", "fanout", + "histogram", "longin", "longout", "lsi", "lso", "mbbi", "mbbiDirect", + "mbbo", "mbboDirect", "permissive", "printf", "scalcout", "sel", + "seq", "sseq", "state", "stringin", "stringout", "sub", "subArray", + "swait", "transform", "waveform" +}; + +static const recordTypeLocation rtl[] = { + {pvar_rset_aSubRSET, pvar_func_aSubRecordSizeOffset}, + {pvar_rset_aaiRSET, pvar_func_aaiRecordSizeOffset}, + {pvar_rset_aaoRSET, pvar_func_aaoRecordSizeOffset}, + {pvar_rset_acalcoutRSET, pvar_func_acalcoutRecordSizeOffset}, + {pvar_rset_aiRSET, pvar_func_aiRecordSizeOffset}, + {pvar_rset_aoRSET, pvar_func_aoRecordSizeOffset}, + {pvar_rset_asynRSET, pvar_func_asynRecordSizeOffset}, + {pvar_rset_biRSET, pvar_func_biRecordSizeOffset}, + {pvar_rset_boRSET, pvar_func_boRecordSizeOffset}, + {pvar_rset_calcRSET, pvar_func_calcRecordSizeOffset}, + {pvar_rset_calcoutRSET, pvar_func_calcoutRecordSizeOffset}, + {pvar_rset_compressRSET, pvar_func_compressRecordSizeOffset}, + {pvar_rset_dfanoutRSET, pvar_func_dfanoutRecordSizeOffset}, + {pvar_rset_eventRSET, pvar_func_eventRecordSizeOffset}, + {pvar_rset_fanoutRSET, pvar_func_fanoutRecordSizeOffset}, + {pvar_rset_histogramRSET, pvar_func_histogramRecordSizeOffset}, + {pvar_rset_longinRSET, pvar_func_longinRecordSizeOffset}, + {pvar_rset_longoutRSET, pvar_func_longoutRecordSizeOffset}, + {pvar_rset_lsiRSET, pvar_func_lsiRecordSizeOffset}, + {pvar_rset_lsoRSET, pvar_func_lsoRecordSizeOffset}, + {pvar_rset_mbbiRSET, pvar_func_mbbiRecordSizeOffset}, + {pvar_rset_mbbiDirectRSET, pvar_func_mbbiDirectRecordSizeOffset}, + {pvar_rset_mbboRSET, pvar_func_mbboRecordSizeOffset}, + {pvar_rset_mbboDirectRSET, pvar_func_mbboDirectRecordSizeOffset}, + {pvar_rset_permissiveRSET, pvar_func_permissiveRecordSizeOffset}, + {pvar_rset_printfRSET, pvar_func_printfRecordSizeOffset}, + {pvar_rset_scalcoutRSET, pvar_func_scalcoutRecordSizeOffset}, + {pvar_rset_selRSET, pvar_func_selRecordSizeOffset}, + {pvar_rset_seqRSET, pvar_func_seqRecordSizeOffset}, + {pvar_rset_sseqRSET, pvar_func_sseqRecordSizeOffset}, + {pvar_rset_stateRSET, pvar_func_stateRecordSizeOffset}, + {pvar_rset_stringinRSET, pvar_func_stringinRecordSizeOffset}, + {pvar_rset_stringoutRSET, pvar_func_stringoutRecordSizeOffset}, + {pvar_rset_subRSET, pvar_func_subRecordSizeOffset}, + {pvar_rset_subArrayRSET, pvar_func_subArrayRecordSizeOffset}, + {pvar_rset_swaitRSET, pvar_func_swaitRecordSizeOffset}, + {pvar_rset_transformRSET, pvar_func_transformRecordSizeOffset}, + {pvar_rset_waveformRSET, pvar_func_waveformRecordSizeOffset} +}; + +epicsShareExtern dset *pvar_dset_devAaiSoft, *pvar_dset_devaaiStream, + *pvar_dset_devAaoSoft, *pvar_dset_devaaoStream, + *pvar_dset_devaCalcoutSoft, *pvar_dset_devAiSoft, + *pvar_dset_devAiSoftRaw, *pvar_dset_devAiSoftCallback, + *pvar_dset_devTimestampAI, *pvar_dset_devAiGeneralTime, + *pvar_dset_asynAiInt32, *pvar_dset_asynAiInt32Average, + *pvar_dset_asynAiFloat64, *pvar_dset_asynAiFloat64Average, + *pvar_dset_devaiStream, *pvar_dset_devAoSoft, *pvar_dset_devAoSoftRaw, + *pvar_dset_devAoSoftCallback, *pvar_dset_asynAoInt32, + *pvar_dset_asynAoFloat64, *pvar_dset_devaoStream, + *pvar_dset_asynRecordDevice, *pvar_dset_devBiSoft, + *pvar_dset_devBiSoftRaw, *pvar_dset_devBiSoftCallback, + *pvar_dset_devBiDbState, *pvar_dset_asynBiInt32, + *pvar_dset_asynBiUInt32Digital, *pvar_dset_devbiStream, + *pvar_dset_devBoSoft, *pvar_dset_devBoSoftRaw, + *pvar_dset_devBoSoftCallback, *pvar_dset_devBoGeneralTime, + *pvar_dset_devBoDbState, *pvar_dset_asynBoInt32, + *pvar_dset_asynBoUInt32Digital, *pvar_dset_devboStream, + *pvar_dset_devCalcoutSoft, *pvar_dset_devCalcoutSoftCallback, + *pvar_dset_devcalcoutStream, *pvar_dset_devEventSoft, + *pvar_dset_devHistogramSoft, *pvar_dset_devLiSoft, + *pvar_dset_devLiSoftCallback, *pvar_dset_devLiGeneralTime, + *pvar_dset_asynLiInt32, *pvar_dset_asynLiUInt32Digital, + *pvar_dset_devlonginStream, *pvar_dset_devLoSoft, + *pvar_dset_devLoSoftCallback, *pvar_dset_asynLoInt32, + *pvar_dset_asynLoUInt32Digital, *pvar_dset_devlongoutStream, + *pvar_dset_devLsiSoft, *pvar_dset_devLsoSoft, + *pvar_dset_devLsoSoftCallback, *pvar_dset_devLsoStdio, + *pvar_dset_devMbbiSoft, *pvar_dset_devMbbiSoftRaw, + *pvar_dset_devMbbiSoftCallback, *pvar_dset_asynMbbiInt32, + *pvar_dset_asynMbbiUInt32Digital, *pvar_dset_devmbbiStream, + *pvar_dset_devMbbiDirectSoft, *pvar_dset_devMbbiDirectSoftRaw, + *pvar_dset_devMbbiDirectSoftCallback, + *pvar_dset_asynMbbiDirectUInt32Digital, + *pvar_dset_devmbbiDirectStream, *pvar_dset_devMbboSoft, + *pvar_dset_devMbboSoftRaw, *pvar_dset_devMbboSoftCallback, + *pvar_dset_asynMbboInt32, *pvar_dset_asynMbboUInt32Digital, + *pvar_dset_devmbboStream, *pvar_dset_devMbboDirectSoft, + *pvar_dset_devMbboDirectSoftRaw, *pvar_dset_devMbboDirectSoftCallback, + *pvar_dset_asynMbboDirectUInt32Digital, + *pvar_dset_devmbboDirectStream, *pvar_dset_devPrintfSoft, + *pvar_dset_devPrintfSoftCallback, *pvar_dset_devPrintfStdio, + *pvar_dset_devsCalcoutSoft, *pvar_dset_devSiSoft, + *pvar_dset_devSiSoftCallback, *pvar_dset_devTimestampSI, + *pvar_dset_devSiGeneralTime, *pvar_dset_asynSiOctetCmdResponse, + *pvar_dset_asynSiOctetWriteRead, *pvar_dset_asynSiOctetRead, + *pvar_dset_devstringinStream, *pvar_dset_devSoSoft, + *pvar_dset_devSoSoftCallback, *pvar_dset_devSoStdio, + *pvar_dset_asynSoOctetWrite, *pvar_dset_devstringoutStream, + *pvar_dset_devSASoft, *pvar_dset_devSWaitIoEvent, + *pvar_dset_devWfSoft, *pvar_dset_asynWfOctetCmdResponse, + *pvar_dset_asynWfOctetWriteRead, *pvar_dset_asynWfOctetRead, + *pvar_dset_asynWfOctetWrite, *pvar_dset_asynInt8ArrayWfIn, + *pvar_dset_asynInt8ArrayWfOut, *pvar_dset_asynInt16ArrayWfIn, + *pvar_dset_asynInt16ArrayWfOut, *pvar_dset_asynInt32ArrayWfIn, + *pvar_dset_asynInt32ArrayWfOut, *pvar_dset_asynInt32TimeSeries, + *pvar_dset_asynFloat32ArrayWfIn, *pvar_dset_asynFloat32ArrayWfOut, + *pvar_dset_asynFloat64ArrayWfIn, *pvar_dset_asynFloat64ArrayWfOut, + *pvar_dset_asynFloat64TimeSeries, *pvar_dset_devwaveformStream; + +static const char * const deviceSupportNames[] = { + "devAaiSoft", "devaaiStream", "devAaoSoft", "devaaoStream", + "devaCalcoutSoft", "devAiSoft", "devAiSoftRaw", "devAiSoftCallback", + "devTimestampAI", "devAiGeneralTime", "asynAiInt32", + "asynAiInt32Average", "asynAiFloat64", "asynAiFloat64Average", + "devaiStream", "devAoSoft", "devAoSoftRaw", "devAoSoftCallback", + "asynAoInt32", "asynAoFloat64", "devaoStream", "asynRecordDevice", + "devBiSoft", "devBiSoftRaw", "devBiSoftCallback", "devBiDbState", + "asynBiInt32", "asynBiUInt32Digital", "devbiStream", "devBoSoft", + "devBoSoftRaw", "devBoSoftCallback", "devBoGeneralTime", + "devBoDbState", "asynBoInt32", "asynBoUInt32Digital", "devboStream", + "devCalcoutSoft", "devCalcoutSoftCallback", "devcalcoutStream", + "devEventSoft", "devHistogramSoft", "devLiSoft", "devLiSoftCallback", + "devLiGeneralTime", "asynLiInt32", "asynLiUInt32Digital", + "devlonginStream", "devLoSoft", "devLoSoftCallback", "asynLoInt32", + "asynLoUInt32Digital", "devlongoutStream", "devLsiSoft", "devLsoSoft", + "devLsoSoftCallback", "devLsoStdio", "devMbbiSoft", "devMbbiSoftRaw", + "devMbbiSoftCallback", "asynMbbiInt32", "asynMbbiUInt32Digital", + "devmbbiStream", "devMbbiDirectSoft", "devMbbiDirectSoftRaw", + "devMbbiDirectSoftCallback", "asynMbbiDirectUInt32Digital", + "devmbbiDirectStream", "devMbboSoft", "devMbboSoftRaw", + "devMbboSoftCallback", "asynMbboInt32", "asynMbboUInt32Digital", + "devmbboStream", "devMbboDirectSoft", "devMbboDirectSoftRaw", + "devMbboDirectSoftCallback", "asynMbboDirectUInt32Digital", + "devmbboDirectStream", "devPrintfSoft", "devPrintfSoftCallback", + "devPrintfStdio", "devsCalcoutSoft", "devSiSoft", "devSiSoftCallback", + "devTimestampSI", "devSiGeneralTime", "asynSiOctetCmdResponse", + "asynSiOctetWriteRead", "asynSiOctetRead", "devstringinStream", + "devSoSoft", "devSoSoftCallback", "devSoStdio", "asynSoOctetWrite", + "devstringoutStream", "devSASoft", "devSWaitIoEvent", "devWfSoft", + "asynWfOctetCmdResponse", "asynWfOctetWriteRead", "asynWfOctetRead", + "asynWfOctetWrite", "asynInt8ArrayWfIn", "asynInt8ArrayWfOut", + "asynInt16ArrayWfIn", "asynInt16ArrayWfOut", "asynInt32ArrayWfIn", + "asynInt32ArrayWfOut", "asynInt32TimeSeries", "asynFloat32ArrayWfIn", + "asynFloat32ArrayWfOut", "asynFloat64ArrayWfIn", + "asynFloat64ArrayWfOut", "asynFloat64TimeSeries", "devwaveformStream" +}; + +static const dset * const devsl[] = { + pvar_dset_devAaiSoft, pvar_dset_devaaiStream, pvar_dset_devAaoSoft, + pvar_dset_devaaoStream, pvar_dset_devaCalcoutSoft, + pvar_dset_devAiSoft, pvar_dset_devAiSoftRaw, + pvar_dset_devAiSoftCallback, pvar_dset_devTimestampAI, + pvar_dset_devAiGeneralTime, pvar_dset_asynAiInt32, + pvar_dset_asynAiInt32Average, pvar_dset_asynAiFloat64, + pvar_dset_asynAiFloat64Average, pvar_dset_devaiStream, + pvar_dset_devAoSoft, pvar_dset_devAoSoftRaw, + pvar_dset_devAoSoftCallback, pvar_dset_asynAoInt32, + pvar_dset_asynAoFloat64, pvar_dset_devaoStream, + pvar_dset_asynRecordDevice, pvar_dset_devBiSoft, + pvar_dset_devBiSoftRaw, pvar_dset_devBiSoftCallback, + pvar_dset_devBiDbState, pvar_dset_asynBiInt32, + pvar_dset_asynBiUInt32Digital, pvar_dset_devbiStream, + pvar_dset_devBoSoft, pvar_dset_devBoSoftRaw, + pvar_dset_devBoSoftCallback, pvar_dset_devBoGeneralTime, + pvar_dset_devBoDbState, pvar_dset_asynBoInt32, + pvar_dset_asynBoUInt32Digital, pvar_dset_devboStream, + pvar_dset_devCalcoutSoft, pvar_dset_devCalcoutSoftCallback, + pvar_dset_devcalcoutStream, pvar_dset_devEventSoft, + pvar_dset_devHistogramSoft, pvar_dset_devLiSoft, + pvar_dset_devLiSoftCallback, pvar_dset_devLiGeneralTime, + pvar_dset_asynLiInt32, pvar_dset_asynLiUInt32Digital, + pvar_dset_devlonginStream, pvar_dset_devLoSoft, + pvar_dset_devLoSoftCallback, pvar_dset_asynLoInt32, + pvar_dset_asynLoUInt32Digital, pvar_dset_devlongoutStream, + pvar_dset_devLsiSoft, pvar_dset_devLsoSoft, + pvar_dset_devLsoSoftCallback, pvar_dset_devLsoStdio, + pvar_dset_devMbbiSoft, pvar_dset_devMbbiSoftRaw, + pvar_dset_devMbbiSoftCallback, pvar_dset_asynMbbiInt32, + pvar_dset_asynMbbiUInt32Digital, pvar_dset_devmbbiStream, + pvar_dset_devMbbiDirectSoft, pvar_dset_devMbbiDirectSoftRaw, + pvar_dset_devMbbiDirectSoftCallback, + pvar_dset_asynMbbiDirectUInt32Digital, pvar_dset_devmbbiDirectStream, + pvar_dset_devMbboSoft, pvar_dset_devMbboSoftRaw, + pvar_dset_devMbboSoftCallback, pvar_dset_asynMbboInt32, + pvar_dset_asynMbboUInt32Digital, pvar_dset_devmbboStream, + pvar_dset_devMbboDirectSoft, pvar_dset_devMbboDirectSoftRaw, + pvar_dset_devMbboDirectSoftCallback, + pvar_dset_asynMbboDirectUInt32Digital, pvar_dset_devmbboDirectStream, + pvar_dset_devPrintfSoft, pvar_dset_devPrintfSoftCallback, + pvar_dset_devPrintfStdio, pvar_dset_devsCalcoutSoft, + pvar_dset_devSiSoft, pvar_dset_devSiSoftCallback, + pvar_dset_devTimestampSI, pvar_dset_devSiGeneralTime, + pvar_dset_asynSiOctetCmdResponse, pvar_dset_asynSiOctetWriteRead, + pvar_dset_asynSiOctetRead, pvar_dset_devstringinStream, + pvar_dset_devSoSoft, pvar_dset_devSoSoftCallback, + pvar_dset_devSoStdio, pvar_dset_asynSoOctetWrite, + pvar_dset_devstringoutStream, pvar_dset_devSASoft, + pvar_dset_devSWaitIoEvent, pvar_dset_devWfSoft, + pvar_dset_asynWfOctetCmdResponse, pvar_dset_asynWfOctetWriteRead, + pvar_dset_asynWfOctetRead, pvar_dset_asynWfOctetWrite, + pvar_dset_asynInt8ArrayWfIn, pvar_dset_asynInt8ArrayWfOut, + pvar_dset_asynInt16ArrayWfIn, pvar_dset_asynInt16ArrayWfOut, + pvar_dset_asynInt32ArrayWfIn, pvar_dset_asynInt32ArrayWfOut, + pvar_dset_asynInt32TimeSeries, pvar_dset_asynFloat32ArrayWfIn, + pvar_dset_asynFloat32ArrayWfOut, pvar_dset_asynFloat64ArrayWfIn, + pvar_dset_asynFloat64ArrayWfOut, pvar_dset_asynFloat64TimeSeries, + pvar_dset_devwaveformStream +}; + +epicsShareExtern drvet *pvar_drvet_drvAsyn, *pvar_drvet_stream; + +static const char *driverSupportNames[] = { + "drvAsyn", "stream"}; + +static struct drvet *drvsl[] = { + pvar_drvet_drvAsyn, + pvar_drvet_stream}; + +typedef void (*reg_func)(void); +epicsShareExtern reg_func pvar_func_arrInitialize, + pvar_func_arrayTestRegister, pvar_func_asSub, + pvar_func_asynInterposeEosRegister, + pvar_func_asynInterposeFlushRegister, pvar_func_asynRegister, + pvar_func_dbndInitialize, pvar_func_drvAsynIPPortRegisterCommands, + pvar_func_drvAsynIPServerPortRegisterCommands, + pvar_func_editSseqRegistrar, pvar_func_interpRegister, + pvar_func_streamRegistrar, pvar_func_subAveRegister, + pvar_func_syncInitialize, pvar_func_tsInitialize, + pvar_func_register_func_aSubReadDHTInit, + pvar_func_register_func_aSubReadDHTProcess; + +epicsShareExtern int * const pvar_int_aCalcAsyncThreshold; +epicsShareExtern int * const pvar_int_aCalcLoopMax; +epicsShareExtern int * const pvar_int_aCalcPerformDebug; +epicsShareExtern int * const pvar_int_aCalcPostfixDebug; +epicsShareExtern int * const pvar_int_aCalcoutRecordDebug; +epicsShareExtern int * const pvar_int_aSubReadDHTDebug; +epicsShareExtern int * const pvar_int_arrayTestDebug; +epicsShareExtern int * const pvar_int_asCaDebug; +epicsShareExtern int * const pvar_int_atExitDebug; +epicsShareExtern double * const pvar_double_boHIGHlimit; +epicsShareExtern int * const pvar_int_boHIGHprecision; +epicsShareExtern double * const pvar_double_calcoutODLYlimit; +epicsShareExtern int * const pvar_int_calcoutODLYprecision; +epicsShareExtern int * const pvar_int_callbackParallelThreadsDefault; +epicsShareExtern int * const pvar_int_dbBptNotMonotonic; +epicsShareExtern int * const pvar_int_dbRecordsOnceOnly; +epicsShareExtern int * const pvar_int_dbTemplateMaxVars; +epicsShareExtern int * const pvar_int_debugSubAve; +epicsShareExtern int * const pvar_int_devaCalcoutSoftDebug; +epicsShareExtern int * const pvar_int_devsCalcoutSoftDebug; +epicsShareExtern int * const pvar_int_histogramSDELprecision; +epicsShareExtern int * const pvar_int_interpDebug; +epicsShareExtern int * const pvar_int_sCalcLoopMax; +epicsShareExtern int * const pvar_int_sCalcPerformDebug; +epicsShareExtern int * const pvar_int_sCalcPostfixDebug; +epicsShareExtern int * const pvar_int_sCalcStackHW; +epicsShareExtern int * const pvar_int_sCalcStackLW; +epicsShareExtern int * const pvar_int_sCalcoutRecordDebug; +epicsShareExtern double * const pvar_double_seqDLYlimit; +epicsShareExtern int * const pvar_int_seqDLYprecision; +epicsShareExtern int * const pvar_int_sseqRecDebug; +epicsShareExtern int * const pvar_int_streamDebug; +epicsShareExtern int * const pvar_int_swaitRecordDebug; +epicsShareExtern int * const pvar_int_transformRecordDebug; + +static struct iocshVarDef vardefs[] = { + {"aCalcAsyncThreshold", iocshArgInt, pvar_int_aCalcAsyncThreshold}, + {"aCalcLoopMax", iocshArgInt, pvar_int_aCalcLoopMax}, + {"aCalcPerformDebug", iocshArgInt, pvar_int_aCalcPerformDebug}, + {"aCalcPostfixDebug", iocshArgInt, pvar_int_aCalcPostfixDebug}, + {"aCalcoutRecordDebug", iocshArgInt, pvar_int_aCalcoutRecordDebug}, + {"aSubReadDHTDebug", iocshArgInt, pvar_int_aSubReadDHTDebug}, + {"arrayTestDebug", iocshArgInt, pvar_int_arrayTestDebug}, + {"asCaDebug", iocshArgInt, pvar_int_asCaDebug}, + {"atExitDebug", iocshArgInt, pvar_int_atExitDebug}, + {"boHIGHlimit", iocshArgDouble, pvar_double_boHIGHlimit}, + {"boHIGHprecision", iocshArgInt, pvar_int_boHIGHprecision}, + {"calcoutODLYlimit", iocshArgDouble, pvar_double_calcoutODLYlimit}, + {"calcoutODLYprecision", iocshArgInt, pvar_int_calcoutODLYprecision}, + {"callbackParallelThreadsDefault", iocshArgInt, pvar_int_callbackParallelThreadsDefault}, + {"dbBptNotMonotonic", iocshArgInt, pvar_int_dbBptNotMonotonic}, + {"dbRecordsOnceOnly", iocshArgInt, pvar_int_dbRecordsOnceOnly}, + {"dbTemplateMaxVars", iocshArgInt, pvar_int_dbTemplateMaxVars}, + {"debugSubAve", iocshArgInt, pvar_int_debugSubAve}, + {"devaCalcoutSoftDebug", iocshArgInt, pvar_int_devaCalcoutSoftDebug}, + {"devsCalcoutSoftDebug", iocshArgInt, pvar_int_devsCalcoutSoftDebug}, + {"histogramSDELprecision", iocshArgInt, pvar_int_histogramSDELprecision}, + {"interpDebug", iocshArgInt, pvar_int_interpDebug}, + {"sCalcLoopMax", iocshArgInt, pvar_int_sCalcLoopMax}, + {"sCalcPerformDebug", iocshArgInt, pvar_int_sCalcPerformDebug}, + {"sCalcPostfixDebug", iocshArgInt, pvar_int_sCalcPostfixDebug}, + {"sCalcStackHW", iocshArgInt, pvar_int_sCalcStackHW}, + {"sCalcStackLW", iocshArgInt, pvar_int_sCalcStackLW}, + {"sCalcoutRecordDebug", iocshArgInt, pvar_int_sCalcoutRecordDebug}, + {"seqDLYlimit", iocshArgDouble, pvar_double_seqDLYlimit}, + {"seqDLYprecision", iocshArgInt, pvar_int_seqDLYprecision}, + {"sseqRecDebug", iocshArgInt, pvar_int_sseqRecDebug}, + {"streamDebug", iocshArgInt, pvar_int_streamDebug}, + {"swaitRecordDebug", iocshArgInt, pvar_int_swaitRecordDebug}, + {"transformRecordDebug", iocshArgInt, pvar_int_transformRecordDebug}, + {NULL, iocshArgInt, NULL} +}; + +int kstm_registerRecordDeviceDriver(DBBASE *pbase) +{ + static int executed = 0; + const char *bldTop = "/home/epics/FHI/zweikstm"; + const char *envTop = getenv("TOP"); + + if (envTop && strcmp(envTop, bldTop)) { + printf("Warning: IOC is booting with TOP = \"%s\"\n" + " but was built with TOP = \"%s\"\n", + envTop, bldTop); + } + + if (!pbase) { + printf("pdbbase is NULL; you must load a DBD file first.\n"); + return -1; + } + + if (executed) { + printf("Warning: Registration already done.\n"); + } + executed = 1; + + registerRecordTypes(pbase, NELEMENTS(rtl), recordTypeNames, rtl); + registerDevices(pbase, NELEMENTS(devsl), deviceSupportNames, devsl); + registerDrivers(pbase, NELEMENTS(drvsl), driverSupportNames, drvsl); + pvar_func_arrInitialize(); + pvar_func_arrayTestRegister(); + pvar_func_asSub(); + pvar_func_asynInterposeEosRegister(); + pvar_func_asynInterposeFlushRegister(); + pvar_func_asynRegister(); + pvar_func_dbndInitialize(); + pvar_func_drvAsynIPPortRegisterCommands(); + pvar_func_drvAsynIPServerPortRegisterCommands(); + pvar_func_editSseqRegistrar(); + pvar_func_interpRegister(); + pvar_func_streamRegistrar(); + pvar_func_subAveRegister(); + pvar_func_syncInitialize(); + pvar_func_tsInitialize(); + pvar_func_register_func_aSubReadDHTInit(); + pvar_func_register_func_aSubReadDHTProcess(); + iocshRegisterVariable(vardefs); + return 0; +} + +/* kstm_registerRecordDeviceDriver */ +static const iocshArg rrddArg0 = {"pdbbase", iocshArgPdbbase}; +static const iocshArg *rrddArgs[] = {&rrddArg0}; +static const iocshFuncDef rrddFuncDef = + {"kstm_registerRecordDeviceDriver", 1, rrddArgs}; +static void rrddCallFunc(const iocshArgBuf *) +{ + kstm_registerRecordDeviceDriver(*iocshPpdbbase); +} + +} // extern "C" + +/* + * Register commands on application startup + */ +static int Registration() { + iocshRegisterCommon(); + iocshRegister(&rrddFuncDef, rrddCallFunc); + return 0; +} + +static int done = Registration(); diff -r ec018606c207 -r 68a4f654dc00 kstmApp/src/O.linux-arm/kstm_registerRecordDeviceDriver.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kstmApp/src/O.linux-arm/kstm_registerRecordDeviceDriver.d Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,21 @@ +kstm_registerRecordDeviceDriver.o: kstm_registerRecordDeviceDriver.cpp \ + /home/epics/EPICS/base/include/epicsStdlib.h \ + /home/epics/EPICS/base/include/shareLib.h \ + /home/epics/EPICS/base/include/os/Linux/osdStrtod.h \ + /home/epics/EPICS/base/include/epicsTypes.h \ + /home/epics/EPICS/base/include/compilerDependencies.h \ + /home/epics/EPICS/base/include/compiler/gcc/compilerSpecific.h \ + /home/epics/EPICS/base/include/errMdef.h \ + /home/epics/EPICS/base/include/iocsh.h \ + /home/epics/EPICS/base/include/iocshRegisterCommon.h \ + /home/epics/EPICS/base/include/registryCommon.h \ + /home/epics/EPICS/base/include/dbStaticLib.h \ + /home/epics/EPICS/base/include/dbFldTypes.h \ + /home/epics/EPICS/base/include/dbBase.h \ + /home/epics/EPICS/base/include/ellLib.h \ + /home/epics/EPICS/base/include/dbDefs.h \ + /home/epics/EPICS/base/include/link.h \ + /home/epics/EPICS/base/include/cantProceed.h \ + /home/epics/EPICS/base/include/devSup.h \ + /home/epics/EPICS/base/include/registryRecordType.h \ + /home/epics/EPICS/base/include/recSup.h diff -r ec018606c207 -r 68a4f654dc00 kstmApp/src/O.linux-arm/kstm_registerRecordDeviceDriver.o Binary file kstmApp/src/O.linux-arm/kstm_registerRecordDeviceDriver.o has changed diff -r ec018606c207 -r 68a4f654dc00 kstmApp/src/O.linux-arm/pi_2_dht_read.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kstmApp/src/O.linux-arm/pi_2_dht_read.d Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,11 @@ +pi_2_dht_read.o: ../pi_2_dht_read.c \ + /home/epics/EPICS/base/include/epicsExit.h \ + /home/epics/EPICS/base/include/shareLib.h \ + /home/epics/EPICS/base/include/epicsThread.h \ + /home/epics/EPICS/base/include/shareLib.h \ + /home/epics/EPICS/base/include/os/Linux/osdThread.h \ + /home/epics/EPICS/base/include/ellLib.h \ + /home/epics/EPICS/base/include/epicsEvent.h \ + /home/epics/EPICS/base/include/os/Linux/osdEvent.h \ + /home/epics/EPICS/base/include/iocsh.h ../pi_2_dht_read.h \ + ../common_dht_read.h ../pi_2_mmio.h diff -r ec018606c207 -r 68a4f654dc00 kstmApp/src/O.linux-arm/pi_2_dht_read.o Binary file kstmApp/src/O.linux-arm/pi_2_dht_read.o has changed diff -r ec018606c207 -r 68a4f654dc00 kstmApp/src/O.linux-arm/pi_2_mmio.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kstmApp/src/O.linux-arm/pi_2_mmio.d Thu Jul 05 08:48:18 2018 +0000 @@ -0,0 +1,1 @@ +pi_2_mmio.o: ../pi_2_mmio.c ../pi_2_mmio.h diff -r ec018606c207 -r 68a4f654dc00 kstmApp/src/O.linux-arm/pi_2_mmio.o Binary file kstmApp/src/O.linux-arm/pi_2_mmio.o has changed