General Driver Issues

Universal Driver Documentation
This chapter describes general issues surrounding the use of Universal Driver. These include installing the driver, compiling programs with the driver, and recommended coding conventions.

The Universal Driver user always needs to include the file DSCUD.H into their application. All the functions that the driver exposes as APIs have their function prototypes defined in this file. Along with the function prototypes, this include file also contains definitions for the DSC defines which are very useful for user applications.

Interrupt issues

If you get FIFO overflow status from dscGetStatus(), you should check whether the kernel modules are installed for the driver or not. For Linux, the kernel module dscudkp.ko MUST be installed for the interrupts to work. Similarly for Windows based driver, the driver file dscudkp.sys must be installed in the services section of the OS.

If the kernel modules are installed and the errors are still happening, that would mean that the FIFO threshold specified is too high and thus not giving the ISR enough time to read the FIFO contents and return. In this case, the FIFO threshold should be lowered.

If the errors are still occuring, the sampling/scanning rate should be reduced.

Initialization issues

If the application gets an error on dscInit(), that means that the DSCUD.H file used to include in the application and the library file with which the application is compiled are not compatible. You may never mix/match the include and library files from different versions of the driver. In case of Windows XP based applications, the DSCUD.DLL file should be of the same version too. If your application was compiled with the correct libraray, but the DSCUD.DLL file which is present in the same directory as your application EXE is from a different version, the function will fail.

If the application gets an error on dscInitBoard (), that means that the parameters supplied to the function are invalid. For valid parameters for any board, please refer to the board's individual manual and also the UD manual page for that board.


This page was last modified 22:39, 17 Aug 2009.
Copyright (c) 2004 Diamond Systems. All Rights Reserved.