Comedi as a tool for gaining experience with Linux device drivers?

Hi

I've successfully used Comedi drivers a few times in the past, mainly with NI cards, but have baulked at getting my hands dirty adding functionality, for example, modifying the necessary bits to allow an NI digio card to generate interrupts.

I'm now 'resting' between contracts (ok, unemployed) and have dreamt up a project which I hope will allow me to do two things; firstly to properly understand the operation of Linux device drivers and secondly to use a fast PC to do a hilbert transform on an audio signal (basically a 90° phase shift on all frequencies within the specified bandwidth. This is for another part of the project, a single sideband transmitter).  I'm proposing to use an NI PCI-6221 to digitise the signal so that I can do the necessary Fourier DSP stuff within the PC (I've done this before and with a fast PC it is possible) and then to use its DAC to generate the phase-shifted analogue signal.

Now the questions:-

1.) I haven't bought a 6221 yet, but I'm hoping that its full functionality hasn't yet been realised by the Comedi drivers, specifically, generating interrupts from digital inputs and DMAing sampled analogue data to user space. If this has not yet been done, will it require modification at the Linux level that I want to learn about or is this done at a higher, Comedi, level?

2.) Do NI make available all the details of their cards' operation at the device level so that groups like Comedi can produce fully operational device drivers or is the information gleaned from some other source.

Thanks

John Simpson

 

Received on 2007-02-22Z10:20:09