comedi & real-time question

Hello,

 I'm working on an application that needs to perform real time operations on
every scan. I've managed to do that in kernel space (with the help of  Joerg
Biedermann) using the comedi_callback. The problem is that when the load on
the system is high, the code in the callback function is delayed. This leads
to AI_Overflow errors. Is it possible to perform real time processing using
the daq timers instead of creating a rt thread that polls the card via
comedi_data_read() calls?

I'm using comedi-0.66 with real time support, rtl-3.2-pre3, comedilib-0.7.21
and a NI6052E card. What does real-time support means? Does it mean that the
ISR is 'never' delayed, but I must provide some kind of real-time consumer
to read the data and prevent overflow? If that is true, how can i accomplish
that?

There is another issue: The 6052E can sample at a maximum frequency of
333KS, but using comedi command i've only managed to adquire data on the 16
channels at 2500 Hz. I've disabled DMA on the driver, i suppose that it
could be the reason behind that. Is that true?

As you can see, i'm a bit confused. I've searched both the rtl and comedi
mailing list archives, and couldn't find an answer to these questions.
Any help would be greatly appreciated.

Regards,

Andrés

Received on 2004-02-19Z12:33:08