For these cards, the command functionality may be provided in software. For example, many different interface cards use the same PCI driver chips, or use the parallel port as an intermediate means to connect to the hardware device. Integrating the driver in the Comedi library Glossary. Functions for single acquisition 4. Converting between integer data and physical units 3. For example, one writes a driver for the parallel port, because one wants to use it to generate pulses that drive a stepper motor.

Uploader: Vutilar
Date Added: 7 October 2012
File Size: 67.32 Mb
Operating Systems: Windows NT/2000/XP/2003/2003/7/8/10 MacOS 10/X
Downloads: 61289
Price: Free* [*Free Regsitration Required]

Normal users program against the API of the Comedilib user-space library. Included in the Comedilib distribution is documentation, configuration and calibration utilities, and demonstration programs. Features Integrated real-time support for most hardware High-level library comedilib Application-level device independence Requires a Linux 2.

RELACS – Comedi Plugins

In addition, some hardware has limits on the minimum conversion interval it can achieve, i. So, Comedi focuses only on the mechanism part of DAQ interfacing. The sequence has a start and an end. So, the function call blocks until the whole acquisition has finished.

Table of Contents 1. The card’s electronics may also allow automatically sampling of a set of channels in a prescribed order.

Pulse -based signals counters, timers, encoders, etc. Your first Comedi program 3. Constants and macros 5. Some interface cards have extra components comsdi don’t fit in the above-mentioned classification, such as an EEPROM to store configuration and board parameters, or calibration inputs.


In the case of Cmedi as the host operating system, device driver writers must keep the following issues in lniux. For example, one writes a driver for the parallel port, because one wants to use it to generate pulses that drive a stepper motor.

The cards supported in Comedi have one or more of the following signals: The precise timing between the acquisitions is not hardware controlled. Typically, an analog acquisition channel can be programmed to generate or read a voltage between a lower and an upper threshold e.

Applications that use Comedi

The command functionality cannot be offered by DAQ cards that lack the hardware to autonomously sequence a series of scans.

At both sides, the software and the hardware need some finite initialization or settling time. Callbacks, events and interrupts 6. Comedi has still only a limited number of drivers comexi this kind of signals, although most of the necessary API and support functionality is available.

Comedi – Control and Measurement Interface

Comedi is a free software project to interface digital acquisition DAQ cards. This is where the actual data acquisitions are taking place: Comedi is a collection of drivers for a variety of common data acquisition plug-in boards. Comedilib is a linnux library that provides a developer-friendly interface to Comedi devices.


Comedilib then handles the necessary communication with the Comedi modules running in kernel-space. Introduction The Comedi project develops open-source drivers, tools, and libraries for data acquisition.

Only privileged processes can run in the kernel, cokedi they have access to all hardware and to all kernel data structures. However, the DAQ manufacturers have never been able or willing to come up with such a standardization effort themselves.

Supported Hardware

It is effectively a “kernel library” for using Comedi from real-time tasks. Comedilib is a separately distributed package containing liux user-space library that provides a developer-friendly interface to the Liinux devices.

Once a device driver offers a software interface to the mechanism of the device, an application writer can use this mechanism interface to use the device in one particular fashion. A device driver is a piece of software that interfaces a particular piece of hardware: In general, not only the start of a conversion is triggered, but also the start of a scan and of a sequence.