device_types_h

/*
**	Copyright 1994-2017, Fermi Research Alliance, LLC.  All rights reserved.
*/
/******************************************************************************/
/* device_types.h
**  
**	Defined constants for ACNET device types
**
**	V0.0	B S Hendricks / Accelerator Controls		14-Apr-94
**	Created
**
*/
/******************************************************************************/

#ifndef DEVICE_TYPES_DEFINED		/* do this only once */
#define	DEVICE_TYPES_DEFINED

/* CAMAC devices */

#define	DIO_CAMAC_DEVICE_BASE		0
#define	DIO_CAMAC_DEVICE_TOP		9999

/* Special CAMAC devices */

#define	DIO_SPECIAL_CAMAC_DEVICE_BASE	10000
#define	DIO_084_085_SCALER_DEVICE	10001
#define	DIO_SPECIAL_CAMAC_DEVICE_TOP	10001

/* GAS devices */

#define	DIO_GAS_DEVICE_BASE		0x10000
#define	DIO_GAS_FRIG_DEVICE		0x10001	/* GAS cryogenic device */
#define	DIO_GAS_VACUUM_DEVICE		0x10002	/* GAS vacuum device */
#define	DIO_GAS_QPM_DEVICE		0x10003	/* GAS QPM device */
#define	DIO_GAS_GPIB_DEVICE		0x10004	/* GAS GPIB device */
#define	DIO_GAS_BPM_DEVICE		0x10005	/* GAS BPM device */
#define	DIO_GAS_MISC_DEVICE		0x10006	/* GAS miscellaneous device */
#define	DIO_GAS_FRAME_GRABBER_DEVICE	0x10007	/* GAS frame grabber device */
#define	DIO_GAS_TPM_DEVICE		0x10008	/* GAS TPM device */
#define	DIO_GAS_HOG_DEVICE		0x10009	/* GAS HOG device */
#define	DIO_GAS_DRF_TUNER_DEVICE	0x1000A	/* GAS Debuncher RF device */
#define	DIO_GAS_DEVICE_TOP		0x1000A

/* CAMAC front end non-CAMAC devices */

#define	DIO_MISC_CAMAC_DEVICE_BASE	0x20000
#define	DIO_ADHOC_DATAPOOL_DEVICE	0x20001	/* adhoc data pool device */
#define	DIO_AGGREGATE_MADC_DEVICE	0x20002	/* aggregate MADC channels */
#define	DIO_SDAMPER_CONTROL_DEVICE	0x20003	/* super damper control */
#define	DIO_BPM_FLASH_TRIGGER_DEVICE	0x20004	/* BPM flash event trigger */
#define	DIO_COAXIAL_SWITCH_DEVICE	0x20005	/* multipole coaxial switch */
#define	DIO_PBAR_MADC_LIST_DEVICE	0x20006	/* special P-bar externally triggered 190 lists */
#define	DIO_BPM_ANALOG_MUX_DEVICE	0x20007	/* BPM mux, analog readbacks */
#define	DIO_SDAMPER_DIVIDER_DEVICE	0x20008	/* super damper divider board */
#define	DIO_USER_LIST_MADC_DEVICE	0x20009	/* programmable list of MADC channels */
#define	DIO_BPM_TIMESTAMP_DEVICE	0x2000A	/* BPM time stamps */
#define	DIO_BPM_TBT_DEVICE		0x2000B	/* BPM turn by turn beam position */
#define	DIO_BBATCH_INT_DEVICE		0x2000C	/* Booster batch intensity device */
#define	DIO_HUMIDITY_DEVICE		0x2000D	/* humidity calculation (special MADC support) */
#define	DIO_BCD_DEVICE			0x2000E	/* special 7 digit BCD */
#define	DIO_BOOSTER_ANALOG_MUX_DEVICE	0x2000F	/* Booster analog MUX */
#define	DIO_RF_FREQ_SYNTH_DEVICE	0x20010	/* Sciteq RF frequency synthesizer */
#define	DIO_SUPERCYCLE_TIME_DEVICE	0x20011	/* supercycle time (G:SCTIME) */
#define	DIO_PBAR_CALCULATED_DEVICE	0x20012	/* special P-bar calculated values */
#define	DIO_FE_STATS_DEVICE		0x20013	/* front end statistics */
#define	DIO_ADHOC_SWITCH_DEVICE		0x20014	/* BTR and PIOX on/off */
#define	DIO_SDAMPER_POSITION_DEVICE	0x20015	/* super damper position memories */
#define	DIO_SEM_SWIC_BUFFER_DEVICE	0x20016	/* SWIC/SEM scanner buffers (C032s and Jorway 84 and 85) */
#define	DIO_SEM_SWIC_GAIN_DEVICE	0x20017	/* SWIC/SEM scanner single calculated parameter and gains */
#define	DIO_INJ_COG_OFFSET_DEVICE	0x20018	/* bunch number/cogging offset during collider injection */
#define	DIO_E760_TIMESTAMP_DEVICE	0x20019	/* LeCroy 4448 coincidence register for E760 time stamps */
#define	DIO_E760_INTERFACE_DEVICE	0x2001A	/* 032 communications interface to E760 VAX */
#define	DIO_SUM_OR_DIFF_DEVICE		0x2001B	/* sum or difference of two MADC channels */
#define	DIO_RF_TRIP_LOG_DEVICE		0x2001C	/* RF trip log counts */
#define	DIO_CHL_DATAPOOL_DEVICE		0x2001D	/* special CHL data pool */
#define	DIO_UPTIME_DEVICE		0x2001E	/* up time since last reboot */
#define	DIO_JC_DESIRED_TEMP_DEVICE	0x2001F	/* Johnson controller desired temperatures */
#define	DIO_MR_LCW_TEMP_DEVICE		0x20020	/* MR LCW average temperatures */
#define	DIO_JC_SETPOINT_DEVICE		0x20021	/* Johnson controller setpoints */
#define	DIO_MR_RING_VTG_DEVICE		0x20022	/* 193 MR volts to ground ringwide channels */
#define	DIO_MR_LCW_LEAK_DEVICE		0x20023	/* MR LCW leak rates */
#define	DIO_RS232_NORMAL_DEVICE		0x20024	/* normal RS232 device */
#define	DIO_SAM_ADC_DEVICE		0x20025	/* SAM ADC converter */
#define	DIO_DAC_5408_DEVICE		0x20026	/* model 5408 DAC */
#define	DIO_PISA_BOX_DAC_DEVICE		0x20027	/* Pisa box DAC */
#define	DIO_RS232_LONG_DEVICE		0x20028	/* RS232 device (long pattern) */
#define	DIO_SVX_PS_DEVICE		0x20029	/* SVX power supplies */
#define	DIO_RESET_SLOT_DEVICE		0x2002A	/* reset an arbitrary slot */
#define	DIO_FRIG_WC_LENGTH_DEVICE	0x2002B	/* get length of frig wild card list */
#define	DIO_FRIG_WC_NAMES_DEVICE	0x2002C	/* get names for frig wild card list */
#define	DIO_SLC_DEVICE			0x2002D	/* SLC interface routines */
#define	DIO_TCLK_SPY_DEVICE		0x2002E	/* CAMAC TCLK spy */
#define	DIO_BBM_MADC_SUM_DEVICE		0x2002F	/* Beam Budget Monitor MADC sums */
#define	DIO_BTR_STATISTICS_DEVICE	0x20030	/* Block TRansfer statistics */
#define	DIO_CAMAC_FE_TEST_DEVICE	0x20031	/* test device */
#define	DIO_PAUX_165_DEVICE		0x20033 /* PAUX 165 like device */
#define	DIO_PAUX_265_DEVICE		0x20034 /* PAUX 265 like device */
#define	DIO_PAUX_SSC_CNTRL_DEVICE	0x20035 /* PAUX start/stop/continue control */
#define	DIO_PAUX_P_STOP_DEVICE		0x20036 /* PAUX P STOP value */
#define	DIO_PAUX_SHR_MEM_DEVICE		0x20037 /* PAUX shared memory device */
#define	DIO_PAUX_XTIME_DEVICE		0x20038 /* PAUX XTime value */
#define	DIO_MR_BPM_TBT_POSITION_DEVICE	0x20039	/* Main Ring BPM turn by turn beam position */
#define	DIO_MI_BPM_TBT_POSITION_DEVICE	0x20039	/* Main Injector BPM turn by turn beam position */
#define	DIO_MR_BPM_TBT_TRIGGER_DEVICE	0x2003A	/* Main Ring BPM turn by turn trigger */
#define	DIO_MI_BPM_TBT_TRIGGER_DEVICE	0x2003A	/* Main Injector BPM turn by turn trigger */
#define	DIO_CAMAC_FE_CPU_USAGE_DEVICE	0x2003B	/* CPU usage device */
#define	DIO_CAMAC_MEMORY_MIRROR_DEVICE	0x2003C	/* memory mirror device */
#define	DIO_ABORT_TIME_DEVICE		0x2003D	/* abort time in cycle device */
#define	DIO_BBM_SCALER_SUM_DEVICE	0x2003E	/* BBM scaler sum device */
#define	DIO_CAMAC_FE_CPU_TEMP_DEVICE	0x2003F	/* CPU temperature device */
#define	DIO_SAMPLED_MADC_INT_DEVICE	0x20040	/* sampled MADC intensity device */
#define	DIO_TARGET_MOVE_DEVICE		0x20041	/* target move device */
#define	DIO_MISC_CAMAC_DEVICE_TOP	0x20041

/* cryogenic devices */

#define	DIO_FRIG_DEVICE_BASE		0x30000
#define	DIO_FRIG_ACTUATOR_DEVICE	0x30001	/* actuator */
#define	DIO_FRIG_ENGINE_DEVICE		0x30002	/* expansion engine */
#define	DIO_FRIG_KAUTZKY_VALVE_DEVICE	0x30003	/* Kautzky valve */
#define	DIO_FRIG_VACUUM_DEVICE		0x30004	/* cryo insulating vacuum readback */
#define	DIO_FRIG_ADC_DEVICE		0x30005	/* ADC channel */
#define	DIO_FRIG_THERMOMETRY_DEVICE	0x30006	/* thermometry device */
#define	DIO_FRIG_DIGITAL_IO_DEVICE	0x30007	/* digital I/O channel */
#define	DIO_FRIG_CIRC_BUFFER_DEVICE	0x30008	/* circular buffer */
#define	DIO_FRIG_READY_DEVICE		0x30009	/* frig/QPM ready status */
#define	DIO_FRIG_NODE_STATUS_DEVICE	0x3000A	/* node/network status */
#define	DIO_FRIG_ALARM_DEVICE		0x3000B	/* alarm enable/disable */
#define	DIO_FRIG_LOOP_DEVICE		0x3000C	/* loop structure */
#define	DIO_FRIG_IDENTIFIER_DEVICE	0x3000D	/* identifier structure */
#define	DIO_FRIG_OPERATION_DEVICE	0x3000E	/* operation structure */
#define	DIO_FRIG_ACTION_DEVICE		0x3000F	/* action structure */
#define	DIO_FRIG_STATE_DEVICE		0x30010	/* state structure */
#define	DIO_FRIG_FSM_DEVICE		0x30011	/* FSM structure */
#define	DIO_FRIG_TIMER_DEVICE		0x30012	/* timer structure */
#define	DIO_FRIG_STORAGE_DEVICE		0x30013	/* storage structure */
#define	DIO_FRIG_PERMIT_DEVICE		0x30014	/* ramp permit device */
#define	DIO_FRIG_EVENT_DEVICE		0x30015	/* clock event structure */
#define	DIO_FRIG_FILTER_DEVICE		0x30016	/* software filter */
#define	DIO_FRIG_VERSION_DEVICE		0x30017	/* software version */
#define	DIO_FRIG_UPTIME_DEVICE		0x30018	/* up time since last reboot */
#define	DIO_FRIG_VM_REFLECTION_DEVICE	0x30019	/* virtual machine reflection (tell) device */
#define	DIO_FRIG_VM_CONTROL_DEVICE	0x3001A	/* virtual machine control device */
#define	DIO_FRIG_ACTUATOR_PREC_DEVICE	0x3001B	/* actuator precision device */
#define	DIO_FRIG_ALARM_ENABLE_DEVICE	0x3001C	/* alarm enable device */
#define	DIO_FRIG_DOWNLOAD_DEVICE	0x3001D	/* download request device */
#define DIO_FRIG_REM_COPY_DEVICE	0x3001E	/* remote VME copy device */
#define DIO_FRIG_GENERIC_DEVICE		0x3001F	/* generic frig device */
#define	DIO_FRIG_DEVICE_TOP		0x3001F

/* Linac devices */

#define	DIO_LINAC_DEVICE_BASE		0x40000
#define	DIO_LINAC_ANALOG_READ_DEVICE	0x40001	/* analog reading device */
#define	DIO_LINAC_ANALOG_SET_DEVICE	0x40002	/* analog setting device */
#define	DIO_LINAC_NOMINAL_DEVICE	0x40003	/* nominal value device */
#define	DIO_LINAC_TOLERANCE_DEVICE	0x40004	/* tolerance value device */
#define	DIO_LINAC_ALARM_FLAGS_DEVICE	0x40005	/* alarm flags device */
#define	DIO_LINAC_MOTOR_CNTDWN_DEVICE	0x40006	/* motor countdown device */
#define	DIO_LINAC_ADESC_ACNTRL_DEVICE	0x40007	/* ADESC analog control device */
#define	DIO_LINAC_ADESC_STATUS_DEVICE	0x40008	/* ADESC digital status field device */
#define	DIO_LINAC_ADESC_DCNTRL_DEVICE	0x40009	/* ADESC digital control device */
#define	DIO_LINAC_ADESC_CNV_TYPE_DEVICE	0x4000A	/* ADESC conversion type device */
#define	DIO_LINAC_ADESC_SF_DEVICE	0x4000B	/* ADESC scale factor device */
#define	DIO_LINAC_ADESC_TEXT_DEVICE	0x4000C	/* ADESC descriptive text device */
#define	DIO_LINAC_ADESC_STS_TEXT_DEVICE	0x4000D	/* ADESC digital status text device */
#define	DIO_LINAC_ADESC_NAME_DEVICE	0x4000E	/* ADESC name device */
#define	DIO_LINAC_ADESC_UNITS_DEVICE	0x4000F	/* ADESC units text device */
#define	DIO_LINAC_ADESC_FAMILY_DEVICE	0x40010	/* ADESC family device */
#define	DIO_LINAC_ADESC_MOD_DATE_DEVICE	0x40011	/* ADESC modification date device */
#define	DIO_LINAC_MEMORY_DEVICE		0x40012	/* memory device (byte or word access) */
#define	DIO_LINAC_DIGITAL_IO_DEVICE	0x40013	/* digital I/O device (bit or byte access) */
#define	DIO_LINAC_BIT_TEXT_DEVICE	0x40014	/* digital bit text device */
#define	DIO_LINAC_DALARM_FLAGS_DEVICE	0x40015	/* digital alarm flags device */
#define	DIO_LINAC_SYS_VARIABLE_DEVICE	0x40016	/* sytem global variables device */
#define	DIO_LINAC_CAPTURD_READ_DEVICE	0x40017	/* captured reading device */
#define	DIO_LINAC_CRT_APP_ENTRY_DEVICE	0x40018	/* small CRT page application entry point */
#define	DIO_LINAC_CRT_PAGE_TITL_DEVICE	0x40019	/* small CRT page title */
#define	DIO_LINAC_CRT_PAGE_MEM_DEVICE	0x4001A	/* small CRT page memory device */
#define	DIO_LINAC_SERIAL_IO_DEVICE	0x4001B	/* serial I/O device */
#define	DIO_LINAC_CRT_AUTOPARAM_DEVICE	0x4001C	/* small CRT auto-page parameter device */
#define	DIO_LINAC_STREAM_IO_DEVICE	0x4001D	/* data stream I/O device */
#define	DIO_LINAC_STREAM_HEADER_DEVICE	0x4001E	/* data stream queue header device */
#define	DIO_LINAC_STREAM_TABLE_DEVICE	0x4001F	/* data stream table device */
#define	DIO_LINAC_STREAM_NAME_DEVICE	0x40020	/* data stream name device */
#define	DIO_LINAC_ANALOG_NAME_DEVICE	0x40021	/* analog name device */
#define	DIO_LINAC_AADIB_DATE_DEVICE	0x40022	/* AADIB modification date device */
#define	DIO_LINAC_BINARY_NAME_DEVICE	0x40023	/* binary name device */
#define	DIO_LINAC_BADIB_DATE_DEVICE	0x40024	/* BADIB modification date device */
#define	DIO_LINAC_COMMENT_NAME_DEVICE	0x40025	/* comment name device */
#define	DIO_LINAC_CADIB_DATE_DEVICE	0x40026	/* CADIB modification date device */
#define	DIO_LINAC_LA_TABLE_DEVICE	0x40027	/* local application table device */
#define	DIO_LINAC_STEPPING_MOTOR_DEVICE	0x40028	/* stepping motor device */
#define	DIO_LINAC_DATAACCESS_TBL_DEVICE	0x40029	/* data access table device */
#define	DIO_LINAC_DB_FAMILY_DEVICE	0x4002A	/* family device */
#define	DIO_LINAC_BITCOMBINE_TBL_DEVICE	0x4002B	/* bit combine table device */
#define	DIO_LINAC_ASSOC_STATUS_DEVICE	0x4002C	/* associated status (via Chan) */
#define	DIO_LINAC_REL_SETTING_DEVICE	0x4002D	/* relative setting device */
#define	DIO_LINAC_DIGITAL_CTRL_DEVICE	0x4002E	/* digital control (via Chan) */
#define	DIO_LINAC_CDATA_ACCESS_DEVICE	0x4002F	/* CDATA access device */
#define	DIO_LINAC_GENERIC_DEVICE	0x40030	/* generic Linac device */
#define	DIO_LINAC_TIMER_DEVICE		0x40031	/* timer device */
#define	DIO_LINAC_DEVICE_TOP		0x40031

/* instrumentation devices */

#define	DIO_INSTR_DEVICE_BASE		0x50000
#define	DIO_INSTR_SYNC_LIGHT_DEVICE	0x50001	/* synchrotron light detection device */
#define	DIO_INSTR_BLTUNE_DEVICE		0x50002	/* beam line tuner device */
#define	DIO_INSTR_SBD_DEVICE		0x50003	/* Sampled Bunch Display device */
#define	DIO_INSTR_CPM_DEVICE		0x50004	/* Collision Point Monitor device */
#define	DIO_INSTR_IPM_DEVICE		0x50005	/* Ion Profile Monitor device */
#define	DIO_INSTR_TEV_FW_DEVICE		0x50006	/* Tevatron Flying Wire device */
#define	DIO_INSTR_DAMPER_DEVICE		0x50007	/* beam damper device */
#define	DIO_INSTR_DEMO_DEVICE		0x50008	/* for instrument demo devices */
#define	DIO_INSTR_VXI_DEVICE		0x50009	/* VXI devices */
#define	DIO_INSTR_PBAR_FW_DEVICE	0x5000A /* Anti-Proton Flying Wire device */
#define	DIO_INSTR_GASJET_DEVICE		0x5000B	/* E835 Gas Jet device */
#define DIO_INSTR_KICKER_DEVICE		0x5000C	/* kicker device */
#define DIO_INSTR_GENERIC_DEVICE	0x5000D	/* generic intrumentation device */
#define DIO_INSTR_TUNE_DEVICE		0x5000E	/* tune measurement device */
#define DIO_INSTR_EC_DEVICE		0x5000F	/* electron cooling instrumentation device */
#define DIO_INSTR_BEAM_INTENSITY_DEVICE	0x50010	/* beam intensity device */
#define DIO_INSTR_INT_TIMER_DEVICE	0x50011	/* beam intensity timing reference device */
#define DIO_INSTR_OTR_DEVICE		0x50012	/* Optical Transition Radiation detector device */
#define DIO_INSTR_BEAM_MONITOR_DEVICE	0x50013	/* beam monitor (bunch amplitude/phase) device */
#define	DIO_INSTR_WPM_DEVICE		0x50014	/* Wire Position Monitor device */
#define DIO_INSTR_LASER_PROFILE_MONITOR_DEVICE	0x50015	/* laser profile monitor device */
#define DIO_INSTR_PIXEL_DETECTOR_DEVICE	0x50016	/* pixel detector device */
#define DIO_INSTR_SEISMIC_MONITOR_DEVICE	0x50017	/* seismic monitor device */
#define DIO_INSTR_POWER_METER_DEVICE	0x50018	/* power meter device */
#define DIO_INSTR_LASER_NOTCHER_DEVICE	0x50019	/* laser notcher device */
#define DIO_INSTR_TIMING_MODULE_DEVICE	0x5001A	/* timing/trigger module device */
#define	DIO_INSTR_DEVICE_TOP		0x5001A

/* BPM devices */

#define	DIO_BPM_DEVICE_BASE		0x60000
#define	DIO_BPM_GENERIC_DEVICE		0x60001	/* generic BPM device */
#define	DIO_BPM_ORBIT_DEVICE		0x60002	/* BPM orbit device */
#define	DIO_BPM_RAW_DATA_DEVICE		0x60003	/* BPM raw digitizer data device */
#define	DIO_BPM_TBT_AVG_POS_DEVICE	0x60004	/* BPM turn by turn average position device */
#define	DIO_BPM_DIGITIZER_CNTRL_DEVICE	0x60005	/* BPM digital control register device */
#define	DIO_BPM_POS_OFFSET_DEVICE	0x60006	/* BPM position offset device */
#define	DIO_BPM_NUM_OF_DEVICE		0x60007	/* BPM number of values device */
#define	DIO_BPM_EXTRA_INPUT_DEVICE	0x60008	/* BPM extra input device */
#define	DIO_BPM_EXTRA_HISTORY_DEVICE	0x60009	/* BPM extra input history device */
#define	DIO_BPM_EXTRA_AVG_DEVICE	0x6000A	/* BPM extra input average device */
#define	DIO_BPM_POS_HISTORY_DEVICE	0x6000B	/* BPM position history device */
#define	DIO_BPM_ORBIT_GROUP_DEVICE	0x6000C	/* BPM group of closed orbits from one cycle device */
#define	DIO_BPM_FLASH_FRAME_DEVICE	0x6000D	/* BPM flash frame device */
#define	DIO_BPM_FLASH_CB_DEVICE		0x6000E	/* BPM flash frame circular buffer device */
#define	DIO_BPM_TEST_INTERFACE_DEVICE	0x6000F	/* BPM test interface module device */
#define	DIO_BPM_TBT_POS_DEVICE		0x60010	/* BPM turn by turn position device */
#define	DIO_BPM_NUM_TURNS_DEVICE	0x60011	/* BPM number of turns device */
#define	DIO_BPM_INTENSITY_DEVICE	0x60012	/* BPM intensity device */
#define	DIO_BPM_CAL_CONSTANT_DEVICE	0x60013	/* BPM calibration constant device */
#define	DIO_BPM_MODE_DEVICE		0x60014	/* BPM mode device */
#define	DIO_BPM_STATE_DEVICE		0x60015	/* BPM system state device */
#define	DIO_BPM_ERROR_DEVICE		0x60016	/* BPM error status device */
#define	DIO_BPM_DEVICE_TOP		0x60016

/* QPM devices */

#define	DIO_QPM_DEVICE_BASE		0x70000
#define DIO_QPM_TEMP_COMP_DEVICE	0x70001	/* di/dt temporal compensation */
#define DIO_QPM_VST_COMP_DEVICE		0x70002	/* voltage space-time compensation */
#define DIO_QPM_INDUCTANCE_DEVICE	0x70003	/* inductance device */
#define DIO_QPM_LEAD_PROT_DEVICE	0x70004	/* lead protection parameters */
#define DIO_QPM_DET_TOL_DEVICE		0x70005	/* detection tolerance device */
#define DIO_QPM_RESET_DEVICE		0x70006	/* reset request device */
#define DIO_QPM_SYS_TOP_DEVICE		0x70007	/* system topology device */
#define DIO_QPM_VFC_OFF_DEVICE		0x70008	/* VFC offsets device */
#define DIO_QPM_RT_DATA_DEVICE		0x70009	/* real time data device */
#define DIO_QPM_QDU_VOLT_DEVICE		0x7000A	/* QDU resistive voltages */
#define DIO_QPM_CBUF_CTRL_DEVICE	0x7000B	/* circular buffer control device */
#define DIO_QPM_CB_PRTIME_DEVICE	0x7000C	/* circular buffer pre-event retention time */
#define DIO_QPM_CBUF_S1_DEVICE		0x7000D	/* circular buffer style 1 device */
#define DIO_QPM_CBUF_S2_DEVICE		0x7000E	/* circular buffer style 2 device */
#define DIO_QPM_HEAT_CTRL_DEVICE	0x7000F	/* heater control device */
#define DIO_QPM_EXT_STATUS_DEVICE	0x70010	/* External Status Sense */
#define DIO_QPM_CLK_FREQ_DEVICE		0x70011	/* clock frequency device */
#define DIO_QPM_TCOMP_DATA_DEVICE	0x70012	/* triggered comp program data */
#define DIO_QPM_CLK_REF_DEVICE		0x70013	/* clock auto reference device */
#define DIO_QPM_NUM_LCYC_DEVICE		0x70014	/* number of line cycles */
#define DIO_QPM_SCAL_AZRO_DEVICE	0x70015	/* scaler auto zero device */
#define DIO_QPM_PWR_VTRIP_DEVICE	0x70016	/* power lead voltage trip */
#define DIO_QPM_AEXC_PULSE_DEVICE	0x70017	/* act excitation pulse control */
#define DIO_QPM_EVENT_WORD_DEVICE	0x70018	/* event word device */
#define DIO_QPM_DIDT_TOLER_DEVICE	0x70019	/* di/dt agreement tolerance */
#define DIO_QPM_PWR_LTCONS_DEVICE	0x7001A	/* power lead time constants */
#define DIO_QPM_TAVL_VOLT_DEVICE	0x7001B	/* time average lead voltage */
#define DIO_QPM_TDTR_INDUC_DEVICE	0x7001C	/* transductor weighting inductance */
#define DIO_QPM_LINK_SSTS_DEVICE	0x7001D	/* link software status */
#define DIO_QPM_VTG_TOLER_DEVICE	0x7001E	/* voltage to ground tolerance */
#define DIO_QPM_VTG_DEVICE		0x7001F	/* voltage to ground device */
#define DIO_QPM_SOFT_DATE_DEVICE	0x70020	/* software date device */
#define DIO_QPM_DDIDT_CONS_DEVICE	0x70021	/* delta di/dt time constant */
#define DIO_QPM_DEX_TCTRL_DEVICE	0x70022	/* deexcitation trigger control */
#define DIO_QPM_LINK_HSTS_DEVICE	0x70023	/* link hardware status */
#define DIO_QPM_STATUS_DEVICE		0x70024	/* general status device */
#define DIO_QPM_RBT_LOCKC_DEVICE	0x70025	/* reboot lockout current */
#define DIO_QPM_MODE_CTRL_DEVICE	0x70026	/* mode control device */
#define DIO_QPM_SNAP_BUF_DEVICE		0x70027	/* snapshot buffer device */
#define DIO_QPM_COMMANDS_DEVICE		0x70028	/* commands device */
#define DIO_QPM_HEAT_DDATA_DEVICE	0x70029	/* heater discharge data */
#define DIO_QPM_PWR_LEAD1_DEVICE	0x7002A	/* power lead parameters device */
#define DIO_QPM_LINEDATA_DEVICE		0x7002B	/* line data - current device */
#define DIO_QPM_PWR_LEAD2_DEVICE	0x7002C	/* power lead time constants */
#define DIO_QPM_GENERIC_DEVICE		0x7002D	/* generic QPM device */
#define	DIO_QPM_LEAD_VOLTAGE_DEVICE	0x7002E	/* power lead voltage device */
#define	DIO_QPM_LEAD_EXTREMA_DEVICE	0x7002F	/* power lead extrema device */
#define	DIO_QPM_VTG_EXTREMA_DEVICE	0x70030	/* voltage to ground extrema device */
#define	DIO_QPM_HEATER_DEVICE		0x70031	/* heater device */
#define	DIO_QPM_CBUF_DEVICE		0x70032	/* circular buffer device */
#define	DIO_QPM_VTF_DEVICE		0x70033	/* voltage to frequency device */
#define	DIO_QPM_CURRENT_DEVICE		0x70034	/* current device */
#define	DIO_QPM_RVOLT_EXCURSION_DEVICE	0x70035	/* resistive voltage excursion device */
#define	DIO_QPM_MAG_VOLT_DEVICE		0x70036	/* magnet voltage */
#define	DIO_QPM_SE_MASK_DEVICE		0x70037	/* status and event mask device */
#define	DIO_QPM_FLAG_DEVICE		0x70038	/* QPM flag device */
#define	DIO_QPM_CBUF2_DEVICE		0x70039	/* circular buffer 2 device */
#define	DIO_QPM_OVRCUR_LIM_DEVICE	0x7003A	/* overcurrent limits device */
#define	DIO_QPM_HEATER_DIS_DEVICE	0x7003B	/* heater discharge device */
#define	DIO_QPM_RAW_VFC_DEVICE		0x7003C	/* raw VFC channel data device */
#define	DIO_QPM_FAST_ABORT_DEVICE	0x7003D	/* fast beam abort device */
#define	DIO_QPM_DEVICE_TOP		0x7003D

/* D0 devices */

#define	DIO_D0_DEVICE_BASE		0x80000
#define	DIO_D0_GENERIC_DEVICE		0x80001	/* generic D0 device */
#define	DIO_D0_DEVICE_TOP		0x80001

/* RF MAC devices */

#define	DIO_RF_MAC_DEVICE_BASE		0x90000
#define	DIO_RF_MAC_GENERIC_DEVICE	0x90001	/* generic RF MAC device */
#define	DIO_RF_MAC_DEVICE_TOP		0x90001

/* Main Ring power supply devices */

#define	DIO_MRPS_DEVICE_BASE		0xA0000
#define	DIO_MRPS_GENERIC_DEVICE		0xA0001	/* generic MR PS device */
#define	DIO_MRPS_DEVICE_TOP		0xA0001

/* E811 devices */

#define	DIO_E811_DEVICE_BASE		0xB0000
#define	DIO_E811_TEST_DEVICE		0xB0000	/* test device */
#define	DIO_E811_TIME_UP_DEVICE		0xB0001	/* time since boot */
#define	DIO_E811_ALARM_ENABLE_DEVICE	0xB0002	/* alarm enable device */
#define	DIO_E811_VERSION_DEVICE		0xB0003	/* version device */
#define	DIO_E811_POT_POS_DEVICE		0xB0004	/* pot position device */
#define	DIO_E811_POT_RATE_DEVICE	0xB0005	/* pot rate device */
#define	DIO_E811_POT_LIMIT_DEVICE	0xB0006	/* pot limit device */
#define	DIO_E811_DEVICE_TOP		0xB0006

/* GPIB devices (VME interface) */

#define	DIO_GPIB_DEVICE_BASE		0xC0000
#define	DIO_GPIB_TEST_DEVICE		0xC0000	/* test device */
#define	DIO_GPIB_TIME_UP_DEVICE		0xC0001	/* time since boot */
#define	DIO_GPIB_ALARM_ENABLE_DEVICE	0xC0002	/* alarm enable device */
#define	DIO_GPIB_VERSION_DEVICE		0xC0003	/* version device */
#define	DIO_GPIB_GENERIC_DEVICE		0xC0004	/* generic GPIB device */
#define	DIO_GPIB_TEK3052_DEVICE		0xC0005	/* TEK 3052 */
#define	DIO_GPIB_MUX_DEVICE		0xC0006	/* RACAL 1250 mux */
#define	DIO_GPIB_RACAL_MUX_DEVICE	0xC0006	/* RACAL 1250 mux */
#define	DIO_GPIB_SCRIPT_DEVICE		0xC0007 /* script device */
#define DIO_GPIB_DTIMER_DEVICE		0XC0008	/* delay timer device */
#define	DIO_GPIB_REBOOT_DEVICE		0xC0009	/* relay-based reboot device */
#define	DIO_GPIB_OPTILOGIC_MUX_DEVICE	0xC000A	/* Optilogic mux */
#define	DIO_GPIB_RF_POWER_AMP_DEVICE	0xC000B	/* RF power amplifier device */
#define	DIO_GPIB_STRING_DEVICE		0xC000C	/* generic string device */
#define	DIO_GPIB_LECROY_9300_DEVICE	0xC000D	/* LeCroy 9300 device */
#define	DIO_GPIB_HP3561_DEVICE		0xC000E	/* HP3561 device */
#define	DIO_GPIB_IP_BS_TIMER_DEVICE	0xC000F	/* IP TCLK, MDAT, and BS timer device */
#define	DIO_GPIB_AGILENT_WG_DEVICE	0xC0010	/* Agilent waveform generator device */
#define	DIO_GPIB_TEXTRONIX_3000_DFT_DEVICE	0xC0011	/* Tektronix 3000 discrete Fourier transform device */
#define	DIO_GPIB_OPTILOGIC_REBOOT_DEVICE	0xC0012	/* Optilogic reboot device */
#define	DIO_GPIB_WAVEFORM_DEVICE	0xC0013	/* waveform device */
#define	DIO_GPIB_TRANSPARENT_DEVICE	0xC0014	/* transparent device */
#define	DIO_GPIB_OPTILOGIC_SERIAL_DEVICE	0xC0015	/* Optilogic serial crate interface */
#define	DIO_GPIB_DEVICE_TOP		0xC0015

/* Virtual (software) devices */

#define	DIO_VIRTUAL_DEVICE_BASE		0xD0000
#define	DIO_OAC_DEVICE_BASE		0xD0000
#define	DIO_VIRTUAL_UNKNOWN_DEVICE	0xD0000	/* unknown virtual device */
#define	DIO_VIRTUAL_SOFTWARE_ALARM	0xD0001	/* software alarm */
#define	DIO_VIRTUAL_CPU_USE_DEVICE	0xD0002	/* CPU use statistics */
/* #define	DIO_VIRTUAL_TESTER_DEVICE	0xD0003 */	/* TESTER OAC device */
#define	DIO_VIRTUAL_REMSET_DEVICE	0xD0004	/* REMSET OAC device */
#define	DIO_OAC_REMSET_DEVICE		0xD0004	/* REMSET OAC device */
#define	DIO_VIRTUAL_LUMSUM_DEVICE	0xD0005	/* LUMSUM OAC device */
#define	DIO_OAC_LUMSUM_DEVICE		0xD0005	/* LUMSUM OAC device */
#define	DIO_VIRTUAL_MIRROR_DEVICE	0xD0006	/* MIRROR OAC device */
#define	DIO_OAM_MIRROR_DEVICE		0xD0006	/* MIRROR OAC device */
#define	DIO_VIRTUAL_PSEUDO_DEVICE	0xD0007	/* PSEUDO OAC device */
#define	DIO_OAC_PSEUDO_DEVICE		0xD0007	/* PSEUDO OAC device */
#define	DIO_VIRTUAL_SRFILE_DEVICE	0xD0008	/* SRFILE OAC device */
#define	DIO_OAC_SRFILE_DEVICE		0xD0008	/* SRFILE OAC device */
#define	DIO_VIRTUAL_STATES_DEVICE	0xD0009	/* STATES OAC device */
#define	DIO_OAC_STATES_DEVICE		0xD0009	/* STATES OAC device */
#define	DIO_VIRTUAL_BL8GEV_DEVICE	0xD000A	/* BL8GEV OAC device */
#define	DIO_OAC_BL8GEV_DEVICE		0xD000A	/* BL8GEV OAC device */
#define	DIO_VIRTUAL_SCADA_DEVICE	0xD000B	/* SCADA OAC device */
#define	DIO_VIRTUAL_OAFALM_DEVICE	0xD000C	/* OAFALM OAC device */
#define	DIO_OAC_OAFALM_DEVICE		0xD000C	/* OAFALM OAC device */
/* #define	DIO_VIRTUAL_SIMLUM_DEVICE	0xD000D */	/* SIMLUM OAC device */
#define	DIO_VIRTUAL_GLFRIG_DEVICE	0xD000E	/* GLFRIG OAC device */
#define	DIO_OAC_GLFRIG_DEVICE		0xD000E	/* GLFRIG OAC device */
#define	DIO_VIRTUAL_CAMAC_DEVICE	0xD000F	/* CAMAC OAC device */
#define	DIO_OAC_CAMAC_DEVICE		0xD000F	/* CAMAC OAC device */
#define	DIO_VIRTUAL_FIXTAR_DEVICE	0xD0010	/* FIXTAR OAC device */
#define	DIO_VIRTUAL_ODDMOD_DEVICE	0xD0011	/* ODDMOD OAC device */
#define	DIO_OAC_ODDMOD_DEVICE		0xD0011	/* ODDMOD OAC device */
#define	DIO_VIRTUAL_EDUSYM_DEVICE	0xD0012	/* EDUSYM OAC device */
#define	DIO_OAC_EDUSYM_DEVICE		0xD0012	/* EDUSYM OAC device */
#define	DIO_VIRTUAL_RF_WILDCARD_DEVICE	0xD0013	/* RF wildcard device */
#define	DIO_VIRTUAL_FSM_SAVE_DEVICE	0xD0014	/* FSM save device (old frig) */
#define	DIO_VIRTUAL_UNKNOWN_OAC_DEVICE	0xD0015	/* unknown OAC virtual device */
#define	DIO_VIRTUAL_SDASRV_DEVICE	0xD0016	/* SDASRV OAC device */
#define	DIO_OAM_SDASRV_DEVICE		0xD0016	/* SDASRV OAC device */
#define	DIO_VIRTUAL_BOOSTR_DEVICE	0xD0017	/* BOOSTR OAC device */
#define	DIO_OAC_BOOSTR_DEVICE		0xD0017	/* BOOSTR OAC device */
#define	DIO_VIRTUAL_APCALC_DEVICE	0xD0018	/* APCALC OAC device */
#define	DIO_OAC_APCALC_DEVICE		0xD0018	/* APCALC OAC device */
#define	DIO_VIRTUAL_TEVCAL_DEVICE	0xD001A	/* TEVCAL OAC device */
#define	DIO_OAC_TEVCAL_DEVICE		0xD001A	/* TEVCAL OAC device */
#define	DIO_VIRTUAL_MIOAC_DEVICE	0xD001B	/* Main Injector OAC device */
#define	DIO_OAC_MIOAC_DEVICE		0xD001B	/* Main Injector OAC device */
#define	DIO_VIRTUAL_INSTR_DEVICE	0xD001C	/* Instrumentation device */
#define	DIO_OAC_INSTR_DEVICE		0xD001C	/* Instrumentation device */
#define	DIO_VIRTUAL_CHLOAC_DEVICE	0xD001D	/* CHL OAC device */
#define	DIO_OAC_CHLOAC_DEVICE		0xD001D	/* CHL OAC device */
#define	DIO_VIRTUAL_DMACS_DEVICE	0xD001E	/* DMACS OAC device */
#define	DIO_OAC_DMACS_DEVICE		0xD001E	/* DMACS OAC device */
#define	DIO_VIRTUAL_MILCW_DEVICE	0xD001F	/* MI LCW OAC device */
#define	DIO_OAC_MILCW_DEVICE		0xD001F	/* MI LCW OAC device */
#define	DIO_VIRTUAL_TEVCOL_DEVICE	0xD0020	/* Tev collimator OAC device */
#define	DIO_OAC_TEVCOL_DEVICE		0xD0020	/* Tev collimator OAC device */
#define	DIO_VIRTUAL_TCHROM_DEVICE	0xD0021	/* Tev chromaticity OAC device */
#define	DIO_OAC_TCHROM_DEVICE		0xD0021	/* Tev chromaticity OAC device */
#define	DIO_MILCW_LCW_DEVICE		0xD0022	/* MILCW OAC LCW device */
#define	DIO_MILCW_ION_PUMP_DEVICE	0xD0023	/* MILCW OAC ion pump device */
#define	DIO_MILCW_ION_GAUGE_DEVICE	0xD0024	/* MILCW OAC ion gauge device */
#define	DIO_TCHROM_CHROMATICITY_DEVICE	0xD0025	/* TCHROM OAC chromaticity device */
#define	DIO_TCHROM_TIME_AT_DEVICE	0xD0026	/* TCHROM OAC 'time at' device */
#define	DIO_TCHROM_COMMAND_DEVICE	0xD0027	/* TCHROM OAC command device */
#define	DIO_TCHROM_TIME_DEVICE		0xD0028	/* TCHROM OAC time device */
#define	DIO_TCHROM_RAMP_STATE_DEVICE	0xD0029	/* TCHROM OAC ramp state device */
#define	DIO_TCHROM_LOAD_STATUS_DEVICE	0xD002A	/* TCHROM OAC table load status device */
#define	DIO_TCHROM_UPTIME_DEVICE	0xD002B	/* TCHROM OAC uptime device */
#define	DIO_OAC_UPTIME_DEVICE		0xD002C	/* OAC uptime device */
#define	DIO_OAC_CBSHOT_DEVICE		0xD002D	/* Colliding Beams SHOT OAC device */
#define	DIO_MILCW_WILDCARD_IP_DEVICE	0xD002E	/* MILCW OAC wildcard ion pump device */
#define	DIO_MILCW_WILDCARD_IPS_DEVICE	0xD002F	/* MILCW OAC wildcard ion pump card status device */
#define	DIO_MILCW_WILDCARD_CC_DEVICE	0xD0030	/* MILCW OAC wildcard cold cathode gauge device */
#define	DIO_MILCW_WILDCARD_PG_DEVICE	0xD0031	/* MILCW OAC wildcard Pirani gauge device */
#define	DIO_MILCW_WILDCARD_SV_DEVICE	0xD0032	/* MILCW OAC wildcard sector valve device */
#define	DIO_MILCW_WILDCARD_SVS_DEVICE	0xD0033	/* MILCW OAC wildcard sector valve card status device */
#define	DIO_MILCW_WILDCARD_MV_DEVICE	0xD0034	/* MILCW OAC wildcard manifold valve device */
#define	DIO_MILCW_WILDCARD_MVS_DEVICE	0xD0035	/* MILCW OAC wildcard manifold valve card status device */
#define	DIO_MILCW_WILDCARD_RV_DEVICE	0xD0036	/* MILCW OAC wildcard roughing valve device */
#define	DIO_MILCW_WILDCARD_RP_DEVICE	0xD0037	/* MILCW OAC wildcard roughing pump device */
#define	DIO_MILCW_MAGNET_POWER_DEVICE	0xD0038	/* MILCW OAC magnet power device */
#define	DIO_MILCW_LCW_POWER_DEVICE	0xD0039	/* MILCW OAC LCW power device */
#define	DIO_MILCW_ELECTRON_COOL_DEVICE	0xD003A	/* MILCW OAC electron cooling device */
#define	DIO_OAC_MONITR_DEVICE		0xD003B	/* MONITR OAC heartbeat device */
#define	DIO_OAC_JPLOT_DEVICE		0xD003C	/* JPLOT OAC device */
#define	DIO_OAC_ESTORE_DEVICE		0xD003D	/* ESTORE OAC device */
#define	DIO_OAC_REMOTE_DEVICE		0xD003E	/* REMOTE OAC device */
#define	DIO_OAC_PBSHOT_DEVICE		0xD003F	/* PBSHOT OAC device */
#define	DIO_OAC_EVENTS_DEVICE		0xD0040	/* EVENTS OAC device */
#define	DIO_OAC_LJALRM_DEVICE		0xD0041	/* LJALRM OAC device */
#define	DIO_OAC_CACHE_DEVICE		0xD0042	/* CACHE OAC device */
#define	DIO_OAC_MCRVCR_DEVICE		0xD0043	/* MCRVCR OAC device */

#define	DIO_OAC_SETSVR_DEVICE		0xD0045	/* SETSVR OAC device */
#define	DIO_OAC_BLMLOG_DEVICE		0xD0046	/* BLMLOG OAC device */
#define	DIO_OAC_IPADC_DEVICE		0xD0047	/* IPADC OAC device */
#define	DIO_OAC_CSLDTR_DEVICE		0xD0048	/* CSLDTR OAC device */
#define	DIO_OAC_BIGSAV_DEVICE		0xD0049	/* BIGSAV OAC device */
#define	DIO_OAC_ERRORZ_DEVICE		0xD004A	/* ERRORZ OAC device */
#define	DIO_OAC_FRCONS_DEVICE		0xD004B	/* FRCONS OAC device */
#define	DIO_OAC_EXPURT_DEVICE		0xD004C	/* EXPURT OAC device */
#define	DIO_OAC_BPMJNI_DEVICE		0xD004D	/* BPMJNI OAC device */
#define	DIO_OAC_JNITST_DEVICE		0xD004E	/* JNITST OAC device */
#define	DIO_OAC_IIOP_DEVICE		0xD004F	/* IIOP OAC device */
#define	DIO_OAC_RMI_DEVICE		0xD0050	/* RMI OAC device */
#define	DIO_OAC_SCHSAV_DEVICE		0xD0051	/* SCHSAV OAC device */
#define	DIO_OAC_ARCSAV_DEVICE		0xD0052	/* ARCSAV OAC device */
#define	DIO_OAC_OACTST_DEVICE		0xD0053	/* OACTST OAC device */
#define	DIO_OAC_MACALC_DEVICE		0xD0054	/* MACALC OAC device */
#define	DIO_OAC_TIMEAV_DEVICE		0xD0055	/* TIMEAV OAC device */
#define	DIO_OAC_TEVMTN_DEVICE		0xD0056	/* TEVMTN OAC device */
#define	DIO_OAC_MTNRNG_DEVICE		0xD0056	/* MTNRNG OAC device */
#define	DIO_OAC_CONSAR_DEVICE		0xD0057	/* CONSAR OAC device */
#define	DIO_OAC_TUNESY_DEVICE		0xD0058	/* TUNESY OAC device */
#define	DIO_OAC_AUTUNE_DEVICE		0xD0058	/* AUTUNE OAC device */
#define	DIO_OAC_VACAVE_DEVICE		0xD0059	/* VACAVE OAC device */
#define	DIO_OAC_OFF1K_DEVICE		0xD005A	/* OFF1K OAC device */
#define	DIO_OAC_ANNALA_DEVICE		0xD005B	/* ANNALA OAC device */
#define	DIO_OAC_HALORT_DEVICE		0xD005C	/* HALORT OAC device */
#define	DIO_OAC_MJRROR_DEVICE		0xD005D	/* MJRROR OAC device */
#define	DIO_OAC_BATCH_DEVICE		0xD005E	/* BATCH OAC device */
#define	DIO_VACAVE_AVG_VACUUM_DEVICE	0xD005F	/* VACAVE OAC average vacuum device */
#define	DIO_VACAVE_ACC_AVG_VAC_DEVICE	0xD0060	/* VACAVE OAC Accumulator average vacuum device */
#define	DIO_OAC_VLOGGR_DEVICE		0xD0061	/* VLOGGR OAC device */
#define	DIO_CONSAR_IP_DEVICE		0xD0062	/* CONSAR OAC wildcard ion pump device */
#define	DIO_CONSAR_IPS_DEVICE		0xD0063	/* CONSAR OAC wildcard ion pump card status device */
#define	DIO_CONSAR_CC_DEVICE		0xD0064	/* CONSAR OAC wildcard cold cathode gauge device */
#define	DIO_CONSAR_PG_DEVICE		0xD0065	/* CONSAR OAC wildcard Pirani gauge device */
#define	DIO_CONSAR_SV_DEVICE		0xD0066	/* CONSAR OAC wildcard sector valve device */
#define	DIO_CONSAR_SVS_DEVICE		0xD0067	/* CONSAR OAC wildcard sector valve card status device */
#define	DIO_CONSAR_MV_DEVICE		0xD0068	/* CONSAR OAC wildcard manifold valve device */
#define	DIO_CONSAR_MVS_DEVICE		0xD0069	/* CONSAR OAC wildcard manifold valve card status device */
#define	DIO_CONSAR_RV_DEVICE		0xD006A	/* CONSAR OAC wildcard roughing valve device */
#define	DIO_CONSAR_RP_DEVICE		0xD006B	/* CONSAR OAC wildcard roughing pump device */
#define	DIO_MACALC_MAGNET_POWER_DEVICE	0xD006C	/* MACALC OAC magnet power device */
#define	DIO_MACALC_LCW_POWER_DEVICE	0xD006D	/* MACALC OAC LCW power device */
#define	DIO_MACALC_LCW_DPRESS_DEVICE	0xD006E	/* MACALC OAC LCW differential pressure device */
#define	DIO_MACALC_LCW_AVG_TMP_DEVICE	0xD006F	/* MACALC OAC LCW average temperature device */
#define	DIO_OAC_SAEWRT_DEVICE		0xD0070	/* SAEWRT OAC device */
#define	DIO_OAC_FSMDEV_DEVICE		0xD0071	/* FSMDEV OAC device */
#define	DIO_OAC_ALARMZ_DEVICE		0xD0072	/* ALARMZ OAC device */
#define	DIO_OAC_COLDCO_DEVICE		0xD0073	/* COLDCO OAC device */
#define	DIO_OAC_TUNEEC_DEVICE		0xD0074	/* TUNEEC OAC device */
#define	DIO_OAC_ACCBPM_DEVICE		0xD0075	/* ACCBPM OAC device */
#define	DIO_OAC_RRSHOT_DEVICE		0xD0076	/* RRSHOT OAC device */
#define	DIO_OAC_CONSAD_DEVICE		0xD0077	/* CONSAD OAC device */
#define	DIO_OAC_LIFETM_DEVICE		0xD0078	/* LIFETM OAC device */
#define	DIO_OAC_ESTATS_DEVICE		0xD0079	/* ESTATS OAC device */
#define	DIO_OAC_TEVTUN_DEVICE		0xD007A	/* TEVTUN OAC device */
#define	DIO_OAC_CCPEFF_DEVICE		0xD007B	/* CCPEFF OAC device */
#define	DIO_OAC_TEMITF_DEVICE		0xD007C	/* TEMITF OAC device */
#define	DIO_OAC_BACKUP_DEVICE		0xD007D	/* BACKUP OAC device */
#define	DIO_OAC_BOOMON_DEVICE		0xD007E	/* BOOMON OAC device */
#define	DIO_OAC_TESTZY_DEVICE		0xD007F	/* TESTZY OAC device */
#define	DIO_OAC_CHECKS_DEVICE		0xD0080	/* CHECKS OAC device */
#define	DIO_OAC_TEVSKY_DEVICE		0xD0081	/* TEVSKY OAC device */
#define	DIO_OAC_CRTEMP_DEVICE		0xD0082	/* CRTEMP OAC device */
#define	DIO_OAC_VLOGV_DEVICE		0xD0083	/* VLOGV OAC device */
#define	DIO_OAC_SETS_DEVICE		0xD0084	/* SETS OAC device */
#define	DIO_OAC_SETDIS_DEVICE		0xD0085	/* SETDIS OAC device */
#define	DIO_OAC_DAMPEN_DEVICE		0xD0086	/* DAMPEN OAC device */
#define	DIO_OAC_FLOWSM_DEVICE		0xD0087	/* FLOWSM OAC device */
#define	DIO_OAC_WEATHR_DEVICE		0xD0088	/* WEATHR OAC device */
#define	DIO_OAC_SHOTKY_DEVICE		0xD0089	/* SHOTKY OAC device */
#define	DIO_OAC_LEVELS_DEVICE		0xD008A	/* LEVELS OAC device */
#define	DIO_OAC_SYNTHE_DEVICE		0xD008B	/* SYNTHE OAC device */
#define	DIO_OAC_DAMPE1_DEVICE		0xD008C	/* DAMPE1 OAC device */
#define	DIO_OAC_DAMPE2_DEVICE		0xD008D	/* DAMPE2 OAC device */
#define	DIO_OAC_DAMPE3_DEVICE		0xD008E	/* DAMPE3 OAC device */
#define	DIO_OAC_DAMPE4_DEVICE		0xD008F	/* DAMPE4 OAC device */
#define	DIO_OAC_DAMPE5_DEVICE		0xD0090	/* DAMPE5 OAC device */
#define	DIO_OAC_TEVCRG_DEVICE		0xD0091	/* TEVCRG OAC device */
#define	DIO_OAC_WISC_DEVICE		0xD0092	/* WISC OAC device */
#define	DIO_OAC_BOOCOL_DEVICE		0xD0093	/* BOOCOL OAC device */
#define	DIO_OAC_MUCOOL_DEVICE		0xD0094	/* MUCOOL OAC device */
#define	DIO_OAC_SERBAL_DEVICE		0xD0095	/* SERBAL OAC device */
#define	DIO_OAC_TEVICS_DEVICE		0xD0096	/* TEVICS OAC device */
#define	DIO_OAC_ALIGNS_DEVICE		0xD0097	/* ALIGNS OAC device */
#define	DIO_OAC_TOR910_DEVICE		0xD0098	/* TOR910 OAC device */
#define	DIO_OAC_DEBIKI_DEVICE		0xD0099	/* DEBIKI OAC device */
#define	DIO_OAC_DEBEKI_DEVICE		0xD009A	/* DEBEKI OAC device */
#define	DIO_OAC_ACCIKI_DEVICE		0xD009B	/* ACCIKI OAC device */
#define	DIO_OAC_SHOTPR_DEVICE		0xD009C	/* SHOTPR OAC device */
#define	DIO_OAC_SHOTPB_DEVICE		0xD009D	/* SHOTPB OAC device */
#define	DIO_OAC_PBARSA_DEVICE		0xD009E	/* PBARSA OAC device */
#define	DIO_OAC_TEVHLX_DEVICE		0xD009F	/* TEVHLX OAC device */
#define	DIO_OAC_DPJUMP_DEVICE		0xD00A0	/* DPJUMP OAC device */
#define	DIO_OAC_BCCOAC_DEVICE		0xD00A1	/* BCCOAC OAC device */
#define	DIO_OAC_EMINOS_DEVICE		0xD00A2	/* EMINOS OAC device */
#define	DIO_OAC_MAGLEV_DEVICE		0xD00A3	/* MAGLEV OAC device */
#define	DIO_OAC_INITEV_DEVICE		0xD00A4	/* INITEV OAC device */
#define	DIO_OAC_SBDCAL_DEVICE		0xD00A5	/* SBDCAL OAC device */
#define	DIO_OAC_MIBBIM_DEVICE		0xD00A6	/* MIBBIM OAC device */
#define	DIO_OAC_TEMSBD_DEVICE		0xD00A7	/* TEMSBD OAC device */
#define	DIO_OAC_TLONBP_DEVICE		0xD00A8	/* TLONBP OAC device */
#define	DIO_OAC_TEVTTT_DEVICE		0xD00A9	/* TEVTTT OAC device */
#define	DIO_OAC_FLXCAP_DEVICE		0xD00AA	/* FLXCAP OAC device */
#define	DIO_OAC_VSAOSC_DEVICE		0xD00AB	/* VSAOSC OAC device */
#define	DIO_OAC_TEVATF_DEVICE		0xD00AC	/* TEVATF OAC device */
#define	DIO_OAC_AP2BPM_DEVICE		0xD00AD	/* AP2BPM OAC device */
#define	DIO_OAC_SNAP_DEVICE		0xD00AE	/* SNAP OAC device */
#define	DIO_OAC_ECCOLL_DEVICE		0xD00AF	/* ECCOLL OAC device */
#define	DIO_OAC_DLLRF_DEVICE		0xD00B0	/* DLLRF OAC device */
#define	DIO_OAC_TEVMON_DEVICE		0xD00B1	/* TEVMON OAC device */
#define	DIO_OAC_RRORBL_DEVICE		0xD00B2	/* RRORBL OAC device */
#define	DIO_OAC_ECBCAL_DEVICE		0xD00B3	/* ECBCAL OAC device */
#define	DIO_OAC_JAERS_DEVICE		0xD00B4	/* JAERS OAC device */
#define	DIO_OAC_XMLRPC_DEVICE		0xD00B5	/* XMLRPC OAC device */
#define	DIO_OAC_ARF1RF_DEVICE		0xD00B6	/* ARF1RF OAC device */
#define	DIO_OAC_BOOLOS_DEVICE		0xD00B7	/* BOOLOS OAC device */
#define	DIO_OAC_BRFOAC_DEVICE		0xD00B8	/* BRFOAC OAC device */
#define	DIO_OAC_DIGTUN_DEVICE		0xD00B9	/* DIGTUN OAC device */
#define	DIO_OAC_MACSET_DEVICE		0xD00BA	/* MACSET OAC device */
#define	DIO_OAC_RADMON_DEVICE		0xD00BB	/* RADMON OAC device */
#define	DIO_OAC_HEARTB_DEVICE		0xD00BC	/* HEARTB OAC device */
#define	DIO_OAC_DECAYS_DEVICE		0xD00BD	/* DECAYS OAC device */
#define	DIO_OAC_TUNEDI_DEVICE		0xD00BE	/* TUNEDI OAC device */
#define	DIO_OAC_SRSAVE_DEVICE		0xD00BF	/* SRSAVE OAC device */
#define	DIO_OAC_SETSDB_DEVICE		0xD00C0	/* SETSDB OAC device */
#define	DIO_OAM_LJOAC_DEVICE		0xD00C1	/* LJOAC OAC device */
#define	DIO_OAM_DBSETS_DEVICE		0xD00C2	/* DBSETS OAC device */
#define	DIO_OAM_DPMOAC_DEVICE		0xD00C3	/* DPMOAC OAC device */
#define	DIO_OAC_CDFMON_DEVICE		0xD00C4	/* CDFMON OAC device */
#define	DIO_OAC_NUM118_DEVICE		0xD00C6	/* NUM118 OAC device */
#define	DIO_OAC_NETPNG_DEVICE		0xD00C7	/* NETPNG OAC device */
#define	DIO_OAC_DEBBPM_DEVICE		0xD00C8	/* DEBBPM OAC device */
#define	DIO_OAC_RCYSCH_DEVICE		0xD00C9	/* RCYSCH OAC device */
#define	DIO_OAC_OPCOAC_DEVICE		0xD00CA	/* OPCOAC OAC device */
#define	DIO_OAC_PIDLUP_DEVICE		0xD00CB	/* PIDLUP OAC device */
#define	DIO_OAC_EVENTH_DEVICE		0xD00CC	/* EVENTH OAC device */
#define	DIO_OAC_NUM121_DEVICE		0xD00CD	/* NUM121 OAC device */
#define	DIO_OAC_JABDEV_DEVICE		0xD00CE	/* JABDEV OAC device */
#define	DIO_OAC_LVTEST_DEVICE		0xD00CF	/* LVTEST OAC device */
#define	DIO_OAC_NMLOPC_DEVICE		0xD00D0	/* NMLOPC OAC device */
#define	DIO_OAC_EVENTN_DEVICE		0xD00D1	/* EVENTN OAC device */
#define	DIO_OAC_TRREC_DEVICE		0xD00D2	/* TRREC OAC device */
#define	DIO_OAC_NUM101_DEVICE		0xD00D3	/* NUM101 OAC device */
#define	DIO_OAC_NETMON_DEVICE		0xD00D4	/* NETMON OAC device */
#define	DIO_OAC_BUNNY_DEVICE		0xD00D5	/* BUNNY OAC device */
#define	DIO_OAC_CRYOPC_DEVICE		0xD00D6	/* CRYOPC OAC device */
#define	DIO_OAC_EXPOPC_DEVICE		0xD00D7	/* EXPOPC OAC device */
#define	DIO_OAC_PHIDGT_DEVICE		0xD00D8	/* PHIDGT OAC device */
#define	DIO_OAC_LINBPM_DEVICE		0xD00D9	/* LINBPM OAC device */
#define	DIO_OAC_NDOSPS_DEVICE		0xD00DA	/* NDOSPS OAC device */
#define	DIO_OAC_ACLDEV_DEVICE		0xD00DB	/* ACLDEV OAC device */
#define	DIO_OAC_MCOPC_DEVICE		0xD00DC	/* MCOPC OAC device */
#define	DIO_OAC_LRHVAC_DEVICE		0xD00DD	/* LRHVAC OAC device */
#define	DIO_OAC_NOVAPS_DEVICE		0xD00DE	/* NOVAPS OAC device */
#define	DIO_OAC_UTLOPC_DEVICE		0xD00DF	/* UTLOPC OAC device */
#define	DIO_OAC_RACKMN_DEVICE		0xD00E0	/* RACKMN OAC device */
#define	DIO_OAC_MTAEMT_DEVICE		0xD00E1	/* MTAEMT OAC device */
#define	DIO_OAC_BCCDB_DEVICE		0xD00E2	/* BCCDB OAC device */
#define	DIO_OAC_MIBLMS_DEVICE		0xD00E3	/* MIBLMS OAC device */
#define	DIO_OAC_NMLBBM_DEVICE		0xD00E4	/* NMLBBM OAC device */
#define	DIO_OAC_MISWIC_DEVICE		0xD00E5	/* MISWIC OAC device */
#define	DIO_OAC_MIEFFS_DEVICE		0xD00E6	/* MIEFFS OAC device */
#define	DIO_OAC_MIWIRS_DEVICE		0xD00E7	/* MIWIRS OAC device */
#define	DIO_OAC_PWRMTR_DEVICE		0xD00E8	/* PWRMTR OAC device */
#define	DIO_OAC_MITUNE_DEVICE		0xD00E9	/* MITUNE OAC device */
#define	DIO_OAC_RFSTAT_DEVICE		0xD00EA	/* RFSTAT OAC device */
#define	DIO_VIRTUAL_DEVICE_TOP		0xD00EA
#define	DIO_OAC_DEVICE_TOP		0xD00EA

/* MECAR devices */

#define	DIO_MECAR_DEVICE_BASE		0xE0000
#define	DIO_MECAR_BFIELD_INJ_OFFSET	0xE0001	/* bend field injection offset */
#define	DIO_MECAR_DURATION_DEVICE	0xE0002	/* duration device */
#define	DIO_MECAR_CURRENT_DEVICE	0xE0003	/* current device */
#define	DIO_MECAR_CONTROL_PERMIT	0xE0004	/* control permit device */
#define	DIO_MECAR_CORRECTION_TABLE	0xE0005	/* correction table device */
#define	DIO_MECAR_CALIBRATN_TUNE_TABLE	0xE0006	/* calibration tune table */
#define	DIO_MECAR_CIRCULAR_BUFFER	0xE0007	/* circular buffer device */
#define	DIO_MECAR_VOLTAGE_PROFILE_CNTRL	0xE0008	/* voltage profile control command */
#define	DIO_MECAR_CONTROL_SWITCH	0xE0009	/* control switch */
#define	DIO_MECAR_POWER_SUPPLY		0xE000A	/* power supply */
#define	DIO_MECAR_BIT_FTP_DEVICE	0xE000B	/* bit FTP device */
#define	DIO_MECAR_SPECIAL_FTP_DEVICE	0xE000C	/* special FTP device */
#define	DIO_MECAR_STATUS_DEVICE		0xE000D	/* status device */
#define	DIO_MECAR_SAVE_RESTORE_DEVICE	0xE000E	/* save/restore device */
#define	DIO_MECAR_REMAP_MR_EVENT_DEVICE	0xE000F	/* remap MR events device */
#define	DIO_MECAR_REMAP_MI_EVENT_DEVICE	0xE000F	/* remap MI events device */
#define	DIO_MECAR_ABORT_TIMESTAMP	0xE0010	/* beam abort timestamp device */
#define	DIO_MECAR_FB_FF_GAIN_DEVICE	0xE0011	/* FB and FF gains device */
#define	DIO_MECAR_CURRENT_TRIP_LIMIT	0xE0012	/* differential current trip limits */
#define	DIO_MECAR_COMBINATION_WEIGHTS	0xE0013	/* combination weights device */
#define	DIO_MECAR_SAFETY_MONITOR	0xE0014	/* safety monitor device */
#define	DIO_MECAR_TOLERANCE_DEVICE	0xE0015	/* tolerance device */
#define	DIO_MECAR_SPLIT_LEVEL_DEVICE	0xE0016	/* split level device */
#define	DIO_MECAR_THRESHOLD_DEVICE	0xE0017	/* regulation/beam threshold device */
#define	DIO_MECAR_I_TO_V_CONSTANTS	0xE0018	/* I(t) to V(t) constants */
#define	DIO_MECAR_PS_V_REG_THRESHOLD	0xE0019	/* power supply voltage regulation threshold */
#define	DIO_MECAR_REGULATION_PS_BYPASS	0xE001A	/* regulation power supply bypass device */
#define	DIO_MECAR_MDAT_IPROG_OFFSET	0xE001B	/* MDAT IPROG offset */
#define	DIO_MECAR_TRANSDUCTOR_STATUS	0xE001C	/* transductor status/reset */
#define	DIO_MECAR_GENERIC_DEVICE	0xE001D /* generic MECAR device */
#define	DIO_MECAR_DEVICE_TOP		0xE001D

/* LLRF devices */

#define	DIO_LLRF_DEVICE_BASE		0xF0000
#define	DIO_LLRF_TEST_DEVICE		0xF0000	/* test device */
#define	DIO_LLRF_TIME_UP_DEVICE		0xF0001	/* time since boot */
#define	DIO_LLRF_ALARM_ENABLE_DEVICE	0xF0002	/* alarm enable device */
#define	DIO_LLRF_VERSION_DEVICE		0xF0003	/* version device */
#define	DIO_LLRF_GENERIC_DEVICE		0xF0004	/* generic Low Level RF device */
#define	DIO_LLRF_MDAT_DEVICE		0xF0005	/* MDAT device */
#define	DIO_LLRF_DSP_DEVICE		0xF0006	/* DSP device */
#define	DIO_LLRF_UCD_TIME_DEVICE	0xF0007	/* UCD time keeping device */
#define	DIO_LLRF_LORENTZ_DETUNING_DEVICE	0xF0008	/* Lorentz force detuning device */
#define	DIO_LLRF_VECTOR_MODULATOR_DEVICE	0xF0009	/* ferrite vector modulator device */
#define	DIO_LLRF_BOOSTER_TABLE_DEVICE	0xF000A	/* Booster LLRF table device */
#define	DIO_LLRF_BOOSTER_PARAPHASE_DEVICE	0xF000B	/* Booster paraphase table device */
#define	DIO_LLRF_BOOSTER_TABLE_CONTROL_DEVICE	0xF000C	/* Booster LLRF table control device */
#define	DIO_LLRF_BOOSTER_PP_CONTROL_DEVICE	0xF000D	/* Booster paraphase table control device */
#define	DIO_LLRF_DEVICE_TOP		0xF000D

/* Consolidator devices */

#define	DIO_CNSLIDTR_DEVICE_BASE	0x100000
#define	DIO_CNSLIDTR_LENGTH_DEVICE	0x100001
#define	DIO_CNSLIDTR_NAMES_DEVICE	0x100002
#define	DIO_CNSLIDTR_TIME_UP_DEVICE	0x100003	/* time since boot */
#define	DIO_CNSLIDTR_DEVICE_TOP		0x100003

/* Travelling Wave Tube devices */

#define DIO_TWT_DEVICE_BASE		0x110000
#define DIO_TWT_BASIC_DEVICE		0x110000	/* Basic TWT device */
#define DIO_TWT_PMCPU_DEVICE		0x110001	/* Protection Mon */
#define DIO_TWT_DEVICE_TOP		0x110001

/* MDAT Transmitter devices */

#define DIO_MDAT_DEVICE_BASE		0x120000
#define DIO_MDAT_BASIC_DEVICE		0x120000	/* Basic MDAT device */
#define DIO_MDAT_DEVICE_TOP		0x120000

/* Fast Bunch Integrator (FBI) devices */

#define DIO_FBI_DEVICE_BASE		0x130000
#define DIO_FBI_PROT_1_INT_DEVICE	0x130000	/* proton narrow gate (1 bunch) intensity device */
#define DIO_FBI_PROT_MULT_INT_DEVICE	0x130001	/* proton wide gate (multi (7) bunch) intensity device */
#define DIO_FBI_PBAR_1_INT_DEVICE	0x130002	/* pbar narrow gate (1 bunch) intensity device */
#define DIO_FBI_PBAR_MULT_INT_DEVICE	0x130003	/* pbar wide gate (multi (7) bunch) intensity device */
#define DIO_FBI_PROT_NRW_GATE_DEVICE	0x130004	/* proton narrow gate width device */
#define DIO_FBI_PROT_WIDE_GATE_DEVICE	0x130005	/* proton wide gate width device */
#define DIO_FBI_PBAR_NRW_GATE_DEVICE	0x130006	/* pbar narrow gate width device */
#define DIO_FBI_PBAR_WIDE_GATE_DEVICE	0x130007	/* pbar wide gate width device */
#define DIO_FBI_BKGD_GATE_DEVICE	0x130008	/* background gate width device */
#define DIO_FBI_DIGITAL_GATE_DEVICE	0x130009	/* digital gate width device */
#define DIO_FBI_DIGITAL_DELAY_DEVICE	0x13000A	/* digital gate delay device */
#define DIO_FBI_SUB_ENABLE_DEVICE	0x13000B	/* background subtraction enable device */
#define DIO_FBI_MDAT_DELAY_DEVICE	0x13000C	/* MDAT frame delay device */
#define DIO_FBI_INT_SUM_DEVICE		0x13000D	/* intensity sum device */
#define DIO_FBI_SQUELCH_LEVEL_DEVICE	0x13000E	/* squelch level (noise suppression) device */
#define DIO_FBI_FAKE_MDAT_ENABLE_DEVICE	0x13000F	/* fake MDAT enable device (for testing) */
#define DIO_FBI_WRITE_SETTINGS_DEVICE	0x130010	/* write current settings to file device */
#define DIO_FBI_PROT_NRW_GATE_SUM_DEVICE	0x130011	/* proton narrow gate sum device */
#define DIO_FBI_PROT_WIDE_GATE_SUM_DEVICE	0x130012	/* proton wide gate sum device */
#define DIO_FBI_DEVICE_TOP		0x130012

/* Stepper motor devices */

#define DIO_SM_DEVICE_BASE		0x140000
#define DIO_SM_GENERIC_DEVICE		0x140000	/* generic stepper motor device */
#define	DIO_SM_POSITION_DEVICE		0x140001	/* stepper motor position device */
#define	DIO_SM_MOVE_SIZE_DEVICE		0x140002	/* stepper motor move size device */
#define	DIO_SM_MOVE_FREQ_DEVICE		0x140003	/* stepper motor move frequency device */
#define	DIO_SM_CURR_POSITION_DEVICE	0x140004	/* stepper motor current position device */
#define	DIO_SM_INIT_POSITION_DEVICE	0x140005	/* stepper motor initial safe position device */
#define	DIO_SM_WORK_POSITION_DEVICE	0x140006	/* stepper motor working/scraping position device */
#define	DIO_SM_NEG_LIMIT_DEVICE		0x140007	/* stepper motor negative limit device */
#define	DIO_SM_POS_LIMIT_DEVICE		0x140008	/* stepper motor positive limit device */
#define	DIO_SM_OPER_MODE_DEVICE		0x140009	/* scraper operational mode device */
#define	DIO_SM_SEQ_STATUS_DEVICE	0x14000A	/* scraper sequence status device */
#define	DIO_SM_NUM_SEQ_DEVICE		0x14000B	/* scraper number of valid sequences device */
#define	DIO_SM_SEQ_NUMBER_DEVICE	0x14000C	/* scraper present/next sequence number device */
#define	DIO_SM_NUM_SIGMA_DEVICE		0x14000D	/* scraper number of sigmas device */
#define	DIO_SM_PROT_REMOVAL_DEVICE	0x14000E	/* scraper proton removal percentage device */
#define	DIO_SM_PBAR_REMOVAL_DEVICE	0x14000F	/* scraper pbar removal percentage device */
#define	DIO_SM_ADC_DEVICE		0x140010	/* stepper motor ADC device */
#define DIO_SM_DEVICE_TOP		0x140010

/* BLM devices */

#define	DIO_BLM_DEVICE_BASE		0x150000
#define	DIO_BLM_GENERIC_DEVICE		0x150001	/* generic BLM device */
#define	DIO_BLM_DEVICE_TOP		0x150001

/* Emittance measurement devices */

#define	DIO_EMITTANCE_DEVICE_BASE	0x160000
#define	DIO_EMITTANCE_GENERIC_DEVICE	0x160001	/* generic emittance device */
#define	DIO_EMITTANCE_DEVICE_TOP	0x160001

/* Electron lens devices */

#define	DIO_ELECTRON_LENS_DEVICE_BASE	0x170000
#define	DIO_ELECTRON_LENS_GENERIC_DEVICE	0x170001	/* generic electron lens device */
#define	DIO_ELECTRON_LENS_DEVICE_TOP	0x170001

/* Electron cooling devices */

#define	DIO_ELECTRON_COOLING_DEVICE_BASE	0x180000
#define	DIO_EC_DEVICE_BASE		0x180000
#define	DIO_ELECTRON_COOLING_GENERIC_DEVICE	0x180001	/* generic electron cooling device */
#define	DIO_EC_GENERIC_DEVICE		0x180001	/* generic electron cooling device */
#define	DIO_ELECTRON_COOLING_DEVICE_TOP	0x180001
#define	DIO_EC_DEVICE_TOP		0x180001

/* Booster GMPS devices */

#define	DIO_GMPS_DEVICE_BASE		0x190000
#define	DIO_GMPS_GENERIC_DEVICE		0x190001	/* generic Booster GMPS device */
#define	DIO_GMPS_DEVICE_TOP		0x190001

/* Mini Boone devices */

#define	DIO_MINIBOONE_DEVICE_BASE	0x1A0000
#define	DIO_MINIBOONE_GENERIC_DEVICE	0x1A0001	/* generic MiniBooNE device */
#define	DIO_MINIBOONE_HORN_PS_DEVICE	0x1A0002	/* MiniBooNE horn power supply device */
#define	DIO_MINIBOONE_DEVICE_TOP	0x1A0001

/* NUMI devices */

#define	DIO_NUMI_DEVICE_BASE		0x1B0000
#define	DIO_NUMI_GENERIC_DEVICE		0x1B0001	/* generic NUMI device */
#define	DIO_NUMI_BPM_DEVICE		0x1B0002	/* NUMI BPM device */
#define	DIO_NUMI_HORN_PS_DEVICE		0x1B0003	/* NUMI horn power supply device */
#define	DIO_NUMI_DEVICE_TOP		0x1B0003

/* TESLA devices */

#define	DIO_TESLA_DEVICE_BASE		0x1C0000
#define	DIO_TESLA_GENERIC_DEVICE	0x1C0001	/* generic TESLA device */
#define	DIO_TESLA_DEVICE_TOP		0x1C0001

/* clock system devices */

#define	DIO_CLOCK_DEVICE_BASE		0x1D0000
#define	DIO_CLOCK_GENERIC_DEVICE	0x1D0001	/* generic clock system device */
#define	DIO_CLOCK_STORE_LENGTH_DEVICE	0x1D0002	/* Collider store length device */
#define	DIO_CLOCK_DEVICE_TOP		0x1D0002

/* Muon cooling devices */

#define	DIO_MUON_COOLING_DEVICE_BASE	0x1E0000
#define	DIO_MC_DEVICE_BASE		0x1E0000
#define	DIO_MUON_COOLING_GENERIC_DEVICE	0x1E0001	/* generic muon cooling device */
#define	DIO_MC_GENERIC_DEVICE		0x1E0001	/* generic muon cooling device */
#define	DIO_MUON_COOLING_DEVICE_TOP	0x1E0001
#define	DIO_MC_DEVICE_TOP		0x1E0001

/* Beam damper devices */

#define	DIO_DAMPER_DEVICE_BASE		0x1F0000
#define	DIO_DAMPER_GENERIC_DEVICE	0x1F0001	/* generic beam damper device */
#define	DIO_DAMPER_DEVICE_TOP		0x1F0001

/* IRM devices */

#define	DIO_IRM_DEVICE_BASE		0x200000
#define	DIO_IRM_GENERIC_DEVICE		0x200001	/* generic IRM device */
#define	DIO_IRM_TIMER_DEVICE		0x200002	/* IRM timer device */
#define	DIO_IRM_VERSION_DEVICE		0x200003	/* IRM software version (date) device */
#define	DIO_IRM_UP_TIME_DEVICE		0x200004	/* IRM uptime device */
#define	DIO_IRM_DUMP_BYTES_DEVICE	0x200005	/* IRM dump memory by bytes device */
#define	DIO_IRM_DUMP_WORDS_DEVICE	0x200006	/* IRM dump memory by words device */
#define	DIO_IRM_ANALOG_READ_DEVICE	0x200007	/* IRM analog reading device */
#define	DIO_IRM_ANALOG_SET_DEVICE	0x200008	/* IRM analog setting device */
#define	DIO_IRM_NOMINAL_DEVICE		0x200009	/* IRM nominal value device */
#define	DIO_IRM_TOLERANCE_DEVICE	0x20000A	/* IRM tolerance value device */
#define	DIO_IRM_ALARM_FLAGS_DEVICE	0x20000B	/* IRM alarm flags device */
#define	DIO_IRM_WAVEFORM_DEVICE		0x20000C	/* IRM waveform device */
#define	DIO_IRM_LAMBDA_ZUP_PS_DEVICE	0x20000D	/* IRM Lambda ZUP power supply */
#define	DIO_IRM_DEVICE_TOP		0x20000D

/* NTF devices */

#define	DIO_NTF_DEVICE_BASE		0x210000
#define	DIO_NTF_GENERIC_DEVICE		0x210001	/* generic NTF device */
#define	DIO_NTF_DEVICE_TOP		0x210001

/* RF tuning devices */

#define	DIO_RFTUNE_DEVICE_BASE		0x220000
#define	DIO_RFTUNE_GENERIC_DEVICE	0x220001	/* generic RF tuning device */
#define	DIO_RFTUNE_TEMP_VALUE		0x220002	/* present temperature value */
#define	DIO_RFTUNE_TEMP_SET_POINT	0x220003	/* temperature set point */
#define	DIO_RFTUNE_TEMP_PGAIN		0x220004	/* temperature proportional gain */
#define	DIO_RFTUNE_TEMP_RESET_TIME	0x220005	/* temperature integral reset time */
#define	DIO_RFTUNE_TEMP_DGAIN		0x220006	/* temperature derivative gain */
#define	DIO_RFTUNE_TEMP_DEADBAND	0x220007	/* temperature deadband */
#define	DIO_RFTUNE_PID_OUTPUT		0x220008	/* PID output */
#define	DIO_RFTUNE_PID_I_TERM		0x220009	/* PID integral term */
#define	DIO_RFTUNE_ERROR_TEMP_MODE	0x22000A	/* temperature mode at last error */
#define	DIO_RFTUNE_IS_TEMP_MODE		0x22000B	/* temperature mode on/off flag */
#define	DIO_RFTUNE_PHASE_AMP_THRESH	0x22000C	/* phase amplitude threshold */
#define	DIO_RFTUNE_MIN_DAC_SETTING	0x22000D	/* minimum DAC setting */
#define	DIO_RFTUNE_MAX_DAC_SETTING	0x22000E	/* maximum DAC setting */
#define	DIO_RFTUNE_PID_P_TERM		0x22000F	/* PID proportional term */
#define	DIO_RFTUNE_PID_D_TERM		0x220010	/* PID derivative term */
#define	DIO_RFTUNE_STOP_REG		0x220011	/* flag to stop regulation and leave heaters at current setting */
#define	DIO_RFTUNE_PHASE_PGAIN		0x220012	/* phase proportional gain */
#define	DIO_RFTUNE_PHASE_RESET_TIME	0x220013	/* phase integral reset time */
#define	DIO_RFTUNE_PHASE_DGAIN		0x220014	/* phase derivative gain */
#define	DIO_RFTUNE_PHASE_DEADBAND	0x220015	/* phase deadband */
#define	DIO_RFTUNE_NUM_TIMES_TO_TEMP	0x220016	/* number of times in temp mode before switching to temp mode */
#define	DIO_RFTUNE_NUM_TIMES_TO_PHASE	0x220017	/* number of times in phase mode before switching to phase mode */
#define	DIO_RFTUNE_MAX_INTEGRAL		0x220018	/* maximum integral */
#define	DIO_RFTUNE_PTERM_WINDOW		0x220019	/* P term window beyond which PID = I + D */
#define	DIO_RFTUNE_HEATER_SET_ENABLE	0x22001A	/* heater set enable */
#define	DIO_RFTUNE_PHASE_ERROR_OFFSET	0x22001B	/* phase error offset */
#define	DIO_RFTUNE_TIME_SINCE_EXT_TRIG	0x22001C	/* time since last external trigger */
#define	DIO_RFTUNE_MASK_TC		0x22001D	/* mask out thermocouple */
#define	DIO_RFTUNE_THERMOCOUPLE		0x22001E	/* thermocouple reading */
#define	DIO_RFTUNE_HEATER_DEVICE	0x22001F	/* heater device */
#define	DIO_RFTUNE_HEATER_DEFAULT_SET	0x220020	/* default heater setting (when TC error occurs) device */
#define	DIO_RFTUNE_DEVICE_TOP		0x220020

/* timer devices */

#define	DIO_TIMER_DEVICE_BASE		0x230000
#define	DIO_TIMER_GENERIC_DEVICE	0x230001	/* generic timer device */
#define	DIO_TIMER_EVENT_DEVICE		0x230002	/* timer event device */
#define	DIO_TIMER_DELAY_DEVICE		0x230003	/* timer delay device */
#define	DIO_TIMER_PULSE_DEVICE		0x230004	/* timer pulse length device */
#define	DIO_TIMER_DEVICE_TOP		0x230004

/* TECAR devices */

#define	DIO_TECAR_DEVICE_BASE		0x240000
#define	DIO_TECAR_GENERIC_DEVICE	0x240001	/* generic TECAR device */
#define	DIO_TECAR_SNAPSHOT_TRIGGER	0x240002	/* TECAR snapshot trigger device */
#define	DIO_TECAR_TINKER_TOY_REG	0x240003	/* TECAR tinker toy regulation device */
#define	DIO_TECAR_RESET_CONTROL		0x240004	/* TECAR reset control device */
#define	DIO_TECAR_INJECTION_CONTROL	0x240005	/* TECAR injection control device */
#define	DIO_TECAR_RAMP_TABLE		0x240006	/* TECAR ramp table device */
#define	DIO_TECAR_QBS_TEST		0x240007	/* TECAR QBS test device */
#define	DIO_TECAR_EXC_I_TOLERANCE	0x240008	/* TECAR excitation current tolerance device */
#define	DIO_TECAR_RAMP_CURRENTS		0x240009	/* TECAR ramp currents device */
#define	DIO_TECAR_SPECIAL_PS		0x24000A	/* TECAR special power supply device */
#define	DIO_TECAR_RESET_REQUEST		0x24000B	/* TECAR reset request device */
#define	DIO_TECAR_CONTROL_COMMAND	0x24000C	/* TECAR control command device */
#define	DIO_TECAR_PHASE_DISP_CONTROL	0x24000D	/* TECAR phase dispersion control device */
#define	DIO_TECAR_ACTIVE_PS		0x24000E	/* TECAR active power supplies device */
#define	DIO_TECAR_LINK_ERRORS		0x24000F	/* TECAR link errors device */
#define	DIO_TECAR_I_PROG		0x240010	/* TECAR programmed current device */
#define	DIO_TECAR_I_RING		0x240011	/* TECAR ring current device */
#define	DIO_TECAR_I_ERROR		0x240012	/* TECAR current error device */
#define	DIO_TECAR_RT_COUNTER		0x240013	/* TECAR real time execution counter device */
#define	DIO_TECAR_LINK_HW_ERRORS	0x240014	/* TECAR link hardware errors device */
#define	DIO_TECAR_EVENT_STATUS_CONTROL	0x240015	/* TECAR event status and control device */
#define	DIO_TECAR_DEVICE_TOP		0x240015

/* accelerator statistics devices */

#define	DIO_ACCSTAT_DEVICE_BASE		0x250000
#define	DIO_ACCSTAT_GENERIC_DEVICE	0x250001	/* generic accelerator statistics device */
#define	DIO_ACCSTAT_BSSB_DEVICE		0x250002	/* BSSB readback device */
#define	DIO_ACCSTAT_CYCLE_DEVICE	0x250003	/* last beam cycle event device */
#define	DIO_ACCSTAT_DROPPPED_PERMIT_DEVICE	0x250004	/* dropped beam permit count device */
#define	DIO_ACCSTAT_8F_MONITOR_DEVICE	0x250005	/* event 8F monitor device */
#define	DIO_ACCSTAT_DIGITAL_IO_DEVICE	0x250006	/* digital I/O device */
#define	DIO_ACCSTAT_DEVICE_TOP		0x250006

/* MOOC back door devices */

#define	DIO_MOOCBD_DEVICE_BASE		0x260000
#define	DIO_MOOCBD_GENERIC_DEVICE	0x260001	/* generic MOOC back door device */
#define	DIO_MOOCBD_DEVICE_TOP		0x260001

/* Schottky interface devices */

#define	DIO_SCHOTTKY_DEVICE_BASE	0x270000
#define	DIO_SCHOTTKY_GENERIC_DEVICE	0x270001	/* generic Schottky device */
#define	DIO_SCHOTTKY_DEVICE_TOP		0x270001

/* bunch length monitor devices */

#define	DIO_BNCHLEN_DEVICE_BASE		0x280000
#define	DIO_BNCHLEN_GENERIC_DEVICE	0x280001	/* generic bunch length monitor device */
#define DIO_BNCHLEN_VERSION_DEVICE	0x280002	/* bunch length version device */
#define	DIO_BNCHLEN_DEVICE_TOP		0x280002

/* Superconducting Module Test Facility (SMTF) devices */

#define	DIO_SMTF_DEVICE_BASE		0x290000
#define	DIO_SMTF_GENERIC_DEVICE		0x290001	/* generic SMTF device */
#define	DIO_SMTF_CLOCK_GENERATOR_DEVICE	0x290002	/* SMTF clock generator device */
#define	DIO_SMTF_DEVICE_TOP		0x290002

/* External beam line devices */

#define	DIO_EBL_DEVICE_BASE		0x2A0000
#define	DIO_EBL_GENERIC_DEVICE		0x2A0001	/* generic external beam line device */
#define	DIO_EBL_ASCII_RS232_DEVICE	0x2A0002	/* ASCII RS232 device */
#define	DIO_EBL_DEVICE_TOP		0x2A0002

/* High Intensity Neutrino Source (HINS) devices */

#define	DIO_HINS_DEVICE_BASE		0x2B0000
#define	DIO_HINS_GENERIC_DEVICE		0x2B0001	/* generic HINS device */
#define	DIO_HINS_DEVICE_TOP		0x2B0001

/* Hotlink Rack Monitor (HRM) devices */

#define	DIO_HRM_DEVICE_BASE		0x2C0000
#define	DIO_HRM_GENERIC_DEVICE		0x2C0001	/* generic HRM device */
#define	DIO_HRM_ADC_DEVICE		0x2C0002	/* HRM ADC device */
#define	DIO_HRM_DIGITAL_IO_DEVICE	0x2C0003	/* HRM digital I/O device */
#define	DIO_HRM_TIMER_DEVICE		0x2C0004	/* HRM timer device */
#define	DIO_HRM_TIMER_EVENT_DEVICE	0x2C0005	/* HRM timer event device */
#define	DIO_HRM_TIMER_PULSE_WIDTH_DEVICE	0x2C0006	/* HRM timer pulse width device */
#define	DIO_HRM_DEVICE_TOP		0x2C0006

/* EPICS interface devices */

#define	DIO_EPICS2ACNET_DEVICE_BASE	0x2D0000
#define	DIO_EPICS2ACNET_GENERIC_DEVICE	0x2D0001	/* generic EPICS interface device */
#define	DIO_EPICS2ACNET_DEVICE_TOP	0x2D0001

/* New Muon Lab (NML) devices */

#define	DIO_NML_DEVICE_BASE		0x2E0000
#define	DIO_NML_GENERIC_DEVICE		0x2E0001	/* generic NML device */
#define	DIO_NML_KLYSTRON_INTERLOCK_DEVICE	0x2E0002	/* klystron interlock device */
#define	DIO_NML_DEVICE_TOP		0x2E0002

/* Klystron interlock devices */

#define	DIO_KI_DEVICE_BASE		0x2F0000
#define	DIO_KI_GENERIC_DEVICE		0x2F0001	/* generic klystron interlock device */
#define	DIO_KI_INTERLOCK_BOARD_DEVICE	0x2F0002	/* klystron interlock board device */
#define	DIO_KI_DEVICE_TOP		0x2F0002

/* MOOC devices */

#define	DIO_MOOC_DEVICE_BASE		0x300000
#define	DIO_MOOC_TEST_DEVICE		0x300000	/* test device */
#define	DIO_MOOC_TIME_UP_DEVICE		0x300001	/* time since boot */
#define	DIO_MOOC_ALARM_ENABLE_DEVICE	0x300002	/* alarm enable device */
#define	DIO_MOOC_VERSION_DEVICE		0x300003	/* version device */
#define	DIO_MOOC_GENERIC_DEVICE		0x300004	/* generic MOOC device */
#define	DIO_MOOC_SLOW_ADC_DEVICE	0x300005	/* slow ADC device */
#define	DIO_MOOC_DIGITAL_IO_DEVICE	0x300006	/* digital I/O device */
#define	DIO_MOOC_DAC_DEVICE		0x300007	/* DAC device */
#define	DIO_MOOC_V177_TIMER_DEVICE	0x300008	/* V177 timer device */
#define	DIO_MOOC_UCD_DEVICE		0x300009	/* Universal Clock Decoder device */
#define	DIO_MOOC_FAST_ADC_DEVICE	0x30000A	/* fast ADC device */
#define	DIO_MOOC_MDAT_DEVICE		0x30000B	/* MDAT device */
#define	DIO_MOOC_DSP_DEVICE		0x30000C	/* DSP device */
#define	DIO_MOOC_GPIB_DEVICE		0x30000D	/* generic GPIB device */
#define	DIO_MOOC_TEK3052_DEVICE		0x30000E	/* TEK 3052 */
#define	DIO_MOOC_MUX_DEVICE		0x30000F	/* RACAL 1250 mux */
#define	DIO_MOOC_RAD_MON_DEVICE		0x300010	/* radiation monitor device */
#define	DIO_MOOC_FSM_STATE_DEVICE	0x300011	/* FSM state device */
#define	DIO_MOOC_FSM_DEVICE		0x300012	/* FSM device */
#define	DIO_MOOC_POT_POS_DEVICE		0x300013	/* pot position device */
#define	DIO_MOOC_POT_RATE_DEVICE	0x300014	/* pot rate device */
#define	DIO_MOOC_POT_LIMIT_DEVICE	0x300015	/* pot limit device */
#define	DIO_MOOC_PM550_DEVICE		0x300016	/* TI/Siemens PM550 device */
#define	DIO_MOOC_PWD_DEVICE		0x300017	/* Event/Pulse/Width device */
#define	DIO_MOOC_SOFT_EVENT_DEVICE	0x300018	/* Software event device */
#define	DIO_MOOC_GPS_DEVICE		0x300019	/* Global Position Monitor device */
#define	DIO_MOOC_BAKER_DEVICE		0x30001A	/* PBAR Bake-out device */
#define	DIO_MOOC_SIXTRACK_DEVICE	0x30001B	/* Sixtrack I/O device */
#define	DIO_MOOC_V160_DEVICE		0x30001C	/* V160 waveform generator device */
#define	DIO_MOOC_ALLEN_BRADLEY_DEVICE	0x30001D	/* Allen-Bradley device */
#define	DIO_MOOC_TLG_DEVICE		0x30001E	/* Time-line generator phase 1 device */
#define	DIO_MOOC_TLG_SEQ_DEVICE		0x30001F	/* Time-line generator sequences device */
#define	DIO_MOOC_STEP_MOTOR_DEVICE	0x300020	/* Stepping motor device */
#define DIO_MOOC_PLC_DIRECT_DEVICE	0x300021	/* PLC Direct device */
#define DIO_MOOC_LUMINOSITY_DEVICE	0x300022	/* Luminosity device */
#define	DIO_MOOC_ALARM_DEVICE		0x300023	/* alarm device */
#define	DIO_MOOC_SLOW_PLOT_DEVICE	0x300024	/* slow continuous plot device */
#define	DIO_MOOC_SLOW_SNAP_PLOT_DEVICE	0x300025	/* slow snapshot plot device */
#define	DIO_MOOC_AN_DEVICE		0x300026	/* MOOC AN device */
#define	DIO_MOOC_DIO_DEVICE		0x300027	/* DIO device */
#define	DIO_MOOC_V177_DEVICE		0x300028	/* V177 timer device */
#define	DIO_MOOC_DEBUG_DEVICE		0x300029	/* debug (memory peeker) device */
#define	DIO_MOOC_IP_TIMER_DEVICE	0x30002A	/* high precision timer device */
#define	DIO_MOOC_AD8115_MUX_DEVICE	0x30002B	/* AD8115 mux device */
#define	DIO_MOOC_IP721_TIMER_DEVICE	0x30002C	/* IP721 timer device */
#define	DIO_MOOC_TIMING_INFO_DEVICE	0x30002D	/* generic timing information device */
#define	DIO_MOOC_OPTILOGIC_SERIAL_DEVICE	0x30002E	/* Optilogic serial crate interface */
#define	DIO_MOOC_METASYS_DEVICE		0x30002F	/* Metasys (Johnson Controls) device */
#define	DIO_MOOC_VERSION_NUMBERS_DEVICE	0x300030	/* version numbers (floats) device */
#define	DIO_MOOC_CLASS_DESCR_DEVICE	0x300031	/* class descriptions device */
#define	DIO_MOOC_OID_DESCR_DEVICE	0x300032	/* OID descriptions device */
#define	DIO_MOOC_FTP_TIMESTAMP_DEVICE	0x300033	/* FTP timestamp diagnostic device */
#define	DIO_MOOC_V473_RAMPCARD_DEVICE	0x300034	/* V473 rampcard device */
#define	DIO_MOOC_MEMORY_DEVICE		0x300035	/* soft memory channel device */
#define	DIO_MOOC_12X5MHZ_DIGITIZER_DEVICE	0x300036	/* 12 channel 5 MHz digitizer board device */
#define	DIO_MOOC_ASCII_RS232_DEVICE	0x300037	/* ASCII RS232 device */
#define	DIO_MOOC_RS485_DEVICE		0x300038	/* RS485 device */
#define	DIO_MOOC_PPG_TIMER_DEVICE	0x300039	/* PPG (pulse pattern generator) timer device */
#define	DIO_MOOC_RF_ANODE_PS_DEVICE	0x30003A	/* RF anode power supply device */
#define	DIO_MOOC_16X80MHZ_DIGITIZER_DEVICE	0x30003B	/* AD Instrumenation 16 channel 80 MHz digitizer board device */
#define	DIO_MOOC_ETHERNET_PS_CONTROLLER_DEVICE	0x30003C	/* Ethernet power supply controller device */
#define	DIO_MOOC_INSTR_HV_PS_DEVICE	0x30003D	/* instrumentation HV power supply (BLM) device */
#define	DIO_MOOC_V474_QUAD_PS_DEVICE	0x30003E	/* V474 quad power supply controller device */
#define	DIO_MOOC_IP220_DAC_DEVICE	0x30003F	/* Acromag IP220 DAC device */
#define	DIO_MOOC_VME_SCALER_DEVICE	0x300040	/* VME scaler device */
#define	DIO_MOOC_DEVICE_TOP		0x300040

/* ACSys/FEF devices */

#define	DIO_ACSYS_FEF_DEVICE_BASE	0x310000
#define	DIO_ACSYS_FEF_TEST_DEVICE	0x310000	/* test device */
#define	DIO_ACSYS_FEF_TIME_UP_DEVICE	0x310001	/* time since boot */
#define	DIO_ACSYS_FEF_ALARM_ENABLE_DEVICE	0x310002	/* alarm enable and download device */
#define	DIO_ACSYS_FEF_VERSION_DEVICE	0x310003	/* version device */
#define	DIO_ACSYS_FEF_DEBUG_DEVICE	0x310004	/* debug (memory peeker) device */
#define	DIO_ACSYS_FEF_VERSION_NUMBERS_DEVICE	0x310005	/* version numbers (floats) device */
#define	DIO_ACSYS_FEF_CLASS_DESCR_DEVICE	0x310006	/* class descriptions device */
#define	DIO_ACSYS_FEF_OID_DESCR_DEVICE	0x310007	/* OID descriptions device */
#define	DIO_ACSYS_FEF_FTP_TIMESTAMP_DEVICE	0x310008	/* FTP timestamp diagnostic device */
#define	DIO_ACSYS_FEF_ALARM_GROUP_CONS_DEVICE	0x310009	/* alarm group consolidator device */
#define	DIO_ACSYS_FEF_STATS_DEVICE	0x31000A	/* node statistics device */
#define	DIO_ACSYS_FEF_EPICS2ACNET_DEVICE	0x31000B	/* EPICS to ACNET device */
#define DIO_ACSYS_FEF_GUA_RS_DEVICE	0x31000C	/* guaranteed readable/settable device */
#define DIO_ACSYS_FEF_SYSTEM_INFO_DEVICE	0x31000D	/* system information device */
#define DIO_ACSYS_FEF_LOCAL_APPS_DEVICE	0x31000E	/* local applications device */
#define DIO_ACSYS_FEF_SYSTEM_LOAD_DEVICE	0x31000F	/* system load/test device */
#define DIO_ACSYS_FEF_VME_MEMORY_DEVICE	0x310010	/* VME memory generic device */
#define DIO_ACSYS_FEF_ARRAY_TEST_DEVICE	0x310011	/* array test device */
#define DIO_ACSYS_FEF_O2_MONITOR_DEVICE	0x310012	/* PLC oxygen monitor device */
#define DIO_ACSYS_FEF_T560_TIME_DELAY_DEVICE	0x310013	/* T560 time delay generator device */
#define DIO_ACSYS_FEF_PICOMOTOR_DEVICE	0x310014	/* picomotor device */
#define DIO_ACSYS_FEF_CAMERA_DEVICE	0x310015	/* camera device */
#define DIO_ACSYS_FEF_PEP_BRIDGE_DEVICE	0x310016	/* PEP (Packet Exchange Protocol) bridge device */
#define	DIO_ACSYS_FEF_CLASS_ATTRS_DEVICE	0x310017	/* class attributes device */
#define	DIO_ACSYS_FEF_CLASS_NUM_READS_DEVICE	0x310018	/* class number of readings device */
#define	DIO_ACSYS_FEF_CLASS_BYTES_READ_DEVICE	0x310019	/* class number of bytes read device */
#define	DIO_ACSYS_FEF_MODBUS_PLC_DEVICE	0x31001A	/* Modbus PLC device */
#define	DIO_ACSYS_FEF_ACNET2EPICS_DEVICE	0x31001B	/* ACNET to EPICS device */
#define	DIO_ACSYS_FEF_PLC_HEARTBEAT_DEVICE	0x31001C	/* PLC heartbeat device */
#define	DIO_ACSYS_FEF_TIME_OF_DAY_DEVICE	0x31001D	/* time of day device */
#define	DIO_ACSYS_FEF_CLOCK_STATUS_DEVICE	0x31001E	/* clock status device */
#define	DIO_ACSYS_FEF_REMOTE_POWER_CONTROL_DEVICE	0x31001F	/* remote power control (Bootbar) device */
#define	DIO_ACSYS_FEF_MULTIWIRE_DEVICE	0x310020	/* multiwire device */
#define	DIO_ACSYS_FEF_LINAC_AUTOPHASE_DEVICE	0x310021	/* Linac autophase control device */
#define	DIO_ACSYS_FEF_BEAM_TRAIL_DATA_DEVICE	0x310022	/* beam trail data device */
#define	DIO_ACSYS_FEF_BEAM_TRAIL_DIAG_DEVICE	0x310023	/* beam trail diagnostic device */
#define	DIO_ACSYS_FEF_UDP_CEC_PROTOCOL_DEVICE	0x310024	/* UDP CEC protocol device */
#define	DIO_ACSYS_FEF_LECROY_XSTREAM_DEVICE	0x310025	/* LeCroy X-Stream protocol device */
#define	DIO_ACSYS_FEF_ACQIRIS_DIGITIZER_DEVICE	0x310026	/* Acqiris digitizer device */
#define	DIO_ACSYS_FEF_CHOPPER_DEVICE	0x310027	/* LEBT chopper device (CEC protocol) */
#define	DIO_ACSYS_FEF_EXTR_ELECTRODE_MOD_DEVICE	0x310028	/* LEBT extraction electrode modulator device (CEC protocol) */
#define	DIO_ACSYS_FEF_BSSB_DEVICE	0x310029	/* BSSB device (CEC protocol) */
#define	DIO_ACSYS_FEF_ABORT_CONCENTRATOR_DEVICE	0x31002A	/* Abort concentrator device (CEC protocol) */
#define	DIO_ACSYS_FEF_MODBUS_RKSSA_DEVICE	0x31002B	/* Modbus R&K solid state amplifier device */
#define	DIO_ACSYS_FEF_GAMMA_ION_PUMP_DEVICE	0x31002C	/* Gamma Vacuum ion pump device */
#define	DIO_ACSYS_FEF_RESONANCE_CONTROL_DEVICE	0x31002D	/* resonance control interface device */
#define	DIO_ACSYS_FEF_CMTS_BIRA_PS_DEVICE	0x31002E	/* CMTS magnet power supply (Bira) device */
#define	DIO_ACSYS_FEF_LLRF_DEVICE	0x31002F		/* LLRF device */
#define	DIO_ACSYS_FEF_LLRF_WAVEFORM_DEVICE	0x310030	/* LLRF waveform device */
#define	DIO_ACSYS_FEF_VACUUM_DEGAS_DEVICE	0x310031	/* vacuum degas device */
#define	DIO_ACSYS_FEF_PIVAC_VACUUM_DEVICE	0x310032	/* Raspberry Pi vacuum device */
#define	DIO_ACSYS_FEF_DEVICE_TOP	0x310032

/* NOvA devices */

#define	DIO_NOVA_DEVICE_BASE		0x320000
#define	DIO_NOVA_GENERIC_DEVICE		0x320001	/* generic NOvA device */
#define	DIO_NOVA_DEVICE_TOP		0x320001

/* Machine Protection System devices */

#define	DIO_MPS_DEVICE_BASE		0x330000
#define	DIO_MPS_GENERIC_DEVICE		0x330001	/* generic machine protection system device */
#define	DIO_MPS_BLM_DEVICE		0x330002	/* MPS BLM device */
#define	DIO_MPS_DEVICE_TOP		0x330002

/* -------------------------- */
/* ADD NEXT device class here */
/* -------------------------- */

/* QXR devices */

#define	DIO_QXR_DEVICE_BASE		0x400000
#define	DIO_QXR_TEST_DEVICE		0x400000	/* test device */
#define	DIO_QXR_TIME_UP_DEVICE		0x400001	/* time since boot */
#define	DIO_QXR_ALARM_ENABLE_DEVICE	0x400002	/* alarm enable device */
#define	DIO_QXR_VERSION_DEVICE		0x400003	/* version device */
#define	DIO_QXR_FSM_STATE_DEVICE	0x400004	/* FSM state device */
#define	DIO_QXR_FSM_DEVICE		0x400005	/* FSM device */
#define	DIO_QXR_SPILL_PARAMS_DEVICE	0X400006	/* Spill dependent parameters */
#define	DIO_QXR_COMMON_PARAMS_DEVICE	0X400007	/* Parameters common to QXR and Bucker */
#define	DIO_QXR_MISC_PARAMS_DEVICE	0X400008	/* Miscellaneous parameters */
#define	DIO_QXR_PULSE_PARAMS_DEVICE	0X400009	/* Pulse parameters */
#define	DIO_QXR_DIGITAL_STATUS_DEVICE	0X40000A	/* Digital status device */
#define	DIO_QXR_CIRC_BUFFER_DEVICE	0X40000B	/* Circular buffers */
#define	DIO_QXR_PULSE_WAVEFORM_DEVICE	0X40000C	/* Pulse waveform */
#define	DIO_QXR_PS_DEVICE		0X40000D	/* Power supply device */
#define	DIO_QXR_TIMESTAMP_DEVICE	0X40000E	/* Timestamp device */
#define	DIO_QXR_GENERIC_DEVICE		0X40000F	/* generic QXR device */
#define	DIO_QXR_BUCKER_PS_DEVICE	0X400010	/* bucker power supply device */
#define	DIO_QXR_DEVICE_TOP		0x400010

/* CHL devices */

#define	DIO_CHL_DEVICE_BASE		0x500000
#define	DIO_CHL_TEST_DEVICE		0x500000	/* test device */
#define	DIO_CHL_TIME_UP_DEVICE		0x500001	/* time since boot */
#define	DIO_CHL_ALARM_ENABLE_DEVICE	0x500002	/* alarm enable device */
#define	DIO_CHL_VERSION_DEVICE		0x500003	/* version device */
#define	DIO_CHL_PM550_DEVICE		0x500004	/* TI/Siemens PM550 device */
#define	DIO_CHL_PM550_STATUS_DEVICE	0X500005	/* PM550 status device */
#define	DIO_CHL_CAMP_TI545_DEVICE	0X500006	/* CAMP TI545 device */
#define	DIO_CHL_GENERIC_DEVICE		0X500007	/* generic CHL device */
#define	DIO_CHL_DEVICE_TOP		0x500007

/* GFSDA devices */

#define	DIO_GFSDA_DEVICE_BASE		0x600000
#define	DIO_GFSDA_TEST_DEVICE		0x600000	/* test device */
#define	DIO_GFSDA_TIME_UP_DEVICE	0x600001	/* time since boot */
#define	DIO_GFSDA_ALARM_ENABLE_DEVICE	0x600002	/* alarm enable device */
#define	DIO_GFSDA_VERSION_DEVICE	0x600003	/* version device */
#define	DIO_GFSDA_STATE_DEVICE		0x600004	/* state structure */
#define	DIO_GFSDA_FSM_DEVICE		0x600005	/* FSM structure */
#define	DIO_GFSDA_TOD_BUFFER_DEVICE	0x600006	/* Time Of Day buffer */
#define	DIO_GFSDA_EVENT_BUFFER_DEVICE	0x600007	/* event buffer */
#define	DIO_GFSDA_PER_BUFFER_DEVICE	0x600008	/* periodic buffer */
#define	DIO_GFSDA_MANUAL_CONTROL_DEVICE	0x600009	/* manual control device */
#define	DIO_GFSDA_ADC_DEVICE		0x60000A	/* ADC */
#define	DIO_GFSDA_FFT_EVENT_BUF_DEVICE	0x60000B	/* FFT event buffer */
#define	DIO_GFSDA_DEVICE_TOP		0x60000B

/* OOC devices */

#define	DIO_OOC_DEVICE_BASE		0x700000
#define	DIO_OOC_TYPE_DEVICE		0x700000	/* generic OOC device */
#define	DIO_OOC_TIME_UP_DEVICE		0x700001	/* time since boot */
#define	DIO_OOC_DEVICE_TOP		0x700001

/* ACCUMULATOR RF devices */

#define	DIO_ACCUM_RF_DEVICE_BASE	0x800000
#define	DIO_ACCUM_RF_TEST_DEVICE	0x800000	/* test device */
#define	DIO_ACCUM_RF_TIME_UP_DEVICE	0x800001	/* time since boot */
#define	DIO_ACCUM_RF_ALARM_ENBL_DEVICE	0x800002	/* alarm enable device */
#define	DIO_ACCUM_RF_VERSION_DEVICE	0x800003	/* version device */
#define	DIO_ACCUM_RF_ALARM_CLASS_DEVICE	0x800004	/* alarm class device */
#define	DIO_ACCUM_RF_SLOW_CONT_DEVICE	0x800005	/* slow continuous plot device */
#define	DIO_ACCUM_RF_SLOW_SNAP_DEVICE	0x800006	/* slow snapshot plot device */
#define	DIO_ACCUM_RF_UCD_DEVICE		0x800007	/* Universal Clock Decoder device */
#define	DIO_ACCUM_RF_CLASS_DEVICE	0x800008	/* Accumulator RF class device */
#define	DIO_ACCUM_RF_DEVICE_TOP		0x800008

/* SWIC devices */

#define	DIO_SWIC_DEVICE_BASE		0x900000
#define	DIO_SWIC_TEST_DEVICE		0x900000	/* test device */
#define	DIO_SWIC_TIME_UP_DEVICE		0x900001	/* time since boot */
#define	DIO_SWIC_NODE_INFO_DEVICE	0x900002	/* node information */
#define	DIO_SWIC_VERSION_DEVICE		0x900003	/* version device */
#define	DIO_SWIC_EVENTS_DEVICE		0x900004	/* events */
#define	DIO_SWIC_DIG_IO_DEVICE		0x900005	/* digital I/O */
#define	DIO_SWIC_MEAS_DEVICE		0x900006	/* measurements */
#define	DIO_SWIC_SEQUENCER_DEVICE	0x900007	/* sequencer */
#define	DIO_SWIC_SIM_BUF_DEVICE		0x900008	/* simple buffer */
#define	DIO_SWIC_CIR_BUF_DEVICE		0x900009	/* circular buffer */
#define	DIO_SWIC_COUNT_DEVICE		0x90000A	/* count of swics */
#define	DIO_SWIC_ALRM_DOWNLOAD_DEVICE	0x90000B	/* alarm download */
#define	DIO_SWIC_TIME_OF_DAY_DEVICE	0x90000C	/* time of day stamp */
#define	DIO_SWIC_186_REBOOT_DEVICE	0x90000D	/* individual 186 reboot */
#define	DIO_SWIC_POSITION_DEVICE	0x90000E	/* position */
#define DIO_SWIC_GUA_RS_DEVICE		0x90000F	/* Guar Read/Set Test */
#define DIO_SWIC_VIOB_UPTIME_DEVICE	0x900010	/* VIOB uptime */
#define DIO_SWIC_VIOB_VERS_DEVICE	0x900011	/* VIOB versions */
#define DIO_SWIC_CALC_DEVICE		0x900012	/* calculational device */
#define DIO_SWIC_BLK_XFER_BUFFER_DEVICE	0x900013	/* block transfer buffer device */
#define DIO_SWIC_MI_RESET_BUFFER_DEVICE	0x900014	/* Main Injector reset event buffer device */
#define DIO_SWIC_LVDT_DEVICE		0x900015	/* LVDT reading from motor controller node device */
#define	DIO_SWIC_MULTIBUFFER_DEVICE	0x900016	/* multi (buffered) display buffer */
#define	DIO_SWIC_EMITTANCE_DEVICE	0x900017	/* calculated emittance device */
#define	DIO_SWIC_DEVICE_TOP		0x900017

/* High Level RF devices */

#define	DIO_HLRF_DEVICE_BASE		0xA00000
#define	DIO_HLRF_GENERIC_DEVICE		0xA00001	/* generic high level RF device */
#define	DIO_HLRF_TIMER_DEVICE		0xA00002	/* HLRF timer device */
#define	DIO_HLRF_TIMER_EVENT_DEVICE	0xA00003	/* HLRF timer event device */
#define	DIO_HLRF_DEVICE_TOP		0xA00003

/* Basic Micro Learning Box devices */

#define	DIO_BULB_DEVICE_BASE		0xB00000
#define	DIO_BULB_TEST_DEVICE		0xB00000	/* test device */
#define	DIO_BULB_FLOAT_DEVICE		0xB00001	/* Float class device */
#define	DIO_BULB_LONG_INTEGER_DEVICE	0xB00002	/* Long Int device */
#define	DIO_BULB_DEVICE_TOP		0xB00002

/* Vacuum devices */

#define	DIO_VAC_DEVICE_BASE		0xC00000
#define	DIO_VAC_PIRANI_DEVICE		0xC00000	/* Pirani gauge */
#define	DIO_VAC_COLD_CATHODE_DEVICE	0xC00001	/* cold cathode */
#define	DIO_VAC_ION_PUMP_DEVICE		0xC00002	/* ion pump device */
#define	DIO_VAC_ROUGHING_STA_DEVICE	0xC00003	/* roughing station */
#define	DIO_VAC_MANIFOLD_VLV_DEVICE	0xC00004	/* manifold valve */
#define	DIO_VAC_SECTOR_VALVE_DEVICE	0xC00005	/* sector valve */
#define	DIO_VAC_SOFTWARE_VERSION	0xC00006	/* software version */
#define	DIO_VAC_REBOOT			0xC00007	/* reboot */
#define DIO_VAC_PB_ROUGHING_PUMP	0xC00008	/* Pbar roughing pump */
#define DIO_VAC_PB_SUBPUMP		0xC00009	/* sublimation pump */
#define DIO_VAC_SUBLIMATION_PUMP	0xC00009	/* sublimation pump */
#define DIO_VAC_PB_SUBPUMP_LOG		0xC0000A	/* sublimation pump log */
#define DIO_VAC_SUBPUMP_LOG		0xC0000A	/* sublimation pump log */
#define DIO_VAC_PB_LOG_TIMESTAMP	0xC0000B	/* sublimation pump log timestamp */
#define DIO_VAC_SUBPUMP_LOG_TIMESTAMP	0xC0000B	/* sublimation pump log timestamp */
#define DIO_VAC_PB_CURR_TIMESTAMP	0xC0000C	/* sublimation pump long current timestamp */
#define DIO_VAC_SUBPUMP_CURR_TIMESTAMP	0xC0000C	/* sublimation pump long current timestamp */
#define DIO_VAC_GUA_RS_DEVICE		0xC0000D	/* guaranteed readable/settable device */
#define	DIO_VAC_TIME_UP_DEVICE		0xC0000E	/* time since boot */
#define	DIO_VAC_ALARM_ENABLE_DEVICE	0xC0000F	/* alarm enable device */
#define	DIO_VAC_TC_DEVICE		0xC00010	/* thermocouple device */
#define	DIO_VAC_HEATER_DEVICE		0xC00011	/* heater device */
#define	DIO_VAC_HEATER_PARAMS_DEVICE	0xC00012	/* heater parameters device */
#define	DIO_VAC_SLAVE_UPTIME_DEVICE	0xC00013	/* slave node uptime device */
#define	DIO_VAC_SLAVE_VERSION_DEVICE	0xC00014	/* slave node version device */
#define	DIO_VAC_ION_CLEARING_DEVICE	0xC00015	/* ion clearing device */
#define	DIO_VAC_SLOT_STATUS_DEVICE	0xC00016	/* slot status device */
#define	DIO_VAC_GENERIC_DEVICE		0xC00017	/* generic vacuum device */
#define	DIO_VAC_DEVICE_TOP		0xC00017

/* Epicure (Beamline) devices */

#define DIO_EPIC_DEVICE_BASE		0xD00000
#define DIO_EPIC_C1010_DEVICE		0xD00000	/* C1010 MADC controller */
#define DIO_EPIC_C017_DEVICE		0xD00001	/* C017 24bit output */
#define DIO_EPIC_C007_DEVICE		0xD00002	/* C007 24bit input */
#define DIO_EPIC_C014_DEVICE		0xD00003	/* C014 12bit output */
#define DIO_EPIC_C1011_DEVICE		0xD00004	/* C1011 MADC/Ping */
#define DIO_EPIC_C115X_DEVICE		0xD00005	/* C115X PS Ramp Gen */
#define DIO_EPIC_C052_DEVICE		0xD00006	/* C052 Quad PS */
#define DIO_EPIC_C151_DEVICE		0xD00007	/* C151 PS controller */
#define DIO_EPIC_C116_DEVICE		0xD00008	/* C116 RAD safety */
#define DIO_EPIC_C154_DEVICE		0xD00009	/* C154 SIM controller */
#define DIO_EPIC_C159_DEVICE		0xD0000A	/* C159 12bit PS */
#define DIO_EPIC_C015_DEVICE		0xD0000B	/* C015 12bit output */
#define DIO_EPIC_C1170_DEVICE		0xD0000C	/* C1170 vacuum */
#define DIO_EPIC_C1003_DEVICE		0xD0000D	/* C1003 teslameter */
#define DIO_EPIC_INET_LMI_DEVICE	0xD0000E	/* Inet loss mon integrator */
#define DIO_EPIC_INET_BPM_DEVICE	0xD0000F	/* Inet BPM */
#define DIO_EPIC_INET_BIM_DEVICE	0xD00010	/* Inet beam intens mon */
#define DIO_EPIC_INTERLOCK_DEVICE	0xD00011	/* beamline interlocks */
#define DIO_EPIC_C1091D_DEVICE		0xD00012	/* C1091 clock delays */
#define DIO_EPIC_C1091E_DEVICE		0xD00013	/* C1091 clock events */
#define DIO_EPIC_C1045_DEVICE		0xD00014	/* C1045 stepper motor */
#define DIO_EPIC_C1032_DEVICE		0xD00015	/* C1032 swic controller */
#define DIO_EPIC_DIAG_DEVICE		0xD00016	/* diagnostics */
#define DIO_EPIC_C211_DEVICE		0xD00017	/* C211 output module */
#define	DIO_EPIC_BBM_SCALER_SUM_DEVICE	0xD00018	/* BBM scaler sum device */
#define	DIO_EPIC_LECROY_2249_DEVICE	0xD00019	/* LeCroy 2249 charge integrating A/D device */
#define DIO_EPIC_DEVICE_TOP		0xD00019

/* MOOC CAMAC devices */

#define DIO_MOOC_CAMAC_DEVICE_BASE	0xE00000
#define	DIO_CAMAC_TEST_DEVICE		0xE00000	/* test device */
#define	DIO_CAMAC_UPTIME_DEVICE		0xE00001	/* uptime device */
#define	DIO_CAMAC_VERSION_DEVICE	0xE00002	/* MOOC version device */
#define	DIO_CAMAC_SLD_STATS_DEVICE	0xE00003	/* SLD statistics */
#define DIO_MOOC_CAMAC_DEVICE_TOP	0xE00003

/* Do not add new classes here!!  Search for "ADD NEXT" */

/* DBMANAGER devices reserved for special management in the database */

#define	DIO_DBMANAGER_DEVICE_BASE	0x7FFF0000
#define	DIO_DBMANAGER_NULL_SSDN_DEVICE	0x7FFF0001	/* NULL SSDN defined for device */
#define	DIO_DBMANAGER_TEST_DEVICE	0x7FFF0002	/* Test devices */
#define	DIO_DBMANAGER_DEVICE_TOP	0x7FFF0002

#endif