Introduction
The Diamond Systems' Universal Driver is a software toolkit that provides C programming language support for most Diamond products having on-board data acquisition functions. Supported features include analog I/O, digital I/O, timer/counter controllers, and watch-dog timers.
The Universal Driver tool kit is included free with all of Diamond's single-board computers, embedded-ready subsystems, and I/O expansion modules that integrate data acquisition functions. It provides a high level C language interface for DOS, Windows, Windows CE, and Linux. Multiple libraries are provided to support each operating system. Additionally, example programs and projects are provided for use with Borland, Microsoft, and the GNU C compilers.
Key features:
- Multi-board operation:
- Control up to 16 I/O boards simultaneously, including multiple
units of the same board type (varies from CPU to CPU).
- Consistent API:
- The command syntax is consistent from board to board and
across operating systems. You can retarget your application
for a different board or OS with a minimum of re-engineering.
- Auto-calibration:
- Universal Driver provides full support for the advanced
autocalibration features of our AT line of analog I/O boards.
Calibrate your board as often as you want with simple software
commands. Source code is included!
- User Interrupts:
- Write your own interrupt routine and have it execute each
time your board generates an interrupt. Your own code can
run together with or instead of the standard interrupt routines.
For example, you can provide real-time FFT calculations on
analog data as it is acquired, or you can synchronize your
code to run at a programmed interval or in response to an
external event.
- Extensive programming examples:
- Each board has its own set of example programs for most
or all of the applicable functions. The programs are provided
both in source code and pre-compiled for each supported operating
system. The programs are extensively commented, so you can
get familiar with the Universal Driver quickly. In addition,
the example programs are provided with project files with
all the necessary settings, so you can use it as a starting
point and recompile it with a minimum of hassle.
- Counter/Timer & Watchdog Support
- The Universal Driver includes advanced counting/timing functions such as frequency/period measurement and pulse width modulation. It also has support for the watchdog timer circuit on our single board computers.
- Low-Level Read/Write Support
- The Universal Driver also provides low-level functions to enable read/write operations directly to the board registers for custom applications. This is useful in some operating systems where direct I/O access to hardware is normally prohibited.
- Extensive functionality:
- The Universal Driver includes advanced counting/timing functions
such as frequency/period measurement and pulse width modulation
on Quartz-MM. It has support for the watchdog timer circuit
on our Prometheus CPU board.
We also provide low-level functions to enable read/write operations
directly to the board registers for custom applications. This is
useful in operating systems like Windows NT, where direct I/O access
to hardware is normally prohibited.
Supported Platforms
- Universal Driver 6.02 is available for the following operating systems.
- Linux Kernel version 2.4.xx , 2.6.23
- Windows CE 6.0 R2.
- Windows XP Professional – SP2.
- MS - DOS 6.22
- QNX 6.4.0
New features in Universal Driver version 6.02
- Added support for QNX 6.4.0 operating system.
- Added support for the configurable Scan rate for Helios and AthenaII boards. The
dscADSetSettings API for both the boards reflects the change. If these new values are not used, the old code can work without any recompilation needs.
- Improved the dscDAAutoCal API for Helios board.
- The DSCUD.H file has the following change in the DSCDACALPARAMS structure.
- Added a parameter cycles to the structure to indicate in how many iterations was the calibration completed. ( HELIOS ONLY )
- The software applications developed for Universal Driver version 6.01 or earlier, must be
recompiled with the UD 6.02.
Compilers
Compilers Supported by DSCUD
- For Win32:
- Microsoft Visual C++ 6.0. Version 5.0 and higher should
also be compatible but only version 6.0 is tested
- For WinCE:
- Microsoft Embedded Visual C++ for 4.0
- For DOS:
- Borland C++ 3.0 to 5.2. NOTE: Borland C++ Builder is not
supported
- Turbo C 3.0
- Microsoft Visual C++ 1.5
- Linux & QNX:
Download
Please visit the Diamond Systems website for universal driver related downloads. |