- From: Alan Chen <alanchen_at_MIT.EDU>
- Date: Thu, 20 Nov 2003 16:24:41 -0500
My goal is to achieve streaming analog in with minimal latency. Right now I achieve this with a non-blocking read() and if no data was read then call a comedi_poll() to flush the card's buffer and read again. This process is encapsulated in a loop. The problem is comedi_poll() doesn't work with DMA enabled and I must wait until the FIFO (is it a hardware or a software FIFO?) is filled. This results in a large chunk of data being sent at once, and at a low sampling rate the latency becomes quite high. I can use the stated method without DMA, but the cpu usage rockets to 100% and the computer can't keep up with high sampling rates. So my question is, "can does DMA work with comedi_poll(), or is there another way of streaming with comedi?"
Received on 2003-11-20Z21:24:41