#******************************************************************************
# DO.rbm
#
# (c) Copyright 2011
# National Instruments Corporation.
# All rights reserved.
# License: NATIONAL INSTRUMENTS SOFTWARE LICENSE AGREEMENT
# Refer to "MHDDK License Agreement.pdf" in the root of this distribution.
#
# Description:
# rbm file for DO.
# This file is autogenerated. Do not modify it directly.
#
# All lines starting with # or C are comments
# All lines starting with T define a register Type
# All lines starting with TR define register name, type, offset
# All lines starting with F are Fields within the preceding register,
# Its name, size, attribute (Strobe|.) and type are defined.
#
#******************************************************************************
# Declaring RBM as a containable chip object.
# This means all instances must specify an offset for it.
--containable
# Specify the location of the contained OutTimer object
# contained within the AO engine.
--contains DO_Timer 0x34 OutTimer.rbm "tOutTimer.h"
--generate-include "tDOValues.h"
#===============================================================================
# Register Group Enumerated_Types
#===============================================================================
#-------------------------------------------------------------------------------
# Enumerated type DO_DataWidth_t
#-------------------------------------------------------------------------------
E DO_DataWidth_t
V DO_OneByte 0
V DO_TwoBytes 1
V DO_FourBytes 2
#-------------------------------------------------------------------------------
# Enumerated type DO_Data_Lane_t
#-------------------------------------------------------------------------------
E DO_Data_Lane_t
V DO_DataLane0 0
V DO_DataLane1 1
V DO_DataLane2 2
V DO_DataLane3 3
#-------------------------------------------------------------------------------
# Enumerated type DO_External_Gate_Select_t
#-------------------------------------------------------------------------------
E DO_External_Gate_Select_t
V Gate_Disabled 0
V Gate_PFI0 1
V Gate_PFI1 2
V Gate_PFI2 3
V Gate_PFI3 4
V Gate_PFI4 5
V Gate_PFI5 6
V Gate_PFI6 7
V Gate_PFI7 8
V Gate_PFI8 9
V Gate_PFI9 10
V Gate_RTSI0 11
V Gate_RTSI1 12
V Gate_RTSI2 13
V Gate_RTSI3 14
V Gate_RTSI4 15
V Gate_RTSI5 16
V Gate_RTSI6 17
V Gate_PXIe_DStarA 18
V Gate_PXIe_DStarB 19
V Gate_Star_Trigger 20
V Gate_PFI10 21
V Gate_PFI11 22
V Gate_PFI12 23
V Gate_PFI13 24
V Gate_PFI14 25
V Gate_PFI15 26
V Gate_RTSI7 27
V Gate_Analog_Trigger 30
V Gate_Low 31
V Gate_G0_Out 32
V Gate_G1_Out 33
V Gate_G2_Out 34
V Gate_G3_Out 35
V Gate_G0_Gate 36
V Gate_G1_Gate 37
V Gate_G2_Gate 38
V Gate_G3_Gate 39
V Gate_AI_Gate 40
V Gate_DI_Gate 41
V Gate_AO_Gate 44
V Gate_IntTriggerA0 53
V Gate_IntTriggerA1 54
V Gate_IntTriggerA2 55
V Gate_IntTriggerA3 56
V Gate_IntTriggerA4 57
V Gate_IntTriggerA5 58
V Gate_IntTriggerA6 59
V Gate_IntTriggerA7 60
#-------------------------------------------------------------------------------
# Enumerated type DO_LineDir_t
#-------------------------------------------------------------------------------
E DO_LineDir_t
V Input 0
V Output 1
#-------------------------------------------------------------------------------
# Enumerated type DO_Polarity_t
#-------------------------------------------------------------------------------
E DO_Polarity_t
V Rising_Edge 0
V Falling_Edge 1
#-------------------------------------------------------------------------------
# Enumerated type DO_START1_Select_t
#-------------------------------------------------------------------------------
E DO_START1_Select_t
V Start1_Pulse 0
V Start1_PFI0 1
V Start1_PFI1 2
V Start1_PFI2 3
V Start1_PFI3 4
V Start1_PFI4 5
V Start1_PFI5 6
V Start1_PFI6 7
V Start1_PFI7 8
V Start1_PFI8 9
V Start1_PFI9 10
V Start1_RTSI0 11
V Start1_RTSI1 12
V Start1_RTSI2 13
V Start1_RTSI3 14
V Start1_RTSI4 15
V Start1_RTSI5 16
V Start1_RTSI6 17
V Start1_AI_Start2 18
V Start1_AI_Start1 19
V Start1_Star_Trigger 20
V Start1_PFI10 21
V Start1_PFI11 22
V Start1_PFI12 23
V Start1_PFI13 24
V Start1_PFI14 25
V Start1_PFI15 26
V Start1_RTSI7 27
V Start1_PXIe_DStarA 28
V Start1_PXIe_DStarB 29
V Start1_Analog_Trigger 30
V Start1_Low 31
V Start1_G0_Out 32
V Start1_G1_Out 33
V Start1_G2_Out 34
V Start1_G3_Out 35
V Start1_DIO_ChgDetect 36
V Start1_DI_Start1 37
V Start1_DI_Start2 38
V Start1_AO_Start1 43
V Start1_IntTriggerA0 53
V Start1_IntTriggerA1 54
V Start1_IntTriggerA2 55
V Start1_IntTriggerA3 56
V Start1_IntTriggerA4 57
V Start1_IntTriggerA5 58
V Start1_IntTriggerA6 59
V Start1_IntTriggerA7 60
V Start1_FifoCondition 61
#-------------------------------------------------------------------------------
# Enumerated type DO_TimedMask_t
#-------------------------------------------------------------------------------
E DO_TimedMask_t
V StaticDIO 0
V CDOEngine 1
#-------------------------------------------------------------------------------
# Enumerated type DO_UPDATE_Source_Select_t
#-------------------------------------------------------------------------------
E DO_UPDATE_Source_Select_t
V Update_UI_TC 0
V Update_PFI0 1
V Update_PFI1 2
V Update_PFI2 3
V Update_PFI3 4
V Update_PFI4 5
V Update_PFI5 6
V Update_PFI6 7
V Update_PFI7 8
V Update_PFI8 9
V Update_PFI9 10
V Update_RTSI0 11
V Update_RTSI1 12
V Update_RTSI2 13
V Update_RTSI3 14
V Update_RTSI4 15
V Update_RTSI5 16
V Update_RTSI6 17
V Update_G0_Out 18
V Update_G1_Out 19
V Update_Star_Trigger 20
V Update_PFI10 21
V Update_PFI11 22
V Update_PFI12 23
V Update_PFI13 24
V Update_PFI14 25
V Update_PFI15 26
V Update_RTSI7 27
V Update_G2_Out 28
V Update_G3_Out 29
V Update_Analog_Trigger 30
V Update_Low 31
V Update_PXIe_DStarA 32
V Update_PXIe_DStarB 33
V Update_DIO_ChgDetect 34
V Update_G0_SampleClk 35
V Update_G1_SampleClk 36
V Update_G2_SampleClk 37
V Update_G3_SampleClk 38
V Update_AI_Convert 39
V Update_AI_Start 40
V Update_DI_Convert 41
V Update_AO_Update 44
V Update_IntTriggerA0 53
V Update_IntTriggerA1 54
V Update_IntTriggerA2 55
V Update_IntTriggerA3 56
V Update_IntTriggerA4 57
V Update_IntTriggerA5 58
V Update_IntTriggerA6 59
V Update_IntTriggerA7 60
V Update_FreqOut 61
#-------------------------------------------------------------------------------
# Enumerated type DO_WDT_Mode_t
#-------------------------------------------------------------------------------
E DO_WDT_Mode_t
V WDT_Disabled 0
V WDT_Freeze 1
V WDT_Tristate 2
V WDT_SafeValue 3
#===============================================================================
# Register Group DO
#===============================================================================
#-------------------------------------------------------------------------------
# DO_FIFO_St_Register Register Definition
R DO_FIFO_St_Register 32 0x0 Readable
F DO_FIFO_FullCount 16
@ This bitfield represents the number of samples that remain in
@ the DO data FIFO
F Reserved 16
#-------------------------------------------------------------------------------
# SCXI_DIO_Enable_Register Register Definition
R SCXI_DIO_Enable_Register 8 0x0 Writable
F SCXI_DIO_MOSI_Enable 1
@ Set this bit to enable the SCXI_MOSI signal to be output onto
@ DIO0.
F SCXI_DIO_D_A_Enable 1
@ Set this bit to enable the SCXI_D_A signal to be output onto
@ DIO1.
F SCXI_DIO_Intr_Enable 1
@ Set this bit to enable the SCXI_Intr signal to be output onto
@ DIO2.
F Reserved 5
#-------------------------------------------------------------------------------
# Static_Digital_Output_Register Register Definition
R Static_Digital_Output_Register 32 0x4 Writable --no-hardware-reset true
F DO_StaticValue 32
@ Static digital output data. The data written in this register
@ will be output to the digital lines when:
The corresponding
@ line is set as an output (kDIODirection_Pini = 1)
@ The DO_Mask_Enable Register is set for static output
@ (CDO_Mask(i) = 0) The SCXI_DIO_Enable_Register is
@ set to output static DIO on lines 2:0 The Watchdog
@ Timer functionality isn't enabled or its timer hasn't triggered
@
#-------------------------------------------------------------------------------
# DIO_Direction_Register Register Definition
R DIO_Direction_Register 32 0x8 Writable --no-hardware-reset true
F kDIODirection_Pin0 1 . nDO::tDO_LineDir_t
F kDIODirection_Pin1 1 . nDO::tDO_LineDir_t
F kDIODirection_Pin2 1 . nDO::tDO_LineDir_t
F kDIODirection_Pin3 1 . nDO::tDO_LineDir_t
F kDIODirection_Pin4 1 . nDO::tDO_LineDir_t
F kDIODirection_Pin5 1 . nDO::tDO_LineDir_t
F kDIODirection_Pin6 1 . nDO::tDO_LineDir_t
F kDIODirection_Pin7 1 . nDO::tDO_LineDir_t
F kDIODirection_Pin8 1 . nDO::tDO_LineDir_t
F kDIODirection_Pin9 1 . nDO::tDO_LineDir_t
F kDIODirection_Pin10 1 . nDO::tDO_LineDir_t
F kDIODirection_Pin11 1 . nDO::tDO_LineDir_t
F kDIODirection_Pin12 1 . nDO::tDO_LineDir_t
F kDIODirection_Pin13 1 . nDO::tDO_LineDir_t
F kDIODirection_Pin14 1 . nDO::tDO_LineDir_t
F kDIODirection_Pin15 1 . nDO::tDO_LineDir_t
F kDIODirection_Pin16 1 . nDO::tDO_LineDir_t
F kDIODirection_Pin17 1 . nDO::tDO_LineDir_t
F kDIODirection_Pin18 1 . nDO::tDO_LineDir_t
F kDIODirection_Pin19 1 . nDO::tDO_LineDir_t
F kDIODirection_Pin20 1 . nDO::tDO_LineDir_t
F kDIODirection_Pin21 1 . nDO::tDO_LineDir_t
F kDIODirection_Pin22 1 . nDO::tDO_LineDir_t
F kDIODirection_Pin23 1 . nDO::tDO_LineDir_t
F kDIODirection_Pin24 1 . nDO::tDO_LineDir_t
F kDIODirection_Pin25 1 . nDO::tDO_LineDir_t
F kDIODirection_Pin26 1 . nDO::tDO_LineDir_t
F kDIODirection_Pin27 1 . nDO::tDO_LineDir_t
F kDIODirection_Pin28 1 . nDO::tDO_LineDir_t
F kDIODirection_Pin29 1 . nDO::tDO_LineDir_t
F kDIODirection_Pin30 1 . nDO::tDO_LineDir_t
F kDIODirection_Pin31 1 . nDO::tDO_LineDir_t
#-------------------------------------------------------------------------------
# CDO_FIFO_Data_Register Register Definition
R CDO_FIFO_Data_Register 32 0xc Writable --no-soft-copy true
F CDO_FIFO_Data 32
@ This register is used to load data into the CDO FIFO.
#-------------------------------------------------------------------------------
# DO_Mask_Enable_Register Register Definition
R DO_Mask_Enable_Register 32 0x10 Writable
F CDO_Mask 32 . nDO::tDO_TimedMask_t
@ Sets on a per bit basis whether the data routed to the output
@ pins on P0 are from the CDO engine, or from static DO
#-------------------------------------------------------------------------------
# DO_Mode_Register Register Definition
R DO_Mode_Register 32 0x14 Writable --initial-value 0x80
F Reserved 1
F Reserved 1
F Reserved 10
F DO_Data_Lane 2 . nDO::tDO_Data_Lane_t
@ Use to determine which byte, word lanes to use for output data.
@ When the DO_DataWidth bitfield is 16 bits If 0, then
@ CDIO_15_0. If 1, then CDIO_31_16.
@ When the DO_DataWidth bitfield is 8 bits If 0, then
@ CDIO_7_0. If 1, then CDIO_15_8. If
@ 2, then CDIO_23_16. If 3, then CDIO_31_24.
@
F DO_DataWidth 2 . nDO::tDO_DataWidth_t
@ Use to determine the width of the data removed from the FIFO.
@ When the FIFO width is programmable, the FIFO width will change
@ with this bitfield. If the FIFO is of a set width, this
@ bitfield in combination with CDO_Data_Lane will determine how
@ the data is smeared across the FIFO data lines. If 0, then
@ data saved is 8-bits. If 1, then 16-bits. If 2, then 32-bits.
@
NOTE: The FIFO must be reset when this bitfield is changed.
F Reserved 16
#-------------------------------------------------------------------------------
# DO_Trigger_Select_Register Register Definition
R DO_Trigger_Select_Register 32 0x18 Writable
F Reserved 8
F DO_External_Gate_Enable 1
@ Setting this bit to 1 enables external gating for the digital
@ output group.
F DO_External_Gate_Polarity 1
@ This bit selects the polarity of the DO external gate signal.
@ When set to 0 the gate is Active high (high enables operation).
@ When set to 1, the gate is Active low (low enables operation)
F DO_External_Gate_Select 6 . nDO::tDO_External_Gate_Select_t
@ This bit enables and selects the external gate
F DO_START1_Edge 1
@ This bit enables edge detection of the DO_START1 trigger. This
@ bit should normally be set to 1. Set this bit to 1 if DO_START1_Select
@ is Start1_Pulse.
F DO_START1_Polarity 1 . nDO::tDO_Polarity_t
@ This bit determines the polarity of DO_START1 trigger
F DO_START1_Select 6 . nDO::tDO_START1_Select_t
@ This bitfield selects the DO_START1 trigger
F Reserved 1
F DO_UPDATE_Source_Polarity 1 . nDO::tDO_Polarity_t
@ This bit selects the active edge of the DO_UPDATE source (the
@ signal that is selected by DO_UPDATE_Source_Select) You must
@ set this bit to 0 in the internal DO_UPDATE mode.
F DO_UPDATE_Source_Select 6 . nDO::tDO_UPDATE_Source_Select_t
@ This bitfield selects the DO_UPDATE source When you set this
@ bit to 0, the DO Timer is in the internal DO_UPDATE mode. When
@ you select any other signal as the DO_UPDATE source, the
@ DO Timer is in the external DO_UPDATE mode.
#-------------------------------------------------------------------------------
# DO_DirectDataRegister Register Definition
R DO_DirectDataRegister 32 0x1C Writable --no-soft-copy true
F CDO_Direct_data 32
@ This register is used to load data into the CDO Engine when the
@ FIFO is disabled
#-------------------------------------------------------------------------------
# DO_WDT_SafeStateRegister Register Definition
R DO_WDT_SafeStateRegister 32 0x24 Writable
F DO_WDT_SafeStateValue 32 Decoded
@ This is the safe value that the DIO lines will go to if the Watchdog
@ Timer is enabled, and the dio lines have the safe state
@ enabled (through the DO_WDT_ModeSelect[i]_Register).
#-------------------------------------------------------------------------------
# DO_WDT_ModeSelect1_Register Register Definition
R DO_WDT_ModeSelect1_Register 32 0x28 Writable
F DO_WDT_ModeD0 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.
F DO_WDT_ModeD1 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.
F DO_WDT_ModeD2 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.
F DO_WDT_ModeD3 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.
F DO_WDT_ModeD4 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.
F DO_WDT_ModeD5 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.
F DO_WDT_ModeD6 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.
F DO_WDT_ModeD7 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.
F DO_WDT_ModeD8 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.
F DO_WDT_ModeD9 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.
F DO_WDT_ModeD10 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.
F DO_WDT_ModeD11 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.
F DO_WDT_ModeD12 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.
F DO_WDT_ModeD13 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.
F DO_WDT_ModeD14 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.
F DO_WDT_ModeD15 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.
#-------------------------------------------------------------------------------
# DO_WDT_ModeSelect2_Register Register Definition
R DO_WDT_ModeSelect2_Register 32 0x2C Writable
F DO_WDT_ModeD16 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.
F DO_WDT_ModeD17 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.
F DO_WDT_ModeD18 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.
F DO_WDT_ModeD19 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.
F DO_WDT_ModeD20 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.
F DO_WDT_ModeD21 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.
F DO_WDT_ModeD22 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.
F DO_WDT_ModeD23 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.
F DO_WDT_ModeD24 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.
F DO_WDT_ModeD25 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.
F DO_WDT_ModeD26 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.
F DO_WDT_ModeD27 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.
F DO_WDT_ModeD28 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.
F DO_WDT_ModeD29 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.
F DO_WDT_ModeD30 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.
F DO_WDT_ModeD31 2 . nDO::tDO_WDT_Mode_t
@ This bitfield determines what action will be taken by the corresponding
@ DO line in the event of a Watchdog Timer event.