Diamond Point International
 
Diamond Systems Corporation

Diamond Systems Universal Driver

C-based Software Toolkit for Data Acquisition Circuits

Extensive Functionality, Wide Operating System Support

 
Diamond Systems Universal Driver Version
 
  • Extensive functionality
  • High level C interface
  • Support for Windows 95 to XP
  • Embedded NT/XP support
  • Linux support
  • RTLinux support
  • QNX 6, VxWorks support
  • Example programs for boards
  • For Borland, Microsoft & GNU compilers



Datasheet/Manual:

Diamond Systems Athena datasheet in PDF format Universal Driver Manual - PDF
Diamond Systems Athena datasheet in PDF format Universal Driver 6.02 release notes - PDF

 

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:
    • GCC 3

Download

Please visit the Diamond Systems website for universal driver related downloads.

 
 
Ordering Details:

Board:

SW-DSCUD Free software/manual CD (for all Diamond Systems cards)

Please add this to your order when ordering Diamond Systems related hardware.

Accessories:

N/A

Further Information:

Want further information or pricing on this product? Either fill out our feedback form or contact us for further information.

 
© 2012 Diamond Point International. All rights reserved.