xPCI-1032 API
xPCI-1032 interrupt management functions

Functions

_INT_ i_PCI1032_SetBoardIntRoutine (HANDLE h_DeviceHandle, void(*v_FunctionName)(HANDLE h_DeviceHandle, BYTE b_FIFOOverflow, WORD w_InterruptMask, WORD w_InputValues))
 
_INT_ i_PCI1032_SetBoardIntRoutineEx (HANDLE h_DeviceHandle, void(*v_FunctionName)(HANDLE h_DeviceHandle, BYTE b_FIFOOverflow, DWORD dw_InterruptMask, DWORD dw_InputValues))
 
_INT_ i_PCI1032_ResetBoardIntRoutine (HANDLE h_DeviceHandle)
 

Detailed Description

Function Documentation

◆ i_PCI1032_SetBoardIntRoutine()

_INT_ i_PCI1032_SetBoardIntRoutine ( HANDLE  h_DeviceHandle,
void(*)(HANDLE h_DeviceHandle, BYTE b_FIFOOverflow, WORD w_InterruptMask, WORD w_InputValues)  v_FunctionName 
)

Install an interrupt callback function. This function will be called each time the board generates an interrupt.

Parameters
[in]h_DeviceHandle: Handle of the board
[in]v_FunctionName: Address of the callback function
h_DeviceHandle : Handle of the board
b_FIFOOverflow : If b_FIFOOverflow != 0, there are too many untreated interrupts in the kernel FIFO, and any new information is lost
w_InterruptMask : Source of the interrupt. It is in fact a mask of channels (on 16 bits since 16 channels 0->15 are interruptible).
w_InputValues : Current status of the digital inputs 0->15
Return values
0: No Error
-1: The device handle parameter is wrong
-2: An interrupt routine was still installed. Remove it with i_PCI1032_ResetBoardIntRoutine and retry
-3: Error while creating kill event
-4: Error while creating interrupt event
-5: Error while creating interrupt thread
-6: Error while changing the priority class of the thread
-7: Error while changing the priority of the thread
-8: Error while calling the IOCTL command
-9: Error in the interrupt callback function

◆ i_PCI1032_SetBoardIntRoutineEx()

_INT_ i_PCI1032_SetBoardIntRoutineEx ( HANDLE  h_DeviceHandle,
void(*)(HANDLE h_DeviceHandle, BYTE b_FIFOOverflow, DWORD dw_InterruptMask, DWORD dw_InputValues)  v_FunctionName 
)

Install an interrupt callback function. This function will be called each time the board generates an interrupt.

Parameters
[in]h_DeviceHandle: Handle of the board
[in]v_FunctionName: Address of the callback function
h_DeviceHandle : Handle of the board
b_FIFOOverflow : If b_FIFOOverflow != 0, there are too many untreated interrupts in the kernel FIFO, and any new information is lost
dw_InterruptMask : Source of the interrupt. It is in fact a mask of channels (depends on board type).
dw_InputValues : Current status of the digital inputs 0->31
Return values
0: No Error
-1: The device handle parameter is wrong
-2: An interrupt routine was still installed. Remove it with i_PCI1032_ResetBoardIntRoutine and retry
-3: Error while creating kill event
-4: Error while creating interrupt event
-5: Error while creating interrupt thread
-6: Error while changing the priority class of the thread
-7: Error while changing the priority of the thread
-8: Error while calling the IOCTL command
-9: Error in the interrupt callback function
-10: This function is not available for this board

◆ i_PCI1032_ResetBoardIntRoutine()

_INT_ i_PCI1032_ResetBoardIntRoutine ( HANDLE  h_DeviceHandle)

Deinstall the interrupt callback function.

Parameters
[in]h_DeviceHandle: Handle of the board
Return values
0: No Error
-1: The device handle parameter is wrong
-2: No interrupt routine installed
-3: Error in the reset interrupt callback function