Comedi - The Linux Control and Measurement Interface

Introduction

The Comedi project develops open-source drivers, tools, and libraries for data acquisition.

Comedi is a collection of drivers for a variety of common data acquisition plug-in boards. The drivers are implemented as a core Linux kernel module providing common functionality and individual low-level driver modules.

Comedilib is a user-space library that provides a developer-friendly interface to Comedi devices. Included in the Comedilib distribution is documentation, configuration and calibration utilities, and demonstration programs.

Kcomedilib is a Linux kernel module (distributed with Comedi) that provides the same interface as Comedilib in kernel space, suitable for real-time tasks. It is effectively a "kernel library" for using Comedi from real-time tasks.

Features

  • Integrated real-time support for most hardware
  • High-level library (comedilib)
  • Application-level device independence
  • Requires a Linux 2.6 kernel.

Latest version

  • comedi-0.7.76, released 2008-01-28
  • comedilib-0.12.0, released 2020-08-11
  • comedi_calibrate-5.1, released 2020-08-11

Comedi and Comedilib are being actively developed, and because of this, new versions are sometimes buggy. However, reported bugs are usually quickly fixed.

Maintainers

  • Frank Mori Hess <fmhess@users.sourceforge.net>
  • Ian Abbott <abbotti@mev.co.uk>

It is generally preferable to direct Comedi-related questions to the mailing list rather than mailing the maintainers directly.

Comedi was originally written and conceived by David Schleef <ds@schleef.org>. Much of Comedi has been developed by others. See the AUTHORS files in Comedi and Comedilib for a more complete listing of contributors.