xPCI-3016 API
|
Functions | |
_INT_ | i_PCI3016_SetBoardIntRoutine (HANDLE h_DeviceHandle, void(*v_FunctionName)(HANDLE h_DeviceHandle, BYTE b_FIFOOverflow, DWORD dw_InterruptSource, DWORD dw_InterruptMask, PWORD pw_Args, DWORD dw_ArgsCount)) |
_INT_ | i_PCI3016_ResetBoardIntRoutine (HANDLE h_DeviceHandle) |
_LONG_ | l_PCI3016_ReadSequenceData (HANDLE deviceHandle, DWORD size, PVOID data) |
_INT_ i_PCI3016_SetBoardIntRoutine | ( | HANDLE | h_DeviceHandle, |
void(*)(HANDLE h_DeviceHandle, BYTE b_FIFOOverflow, DWORD dw_InterruptSource, DWORD dw_InterruptMask, PWORD pw_Args, DWORD dw_ArgsCount) | v_FunctionName | ||
) |
Install an interrupt callback function. This function will be called each time the board generate an interruption.
The value of dw_InterruptSource will enable you to determine the source of the interruption:
[in] | h_DeviceHandle | : Handle of the board |
[in] | v_FunctionName | : Address of the callback function h_DeviceHandle : Handle of the board b_FIFOOverflow : If uc_FIFOOverflow != 0, there are too many untreated interrupts in the kernel FIFO, and any new information is lost dw_InterruptSource : Source of the interrupt dw_InterruptMask : Source of the interrupt pw_Args : Values read during the interrupt. Null if DMA interrupt dw_ArgsCount : Number of values read during the interrupt |
0 | : No Error |
-1 | : The device handle parameter is wrong |
-2 | : An interrupt routine was still installed. Remove it with i_PCI3016_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 |
_INT_ i_PCI3016_ResetBoardIntRoutine | ( | HANDLE | h_DeviceHandle | ) |
Deinstall the interrupt callback function.
[in] | h_DeviceHandle | : Handle of the board |
0 | : No Error |
-1 | : The device handle parameter is wrong |
-2 | : No interrupt routine installed |
-3 | : Error in the reset interrupt callback function |
_LONG_ l_PCI3016_ReadSequenceData | ( | HANDLE | deviceHandle, |
DWORD | size, | ||
PVOID | data | ||
) |
Enables to read data acquired by a sequence acquisition.
This function can be called in the interrupt routine that you registered. (see samples)
deviceHandle | handle to the board |
size | size of data to read. To be powerfull, should be ( sequence size * sequence before interrupt ) * sizeof ( USHORT ) |
>= | 0: size of data read |
-1 | : error while reading |