UltraFast SDK's
Windows and Linux drivers |
- Supplied at no cost with each UF card
- Windows XP/2000/NT/ME/98
- Linux Redhat and SuSe kernel 2.4
- Linux source code available for different distro's
- Free updates for product lifetime, inc. future Win/Lin drivers
|
| |
|
 |
| The UltraFast drivers consist of a set of functions to manipulate registers on the board and to transfer data from or to the board. The same driver is used for all of the UltraFast cards - making it easy to add a different card to your program at some later time.
There are versions of the driver for different operating systems. Both the Windows 'Legacy' and 'WDM' driver models are supported. So you can use a driver that is optimized for your version of Windows.
As all driver versions are programmed in the same way for all operating systems, you will not have to change your code when you upgrade to a newer version of Windows or Linux.
Programming examples for Microsoft Visual C++, Borland Delphi, Microsoft Visual Basic and LabWindows/CVI are supplied with the driver. Due to the simple interface design of the driver, it is not a problem to integrate it with other programming languages or special measurement software.
Linux
In many areas Linux has proven itself as a high-quality alternative to Windows. We have seen an increasing demand for our Linux drivers from the instrumentation market.
The UltraFast cards are supplied with loadable Linux modules for the popular Linux distributions of Redhat version 9 and SuSe version 8.0, 8.2 and 9.0. But we can also support less popular versions by supplying the source code of the driver module and the required makefiles. The user can then compile a perfectly matching version for his Linux installation - perhaps a multiprocessor system!
Programming Example
| |
// ----- Initialization ----------------------------------------
SpcInitPCIBoards (&Count, &PCIVersion); // self detect PCI boards
SpcGetParam (0, SPC_PCITYP, &Typ);
// ----- Set Parameters for Recording -------------------
SpcSetParam (0, SPC_SAMPLERATE, 100000000); // samplerate 100 MHz
SpcSetParam (0, SPC_MEMSIZE, 2048); // set memsize to 2k
SpcSetParam (0, SPC_POSTTRIGGER, 1024); // Set posttrigger to 1k
SpcSetParam (0, SPC_AMP0, 1000); // input range ch 0 to 1000 mV
SpcSetParam (0, SPC_AMP1, 1000); // input range ch 1 to 1000 mV
SpcSetParam (0, SPC_TRIGGERMODE, TM_SOFTWARE); // Set trigger
// ----- start the board --------------------------------------
SpcSetParam (0, SPC_COMMAND, SPC_START);
// ----- wait for status ready ----------------------------------
do {SpcGetParam (0, SPC_STATUS, &Status);}
while (Status != SPC_READY);
//----- read data ---------------------------------------------
SpcGetData (0, 0, 0, 1024l, (dataptr) data0); SpcGetData (0, 1, 0, 1024l, (dataptr) data1); |
|
|