#*************************************************************************
# 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.
#*************************************************************************
recordtype(mbbo) {
	include "dbCommon.dbd" 
	field(VAL,DBF_ENUM) {
		prompt("Desired Value")
		promptgroup("50 - Output")
		special(SPC_DBADDR)
		asl(ASL0)
		pp(TRUE)
		#=read Yes
		#=write Yes
	}
	field(DOL,DBF_INLINK) {
		prompt("Desired Output Loc")
		promptgroup("40 - Input")
		interest(1)
	}
	field(OMSL,DBF_MENU) {
		prompt("Output Mode Select")
		promptgroup("50 - Output")
		interest(1)
		menu(menuOmsl)
	}
	field(NOBT,DBF_USHORT) {
		prompt("Number of Bits")
		promptgroup("50 - Output")
		special(SPC_NOMOD)
		interest(1)
	}
	field(OUT,DBF_OUTLINK) {
		prompt("Output Specification")
		promptgroup("50 - Output")
		interest(1)
	}
	field(ZRVL,DBF_ULONG) {
		prompt("Zero Value")
		promptgroup("51 - Output 0-7")
		special(SPC_MOD)
		pp(TRUE)
		base(HEX)
		interest(1)
	}
	field(ONVL,DBF_ULONG) {
		prompt("One Value")
		promptgroup("51 - Output 0-7")
		special(SPC_MOD)
		pp(TRUE)
		base(HEX)
		interest(1)
	}
	field(TWVL,DBF_ULONG) {
		prompt("Two Value")
		promptgroup("51 - Output 0-7")
		special(SPC_MOD)
		pp(TRUE)
		base(HEX)
		interest(1)
	}
	field(THVL,DBF_ULONG) {
		prompt("Three Value")
		promptgroup("51 - Output 0-7")
		special(SPC_MOD)
		pp(TRUE)
		base(HEX)
		interest(1)
	}
	field(FRVL,DBF_ULONG) {
		prompt("Four Value")
		promptgroup("51 - Output 0-7")
		special(SPC_MOD)
		pp(TRUE)
		base(HEX)
		interest(1)
	}
	field(FVVL,DBF_ULONG) {
		prompt("Five Value")
		promptgroup("51 - Output 0-7")
		special(SPC_MOD)
		pp(TRUE)
		base(HEX)
		interest(1)
	}
	field(SXVL,DBF_ULONG) {
		prompt("Six Value")
		promptgroup("51 - Output 0-7")
		special(SPC_MOD)
		pp(TRUE)
		base(HEX)
		interest(1)
	}
	field(SVVL,DBF_ULONG) {
		prompt("Seven Value")
		promptgroup("51 - Output 0-7")
		special(SPC_MOD)
		pp(TRUE)
		base(HEX)
		interest(1)
	}
	field(EIVL,DBF_ULONG) {
		prompt("Eight Value")
		promptgroup("52 - Output 8-15")
		special(SPC_MOD)
		pp(TRUE)
		base(HEX)
		interest(1)
	}
	field(NIVL,DBF_ULONG) {
		prompt("Nine Value")
		promptgroup("52 - Output 8-15")
		special(SPC_MOD)
		pp(TRUE)
		base(HEX)
		interest(1)
	}
	field(TEVL,DBF_ULONG) {
		prompt("Ten Value")
		promptgroup("52 - Output 8-15")
		special(SPC_MOD)
		pp(TRUE)
		base(HEX)
		interest(1)
	}
	field(ELVL,DBF_ULONG) {
		prompt("Eleven Value")
		promptgroup("52 - Output 8-15")
		special(SPC_MOD)
		pp(TRUE)
		base(HEX)
		interest(1)
	}
	field(TVVL,DBF_ULONG) {
		prompt("Twelve Value")
		promptgroup("52 - Output 8-15")
		special(SPC_MOD)
		pp(TRUE)
		base(HEX)
		interest(1)
	}
	field(TTVL,DBF_ULONG) {
		prompt("Thirteen Value")
		promptgroup("52 - Output 8-15")
		special(SPC_MOD)
		pp(TRUE)
		base(HEX)
		interest(1)
	}
	field(FTVL,DBF_ULONG) {
		prompt("Fourteen Value")
		promptgroup("52 - Output 8-15")
		special(SPC_MOD)
		pp(TRUE)
		base(HEX)
		interest(1)
	}
	field(FFVL,DBF_ULONG) {
		prompt("Fifteen Value")
		promptgroup("52 - Output 8-15")
		special(SPC_MOD)
		pp(TRUE)
		base(HEX)
		interest(1)
	}
	field(ZRST,DBF_STRING) {
		prompt("Zero String")
		promptgroup("81 - Display 0-7")
		special(SPC_MOD)
		pp(TRUE)
		interest(1)
		size(26)
	}
	field(ONST,DBF_STRING) {
		prompt("One String")
		promptgroup("81 - Display 0-7")
		special(SPC_MOD)
		pp(TRUE)
		interest(1)
		size(26)
	}
	field(TWST,DBF_STRING) {
		prompt("Two String")
		promptgroup("81 - Display 0-7")
		special(SPC_MOD)
		pp(TRUE)
		interest(1)
		size(26)
	}
	field(THST,DBF_STRING) {
		prompt("Three String")
		promptgroup("81 - Display 0-7")
		special(SPC_MOD)
		pp(TRUE)
		interest(1)
		size(26)
	}
	field(FRST,DBF_STRING) {
		prompt("Four String")
		promptgroup("81 - Display 0-7")
		special(SPC_MOD)
		pp(TRUE)
		interest(1)
		size(26)
	}
	field(FVST,DBF_STRING) {
		prompt("Five String")
		promptgroup("81 - Display 0-7")
		special(SPC_MOD)
		pp(TRUE)
		interest(1)
		size(26)
	}
	field(SXST,DBF_STRING) {
		prompt("Six String")
		promptgroup("81 - Display 0-7")
		special(SPC_MOD)
		pp(TRUE)
		interest(1)
		size(26)
	}
	field(SVST,DBF_STRING) {
		prompt("Seven String")
		promptgroup("81 - Display 0-7")
		special(SPC_MOD)
		pp(TRUE)
		interest(1)
		size(26)
	}
	field(EIST,DBF_STRING) {
		prompt("Eight String")
		promptgroup("82 - Display 8-15")
		special(SPC_MOD)
		pp(TRUE)
		interest(1)
		size(26)
	}
	field(NIST,DBF_STRING) {
		prompt("Nine String")
		promptgroup("82 - Display 8-15")
		special(SPC_MOD)
		pp(TRUE)
		interest(1)
		size(26)
	}
	field(TEST,DBF_STRING) {
		prompt("Ten String")
		promptgroup("82 - Display 8-15")
		special(SPC_MOD)
		pp(TRUE)
		interest(1)
		size(26)
	}
	field(ELST,DBF_STRING) {
		prompt("Eleven String")
		promptgroup("82 - Display 8-15")
		special(SPC_MOD)
		pp(TRUE)
		interest(1)
		size(26)
	}
	field(TVST,DBF_STRING) {
		prompt("Twelve String")
		promptgroup("82 - Display 8-15")
		special(SPC_MOD)
		pp(TRUE)
		interest(1)
		size(26)
	}
	field(TTST,DBF_STRING) {
		prompt("Thirteen String")
		promptgroup("82 - Display 8-15")
		special(SPC_MOD)
		pp(TRUE)
		interest(1)
		size(26)
	}
	field(FTST,DBF_STRING) {
		prompt("Fourteen String")
		promptgroup("82 - Display 8-15")
		special(SPC_MOD)
		pp(TRUE)
		interest(1)
		size(26)
	}
	field(FFST,DBF_STRING) {
		prompt("Fifteen String")
		promptgroup("82 - Display 8-15")
		special(SPC_MOD)
		pp(TRUE)
		interest(1)
		size(26)
	}
	field(ZRSV,DBF_MENU) {
		prompt("State Zero Severity")
		promptgroup("71 - Alarm 0-7")
		pp(TRUE)
		interest(1)
		menu(menuAlarmSevr)
	}
	field(ONSV,DBF_MENU) {
		prompt("State One Severity")
		promptgroup("71 - Alarm 0-7")
		pp(TRUE)
		interest(1)
		menu(menuAlarmSevr)
	}
	field(TWSV,DBF_MENU) {
		prompt("State Two Severity")
		promptgroup("71 - Alarm 0-7")
		pp(TRUE)
		interest(1)
		menu(menuAlarmSevr)
	}
	field(THSV,DBF_MENU) {
		prompt("State Three Severity")
		promptgroup("71 - Alarm 0-7")
		pp(TRUE)
		interest(1)
		menu(menuAlarmSevr)
	}
	field(FRSV,DBF_MENU) {
		prompt("State Four Severity")
		promptgroup("71 - Alarm 0-7")
		pp(TRUE)
		interest(1)
		menu(menuAlarmSevr)
	}
	field(FVSV,DBF_MENU) {
		prompt("State Five Severity")
		promptgroup("71 - Alarm 0-7")
		pp(TRUE)
		interest(1)
		menu(menuAlarmSevr)
	}
	field(SXSV,DBF_MENU) {
		prompt("State Six Severity")
		promptgroup("71 - Alarm 0-7")
		pp(TRUE)
		interest(1)
		menu(menuAlarmSevr)
	}
	field(SVSV,DBF_MENU) {
		prompt("State Seven Severity")
		promptgroup("71 - Alarm 0-7")
		pp(TRUE)
		interest(1)
		menu(menuAlarmSevr)
	}
	field(EISV,DBF_MENU) {
		prompt("State Eight Severity")
		promptgroup("72 - Alarm 8-15")
		pp(TRUE)
		interest(1)
		menu(menuAlarmSevr)
	}
	field(NISV,DBF_MENU) {
		prompt("State Nine Severity")
		promptgroup("72 - Alarm 8-15")
		pp(TRUE)
		interest(1)
		menu(menuAlarmSevr)
	}
	field(TESV,DBF_MENU) {
		prompt("State Ten Severity")
		promptgroup("72 - Alarm 8-15")
		pp(TRUE)
		interest(1)
		menu(menuAlarmSevr)
	}
	field(ELSV,DBF_MENU) {
		prompt("State Eleven Severity")
		promptgroup("72 - Alarm 8-15")
		pp(TRUE)
		interest(1)
		menu(menuAlarmSevr)
	}
	field(TVSV,DBF_MENU) {
		prompt("State Twelve Severity")
		promptgroup("72 - Alarm 8-15")
		pp(TRUE)
		interest(1)
		menu(menuAlarmSevr)
	}
	field(TTSV,DBF_MENU) {
		prompt("State Thirteen Sevr")
		promptgroup("72 - Alarm 8-15")
		pp(TRUE)
		interest(1)
		menu(menuAlarmSevr)
	}
	field(FTSV,DBF_MENU) {
		prompt("State Fourteen Sevr")
		promptgroup("72 - Alarm 8-15")
		pp(TRUE)
		interest(1)
		menu(menuAlarmSevr)
	}
	field(FFSV,DBF_MENU) {
		prompt("State Fifteen Sevr")
		promptgroup("72 - Alarm 8-15")
		pp(TRUE)
		interest(1)
		menu(menuAlarmSevr)
	}
	field(UNSV,DBF_MENU) {
		prompt("Unknown State Sevr")
		promptgroup("70 - Alarm")
		pp(TRUE)
		interest(1)
		menu(menuAlarmSevr)
	}
	field(COSV,DBF_MENU) {
		prompt("Change of State Sevr")
		promptgroup("70 - Alarm")
		pp(TRUE)
		interest(1)
		menu(menuAlarmSevr)
	}
	field(RVAL,DBF_ULONG) {
		prompt("Raw Value")
		pp(TRUE)
	}
	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) {
		prompt("Hardware Mask")
		special(SPC_NOMOD)
		interest(1)
	}
	field(MLST,DBF_USHORT) {
		prompt("Last Value Monitored")
		special(SPC_NOMOD)
		interest(3)
	}
	field(LALM,DBF_USHORT) {
		prompt("Last Value Alarmed")
		special(SPC_NOMOD)
		interest(3)
	}
	field(SDEF,DBF_SHORT) {
		prompt("States Defined")
		special(SPC_NOMOD)
		interest(3)
	}
	field(SHFT,DBF_USHORT) {
		prompt("Shift")
		promptgroup("50 - Output")
		interest(1)
	}
	field(SIOL,DBF_OUTLINK) {
		prompt("Sim Output Specifctn")
		promptgroup("90 - Simulate")
		interest(1)
	}
	field(SIML,DBF_INLINK) {
		prompt("Sim Mode Location")
		promptgroup("90 - Simulate")
		interest(1)
	}
	field(SIMM,DBF_MENU) {
		prompt("Simulation Mode")
		interest(1)
		menu(menuYesNo)
	}
	field(SIMS,DBF_MENU) {
		prompt("Sim mode Alarm Svrty")
		promptgroup("90 - Simulate")
		interest(2)
		menu(menuAlarmSevr)
	}
	field(IVOA,DBF_MENU) {
		prompt("INVALID outpt action")
		promptgroup("50 - Output")
		interest(2)
		menu(menuIvoa)
	}
	field(IVOV,DBF_USHORT) {
		prompt("INVALID output value")
		promptgroup("50 - Output")
		interest(2)
	}
}
