#*************************************************************************
# Copyright (c) 2002 The University of Chicago, 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.
#*************************************************************************


menu(dfanoutSELM) {
	choice(dfanoutSELM_All,"All")
	choice(dfanoutSELM_Specified,"Specified")
	choice(dfanoutSELM_Mask,"Mask")
}

recordtype(dfanout) {


	include "dbCommon.dbd" 
	field(VAL,DBF_DOUBLE) {
		prompt("Desired Output")
		promptgroup("40 - Input")
		asl(ASL0)
		pp(TRUE)
	}
	field(SELM,DBF_MENU) {
		prompt("Select Mechanism")
		promptgroup("30 - Action")
		interest(1)
		menu(dfanoutSELM)
	}
	field(SELN,DBF_USHORT) {
		prompt("Link Selection")
		interest(1)
		initial("1")
	}
	field(SELL,DBF_INLINK) {
		prompt("Link Selection Loc")
		promptgroup("30 - Action")
		interest(1)
	}
	field(OUTA,DBF_OUTLINK) {
		prompt("Output Spec A")
		promptgroup("50 - Output")
		interest(1)
	}
	field(OUTB,DBF_OUTLINK) {
		prompt("Output Spec B")
		promptgroup("50 - Output")
		interest(1)
	}
	field(OUTC,DBF_OUTLINK) {
		prompt("Output Spec C")
		promptgroup("50 - Output")
		interest(1)
	}
	field(OUTD,DBF_OUTLINK) {
		prompt("Output Spec D")
		promptgroup("50 - Output")
		interest(1)
	}
	field(OUTE,DBF_OUTLINK) {
		prompt("Output Spec E")
		promptgroup("50 - Output")
		interest(1)
	}
	field(OUTF,DBF_OUTLINK) {
		prompt("Output Spec F")
		promptgroup("50 - Output")
		interest(1)
	}
	field(OUTG,DBF_OUTLINK) {
		prompt("Output Spec G")
		promptgroup("50 - Output")
		interest(1)
	}
	field(OUTH,DBF_OUTLINK) {
		prompt("Output Spec H")
		promptgroup("50 - Output")
		interest(1)
	}
	field(DOL,DBF_INLINK) {
		prompt("Desired Output Link")
		promptgroup("40 - Input")
		interest(1)
	}
	field(OMSL,DBF_MENU) {
		prompt("Output Mode Select")
		promptgroup("50 - Output")
		interest(1)
		menu(menuOmsl)
	}
	field(EGU,DBF_STRING) {
		prompt("Engineering Units")
		promptgroup("80 - Display")
		interest(1)
		size(16)
		prop(YES)
	}
	field(PREC,DBF_SHORT) {
		prompt("Display Precision")
		promptgroup("80 - Display")
		interest(1)
		prop(YES)
	}
	field(HOPR,DBF_DOUBLE) {
		prompt("High Operating Range")
		promptgroup("80 - Display")
		interest(1)
		prop(YES)
	}
	field(LOPR,DBF_DOUBLE) {
		prompt("Low Operating Range")
		promptgroup("80 - Display")
		interest(1)
		prop(YES)
	}
	field(HIHI,DBF_DOUBLE) {
		prompt("Hihi Alarm Limit")
		promptgroup("70 - Alarm")
		pp(TRUE)
		interest(1)
		prop(YES)
	}
	field(LOLO,DBF_DOUBLE) {
		prompt("Lolo Alarm Limit")
		promptgroup("70 - Alarm")
		pp(TRUE)
		interest(1)
		prop(YES)
	}
	field(HIGH,DBF_DOUBLE) {
		prompt("High Alarm Limit")
		promptgroup("70 - Alarm")
		pp(TRUE)
		interest(1)
		prop(YES)
	}
	field(LOW,DBF_DOUBLE) {
		prompt("Low Alarm Limit")
		promptgroup("70 - Alarm")
		pp(TRUE)
		interest(1)
		prop(YES)
	}
	field(HHSV,DBF_MENU) {
		prompt("Hihi Severity")
		promptgroup("70 - Alarm")
		pp(TRUE)
		interest(1)
		prop(YES)
		menu(menuAlarmSevr)
	}
	field(LLSV,DBF_MENU) {
		prompt("Lolo Severity")
		promptgroup("70 - Alarm")
		pp(TRUE)
		interest(1)
		prop(YES)
		menu(menuAlarmSevr)
	}
	field(HSV,DBF_MENU) {
		prompt("High Severity")
		promptgroup("70 - Alarm")
		pp(TRUE)
		interest(1)
		prop(YES)
		menu(menuAlarmSevr)
	}
	field(LSV,DBF_MENU) {
		prompt("Low Severity")
		promptgroup("70 - Alarm")
		pp(TRUE)
		interest(1)
		prop(YES)
		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(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 Val Monitored")
		special(SPC_NOMOD)
		interest(3)
	}

}
