Re: working with output buffer

On Monday 08 October 2007 09:07, Heinrich du Toit wrote:
> I tried another trick:
> To rather not fill the buffer up to full.
>
> if ((inbuffer < sysconf(_SC_PAGE_SIZE)*2)){
>    result = write(cDeviceNr,(void*)(dataoutp
> +dataoutpos),dataoutsize-dataoutpos);
> }
>
> But this froze my PC :(

If it is crashing in the internal trigger, you need to use cvs or 0.7.74 
and make this change:

http://www.comedi.org/cgi-bin/viewcvs.cgi/comedi/comedi/drivers/ni_mio_common.c?r1=1.321&r2=1.322

The driver needs to be fed at least enough samples to keep its hardware 
fifo full, since it does output dma transfers on fifo not full.  Check 
your hardware manual for the output fifo size, it's probably a couple 
thousand samples.  The hardware supports doing things like dma on fifo 
empty for low latency stuff, but it's not supported by the driver.

-- 
Frank

Received on 2007-10-08Z13:14:27