Add Comedi and NI triggering post.
[blog.git] / posts / Comedi.mdwn
1 [Comedi][] is a Linux COntrol and MEasurement Device Interface.  We
2 use Comedi in our lab to contol [[experiments|Research]] via a [NI
3 PCI-6052E][6052E].  The basic architecture for a Comedi application
4 is:
5
6     kernel space   |   user space
7                    |
8     device         |
9       |            |
10     kernel --------|-- libcomedi - application
11       |            |
12     comedi module  |
13
14 To make matters more complicated, there are two version of the kernel
15 module, one [in CVS at comedi.org][external] and another [in the
16 kernel itself][kernel].
17
18 Luckily, many distributions now package versions of the in-kernel
19 staging driver (e.g. [Debian][] and [Ubuntu][]).  I was feeling left
20 out on Gentoo, so I've just revived the [old Gentoo packages][gentoo]
21 and added them to my [[Gentoo overlay]].
22
23 [Comedi]: http://www.comedi.org/
24 [6052E]: http://sine.ni.com/nips/cds/view/p/lang/en/nid/2601
25 [external]: http://www.comedi.org/cgi-bin/viewvc.cgi/comedi/
26 [kernel]: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;f=drivers/staging/comedi
27 [Debian]: http://packages.debian.org/sid/python-comedilib
28 [Ubuntu]: http://packages.ubuntu.com/natty/python-comedilib
29 [Gentoo]: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sci-libs/comedilib/?hideattic=0
30
31 [[!tag tags/linux]]
32 [[!tag tags/programming]]
33 [[!tag tags/tools]]
34 [[!tag tags/hardware]]