Skip to main content

An object-oriented interface for the Comedi drivers.

Project description

This package provides an object-oriented interface to the Comedi drivers. The standard Python interface bundled with Comedilib is a simple SWIG clone of the C interface. In pycomedi, we convert the functions into class methods (see pycomedi.classes), so you don’t have to worry about dragging around opaque types like comedi_t * device pointers. We also bundle related constants together in _Enums and _Flags (see pycomedi.constants), to make handling common operations like flag manipulations simpler. Finally, there are a number of utility classes (see pycomedi.utility) to make common tasks like creating instructions or reading hardware-timed analog input easier.

Installation

Packages

Gentoo

I’ve packaged pycomedi for Gentoo. You need layman and my wtk overlay. Install with:

# emerge -av app-portage/layman
# layman --add wtk
# emerge -av dev-python/pycomedi

Dependencies

If you’re installing by hand or packaging pycomedi for another distribution, you’ll need the following dependencies:

Package

Purpose

Debian

Gentoo

NumPy

?

python-numpy

dev-python/numpy

SciPy

testing

python-scipy

sci-libs/scipy

Comedi

Comedilib interface

python-comedilib

sci-libs/comedilib [1]

nose

testing

python-nose

dev-python/nose

Cython

Comedilib interface

cython

dev-python/cython

python-kmod

Optional ext. info.

dev-python/python-kmod [1]

If python-kmod is installed, you will get additional module information from the info.py demo program. If it is not installed, everything will still work, but info.py will only be able to get the module version, not the kernel version, staging-ness, parameters, etc.

Installing by hand

Pycomedi is available as a Git repository:

$ git clone git://tremily.us/pycomedi.git

See the homepage for details. To install the checkout, run the standard:

$ python setup.py install

Usage

See the examples in the doc directory.

Testing

Run integration tests with:

$ nosetests --with-doctest --doctest-extension=txt doc

The analog integration tests read from analog input channels 0 through 3, and write to analog output channels 0 and 1, so you’ll need a board with that many channels. You should also make sure that the analog output channels aren’t plugged into anything sensetive, since the tests sweep their output around over a reasonable chunk of the channel range. Some of the internal unit tests also write, so it’s safest to just disconnect all digital lines and analog outputs before running the tests.

Run both integration tests and internal unit tests with:

$ ./test.sh

Licence

This project is distributed under the GNU General Public License Version 2 or greater.

Author

W. Trevor King wking@tremily.us

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pycomedi-0.9.tar.gz (57.9 kB view details)

Uploaded Source

File details

Details for the file pycomedi-0.9.tar.gz.

File metadata

  • Download URL: pycomedi-0.9.tar.gz
  • Upload date:
  • Size: 57.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pycomedi-0.9.tar.gz
Algorithm Hash digest
SHA256 b552404e57e9c622d657dbe684382d541f194f0d821b588a33f613e6d4ae1f6e
MD5 9d6cb18385446d9909f8d82c88fb4a8e
BLAKE2b-256 78ed1d57726ed120c4b27f99315a19123ebde3571e92c18b178d3ad2075a2bdb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page