#*************************************************************************
# 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 Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution. 
#*************************************************************************
menu(pulseCounterCNTE) {
	choice(pulseCounterCNTE_Rising_Edge,"Rising Edge")
	choice(pulseCounterCNTE_Falling_Edge,"Falling Edge")
}
menu(pulseCounterGTYP) {
	choice(pulseCounterGTYP_Hardware,"Hardware")
	choice(pulseCounterGTYP_Software,"Software")
}
menu(pulseCounterCMD) {
	choice(pulseCounterCMD_Read,"Read")
	choice(pulseCounterCMD_Clear,"Clear")
	choice(pulseCounterCMD_Start,"Start")
	choice(pulseCounterCMD_Stop,"Stop")
	choice(pulseCounterCMD_Setup,"Setup")
}
menu(pulseCounterSGV) {
	choice(pulseCounterSGV_Inactive,"Inactive")
	choice(pulseCounterSGV_Active,"Active")
}
menu(pulseCounterCSIZ) {
	choice(pulseCounterCSIZ_16_bit,"16 bit")
	choice(pulseCounterCSIZ_32_bit,"32 bit")
}
recordtype(pulseCounter) {
	include "dbCommon.dbd" 
	field(VAL,DBF_ULONG) {
		prompt("Counter Value")
		asl(ASL0)
	}
	field(OUT,DBF_OUTLINK) {
		prompt("Output Specification")
		promptgroup(GUI_PULSE)
		interest(1)
	}
	field(GTYP,DBF_MENU) {
		prompt("Gate Type")
		promptgroup(GUI_PULSE)
		interest(1)
		menu(pulseCounterGTYP)
	}
	field(HGV,DBF_SHORT) {
		prompt("Hardware Gate Value")
		promptgroup(GUI_PULSE)
	}
	field(SGL,DBF_INLINK) {
		prompt("Soft Gate Location")
		promptgroup(GUI_PULSE)
		interest(1)
	}
	field(SGV,DBF_MENU) {
		prompt("Soft Gate Value")
		promptgroup(GUI_PULSE)
		menu(pulseCounterSGV)
	}
	field(OSGV,DBF_USHORT) {
		prompt("Old Soft Gate Value")
		special(SPC_NOMOD)
		interest(3)
	}
	field(CSIZ,DBF_MENU) {
		prompt("Counter Size")
		promptgroup(GUI_PULSE)
		interest(1)
		menu(pulseCounterCSIZ)
		initial("32 bit")
	}
	field(CNTE,DBF_MENU) {
		prompt("Counter Sounce Edge")
		promptgroup(GUI_PULSE)
		interest(1)
		menu(pulseCounterCNTE)
	}
	field(CNTS,DBF_SHORT) {
		prompt("Count Source")
		promptgroup(GUI_PULSE)
		interest(1)
	}
	field(HOPR,DBF_FLOAT) {
		prompt("High Operating Range")
		promptgroup(GUI_DISPLAY)
		interest(1)
		initial("4.3e+09")
	}
	field(LOPR,DBF_FLOAT) {
		prompt("Low Operating Range")
		promptgroup(GUI_DISPLAY)
		interest(1)
	}
	field(CMD,DBF_MENU) {
		prompt("Command")
		asl(ASL0)
		pp(TRUE)
		interest(1)
		menu(pulseCounterCMD)
	}
	field(SCMD,DBF_USHORT) {
		prompt("Save Command")
		special(SPC_NOMOD)
		interest(3)
	}
	field(CPTR,DBF_ULONG) {
		prompt("Callback")
		special(SPC_NOMOD)
	}
}
