xPCI-3009 API
PCI-3009 incremental counter UAS,CBx,U/D#, external strobe functions

Functions

_INT_ i_PCI3009_GetUASStatus (DWORD_ dw_BoardHandle, PBYTE_ pb_UASStatus)
 
_INT_ i_PCI3009_GetCBStatus (DWORD_ dw_BoardHandle, PBYTE_ pb_CBStatus)
 
_INT_ i_PCI3009_Get16BitCBStatus (DWORD_ dw_BoardHandle, PBYTE_ pb_CBStatusCounter0, PBYTE_ pb_CBStatusCounter1)
 
_INT_ i_PCI3009_GetUDStatus (DWORD_ dw_BoardHandle, PBYTE_ pb_UDStatus)
 
_INT_ i_PCI3009_GetInterruptUDLatchedStatus (DWORD_ dw_BoardHandle, PBYTE_ pb_UDStatus)
 
_INT_ i_PCI3009_InitExternalStrobe (DWORD_ dw_BoardHandle, BYTE_ b_ExternalStrobe, BYTE_ b_ExternalStrobeLevel)
 

Detailed Description

Function Documentation

_INT_ i_PCI3009_GetUASStatus ( DWORD_  dw_BoardHandle,
PBYTE_  pb_UASStatus 
)

Return the error signal (UAS) status

Parameters
[in]dw_BoardHandle: Handle of board PCI-3009
[out]pb_UASStatus: 0 : UAS is low "0"
1 : UAS is high "1"
Returns
0: No error
-1: The handle parameter of the board is wrong
-2: The module is not a counter module
-3: Counter not initialised see function "i_PCI3009_InitCounter"
_INT_ i_PCI3009_GetCBStatus ( DWORD_  dw_BoardHandle,
PBYTE_  pb_CBStatus 
)

Return the counter overflow status

Parameters
[in]dw_BoardHandle: Handle of board PCI-3009
[out]pb_CBStatus: 0 : Counter no overflow
1 : Counter overflow
Returns
0: No error
-1: The handle parameter of the board is wrong
-2: The module is not a counter module
-3: Counter not initialised see function "i_PCI3009_InitCounter"
_INT_ i_PCI3009_Get16BitCBStatus ( DWORD_  dw_BoardHandle,
PBYTE_  pb_CBStatusCounter0,
PBYTE_  pb_CBStatusCounter1 
)

Returns the counter overflow (counter initialised to 2*16-bit) status from selected incremental counter module

Parameters
[in]dw_BoardHandle: Handle of board PCI-3009
[out]pb_CBStatusCounter0: 0 : No overflow occur for the first 16-bit counter
1 : Overflow occur for the first 16-bit counter
[out]pb_CBStatusCounter1: 0 : No overflow occur for the second 16-bit counter
1 : Overflow occur for the second 16-bit counter
Returns
0: No error
-1: The handle parameter of the board is wrong
-2: The module is not a counter module
-3: Counter not initialised see function "i_PCI3009_InitCounter"
-4: Counter not initialised to 2*16-bit mode. See function "i_PCI3009_InitCounter"
-5: Firmware revision error
_INT_ i_PCI3009_GetUDStatus ( DWORD_  dw_BoardHandle,
PBYTE_  pb_UDStatus 
)

Return the counter progress status

Parameters
[in]dw_BoardHandle: Handle of board PCI-3009
[out]pb_UDStatus: 0 : Counter progress in the selected mode down
1 : Counter progress in the selected mode up
Returns
0: No error
-1: The handle parameter of the board is wrong
-2: The module is not a counter module
-3: Counter not initialised see function "i_PCI3009_InitCounter"
_INT_ i_PCI3009_GetInterruptUDLatchedStatus ( DWORD_  dw_BoardHandle,
PBYTE_  pb_UDStatus 
)

Return the counter progress latched status after a index interrupt occur.

Parameters
[in]dw_BoardHandle: Handle of board PCI-3009
[out]pb_UDStatus: 0 : Index occor. Counter progress in the selected mode down
1 : Index occor. Counter progress in the selected mode up
2 : No index interrupt occur
Returns
0: No error
-1: The handle parameter of the board is wrong
-2: The module is not a counter module
-3: Counter not initialised see function "i_PCI3009_InitCounter"
-4: Interrupt function not initialised.See function "i_PCI3009_SetBoardIntRoutine"
_INT_ i_PCI3009_InitExternalStrobe ( DWORD_  dw_BoardHandle,
BYTE_  b_ExternalStrobe,
BYTE_  b_ExternalStrobeLevel 
)

Initialises the external strobe level.

Parameters
[in]dw_BoardHandle: Handle of board PCI-3009
[in]b_ExternalStrobe: External strobe selection
0 : External strobe A
1 : External strobe B
[in]b_ExternalStrobeLevel: External strobe level
PCI3009_LOW : External latch occurs if "0"
PCI3009_HIGH : External latch occurs if "1"
Returns
0: No error
-1: The handle parameter of the board is wrong
-2: The module is not a counter module
-3: Counter not initialised see function "i_PCI3009_InitCounter"
-4: External strobe selection is wrong
-5: External strobe level parameter is wrong