Re: changes in comedi cvs

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Friday 22 November 2002 10:38 am, Rolf Mueller wrote:
>
> I notice that your recent changes (2002/11/19) in the DMA underrun
> detection result in "DMA underrun" errors being triggered for all but
> ridiculously low conversion frequencies (100 Hz or so). What typically
> happens is that nbytes (from mite_bytes_read) is a bit larger than
> devpriv->last_buf_write_count, whereas the latter is always 8192, the
> former is something like 8212, 8216, 8248, 8252. However, with the
> pre-2002/11/19 I do not see any hick-ups in the waveform that would
> indicate a problem.

Rolf,

The problem is actually that the ao_waveform.c demo doesn't quite preload 
enough data before starting the output waveform.  If you make it preload 16K 
instead of 8K the problem should go away.  The underrun detection can 
generate false positives, which is less than ideal but preferable to it 
missing real underruns.  To improve things would require some infrastructure 
changes.  The underrun state would have to be checked when the user space 
program writes data to comedi, which would require that comedi.o be able to 
poll the driver on how many bytes it has currently read.  That is basically 
what the poll() function subdevices can provide does already, except that we 
want a more passive version of poll() that doesn't prompt the driver to do 
additional transfers of data between the hardware and comedi (at least that 
is what it does for input).  Maybe poll() could be split into a passive query 
(which would only be needed for dma situations), and a function that would 
actually cause data waiting in a hardware fifo to get dumped.

>
> It also appears to me that the ai-munging is not done correctly or
> consistently, signed numbers seem to be treated as unsigned, this does
> not seem to be a problem of the user application, because it occurs
> with cmd and ktimetrace likewise.
>

The ai munging should be fixed in cvs now.  I had completely broken it for 
611x cards, and in general when a chanlist alternates between bipolar and 
unipolar ranges.

- -- 
Frank

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE93nAp5vihyNWuA4URAg2yAJ9ag73NLAtOhUA6mVJCDWIiROgU/wCeOFYU
5QiNC4z6JmiIv/v8gGwlrpc=
=j24e
-----END PGP SIGNATURE-----

Received on 2002-11-22Z17:57:59