#*************************************************************************
# Copyright (c) 2008 UChicago Argonne LLC, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
recordtype(sub) {
include "dbCommon.dbd"
field(VAL,DBF_DOUBLE) {
prompt("Result")
asl(ASL0)
pp(TRUE)
}
field(INAM,DBF_STRING) {
prompt("Init Routine Name")
promptgroup("30 - Action")
special(SPC_NOMOD)
interest(1)
size(40)
}
field(SNAM,DBF_STRING) {
prompt("Subroutine Name")
promptgroup("30 - Action")
special(SPC_MOD)
interest(1)
size(40)
}
%struct subRecord;
%typedef long (*SUBFUNCPTR)(struct subRecord *);
field(SADR,DBF_NOACCESS) {
prompt("Subroutine Address")
special(SPC_NOMOD)
interest(4)
extra("SUBFUNCPTR sadr")
}
field(INPA,DBF_INLINK) {
prompt("Input A")
promptgroup("41 - Input A-F")
interest(1)
}
field(INPB,DBF_INLINK) {
prompt("Input B")
promptgroup("41 - Input A-F")
interest(1)
}
field(INPC,DBF_INLINK) {
prompt("Input C")
promptgroup("41 - Input A-F")
interest(1)
}
field(INPD,DBF_INLINK) {
prompt("Input D")
promptgroup("41 - Input A-F")
interest(1)
}
field(INPE,DBF_INLINK) {
prompt("Input E")
promptgroup("41 - Input A-F")
interest(1)
}
field(INPF,DBF_INLINK) {
prompt("Input F")
promptgroup("41 - Input A-F")
interest(1)
}
field(INPG,DBF_INLINK) {
prompt("Input G")
promptgroup("42 - Input G-L")
interest(1)
}
field(INPH,DBF_INLINK) {
prompt("Input H")
promptgroup("42 - Input G-L")
interest(1)
}
field(INPI,DBF_INLINK) {
prompt("Input I")
promptgroup("42 - Input G-L")
interest(1)
}
field(INPJ,DBF_INLINK) {
prompt("Input J")
promptgroup("42 - Input G-L")
interest(1)
}
field(INPK,DBF_INLINK) {
prompt("Input K")
promptgroup("42 - Input G-L")
interest(1)
}
field(INPL,DBF_INLINK) {
prompt("Input L")
promptgroup("42 - Input G-L")
interest(1)
}
field(INPM,DBF_INLINK) {
prompt("Input M")
promptgroup("43 - Input M-R")
interest(1)
}
field(INPN,DBF_INLINK) {
prompt("Input N")
promptgroup("43 - Input M-R")
interest(1)
}
field(INPO,DBF_INLINK) {
prompt("Input O")
promptgroup("43 - Input M-R")
interest(1)
}
field(INPP,DBF_INLINK) {
prompt("Input P")
promptgroup("43 - Input M-R")
interest(1)
}
field(INPQ,DBF_INLINK) {
prompt("Input Q")
promptgroup("43 - Input M-R")
interest(1)
}
field(INPR,DBF_INLINK) {
prompt("Input R")
promptgroup("43 - Input M-R")
interest(1)
}
field(INPS,DBF_INLINK) {
prompt("Input S")
promptgroup("44 - Input S-U")
interest(1)
}
field(INPT,DBF_INLINK) {
prompt("Input T")
promptgroup("44 - Input S-U")
interest(1)
}
field(INPU,DBF_INLINK) {
prompt("Input U")
promptgroup("44 - Input S-U")
interest(1)
}
field(EGU,DBF_STRING) {
prompt("Engineering Units")
promptgroup("80 - Display")
interest(1)
size(16)
prop(YES) # get_units
}
field(HOPR,DBF_DOUBLE) {
prompt("High Operating Range")
promptgroup("80 - Display")
interest(1)
prop(YES) # get_graphic_double, get_control_double
}
field(LOPR,DBF_DOUBLE) {
prompt("Low Operating Range")
promptgroup("80 - Display")
interest(1)
prop(YES) # get_graphic_double, get_control_double
}
field(HIHI,DBF_DOUBLE) {
prompt("Hihi Alarm Limit")
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES) # get_alarm_double
}
field(LOLO,DBF_DOUBLE) {
prompt("Lolo Alarm Limit")
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES) # get_alarm_double
}
field(HIGH,DBF_DOUBLE) {
prompt("High Alarm Limit")
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES) # get_alarm_double
}
field(LOW,DBF_DOUBLE) {
prompt("Low Alarm Limit")
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES) # get_alarm_double
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup("80 - Display")
interest(1)
prop(YES) # get_precision
}
field(BRSV,DBF_MENU) {
prompt("Bad Return Severity")
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HHSV,DBF_MENU) {
prompt("Hihi Severity")
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES) # get_alarm_double
menu(menuAlarmSevr)
}
field(LLSV,DBF_MENU) {
prompt("Lolo Severity")
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES) # get_alarm_double
menu(menuAlarmSevr)
}
field(HSV,DBF_MENU) {
prompt("High Severity")
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES) # get_alarm_double
menu(menuAlarmSevr)
}
field(LSV,DBF_MENU) {
prompt("Low Severity")
promptgroup("70 - Alarm")
pp(TRUE)
interest(1)
prop(YES) # get_alarm_double
menu(menuAlarmSevr)
}
field(HYST,DBF_DOUBLE) {
prompt("Alarm Deadband")
promptgroup("70 - Alarm")
interest(1)
}
field(ADEL,DBF_DOUBLE) {
prompt("Archive Deadband")
promptgroup("80 - Display")
interest(1)
}
field(MDEL,DBF_DOUBLE) {
prompt("Monitor Deadband")
promptgroup("80 - Display")
interest(1)
}
field(A,DBF_DOUBLE) {
prompt("Value of Input A")
pp(TRUE)
}
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) {
prompt("Value of Input D")
pp(TRUE)
}
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) {
prompt("Value of Input I")
pp(TRUE)
}
field(J,DBF_DOUBLE) {
prompt("Value of Input J")
pp(TRUE)
}
field(K,DBF_DOUBLE) {
prompt("Value of Input K")
pp(TRUE)
}
field(L,DBF_DOUBLE) {
prompt("Value of Input L")
pp(TRUE)
}
field(M,DBF_DOUBLE) {
prompt("Value of Input M")
pp(TRUE)
}
field(N,DBF_DOUBLE) {
prompt("Value of Input N")
pp(TRUE)
}
field(O,DBF_DOUBLE) {
prompt("Value of Input O")
pp(TRUE)
}
field(P,DBF_DOUBLE) {
prompt("Value of Input P")
pp(TRUE)
}
field(Q,DBF_DOUBLE) {
prompt("Value of Input Q")
pp(TRUE)
}
field(R,DBF_DOUBLE) {
prompt("Value of Input R")
pp(TRUE)
}
field(S,DBF_DOUBLE) {
prompt("Value of Input S")
pp(TRUE)
}
field(T,DBF_DOUBLE) {
prompt("Value of Input T")
pp(TRUE)
}
field(U,DBF_DOUBLE) {
prompt("Value of Input U")
pp(TRUE)
}
field(LA,DBF_DOUBLE) {
prompt("Prev Value of A")
special(SPC_NOMOD)
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) {
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) {
prompt("Prev Value of F")
special(SPC_NOMOD)
interest(3)
}
field(LG,DBF_DOUBLE) {
prompt("Prev Value of G")
special(SPC_NOMOD)
interest(3)
}
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) {
prompt("Prev Value of J")
special(SPC_NOMOD)
interest(3)
}
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(LM,DBF_DOUBLE) {
prompt("Prev Value of M")
special(SPC_NOMOD)
interest(3)
}
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) {
prompt("Prev Value of P")
special(SPC_NOMOD)
interest(3)
}
field(LQ,DBF_DOUBLE) {
prompt("Prev Value of Q")
special(SPC_NOMOD)
interest(3)
}
field(LR,DBF_DOUBLE) {
prompt("Prev Value of R")
special(SPC_NOMOD)
interest(3)
}
field(LS,DBF_DOUBLE) {
prompt("Prev Value of S")
special(SPC_NOMOD)
interest(3)
}
field(LT,DBF_DOUBLE) {
prompt("Prev Value of T")
special(SPC_NOMOD)
interest(3)
}
field(LU,DBF_DOUBLE) {
prompt("Prev Value of U")
special(SPC_NOMOD)
interest(3)
}
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) {
prompt("Last Value Monitored")
special(SPC_NOMOD)
interest(3)
}
}