- From: Bernd Porr <BerndPorr_at_f2s.com>
- Date: Tue, 20 Jul 2004 12:46:30 +0100
Hi!
Hmmm. Actually not. I don't have any experience with NI cards.
The driver itself fills the buffer measurement by measurement:
comedi_buf_put(s->async,this_usbduxsub->inBuffer[i])
Then comedi event is called (in my driver also after every measurement):
// tell comedi that data is there
comedi_event(this_usbduxsub->comedidev,
s,
s->async->events);
And the buffer can be read measurement by measurement. With usbdux this
is the case. I never had any problems with this issue.
It's probably so that the NI card triggers an interrupt only if its
internal buffer has reached a certain threshold...
/Bernd
www: http://www.berndporr.me.uk/
http://www.linux-usb-daq.co.uk/
Mobile: +44 (0)7769 506746
Work: +44 (0)141 330 5237
Department of Electronics & Electrical Engineering
Room 519, Rankine Building, Oakfield Avenue,
Glasgow, G12 8LT
Christian Fleischer wrote:
> Hi!
>
> Thanks for the quick reply.
> Unfortunately, that doesn't work... :-(
>
> comedi_get_buffer_contents(comediDevice,comediSubdevice)
>
> seems to be a second buffer that is filled by some other buffers with 1024
> bytes "from time to time". When not reading anything from the buffer, it
> increases like 0,1024,2048,3072 ...
> when reading values from the buffer slowly, it decreases (of courses), but new
> data arrives to this buffer in blocks of 1024 bytes... (every 0.5 sec, 1KHz)
> -- and that is too slow.
> maybe it is a problem of the specific pci_das-driver implementation....
> also using comedi_set_buffer_size or comedi_set_max_buffer_size did not change
> anything...
>
> Any ideas?
> Christian
>
Received on 2004-07-20Z10:46:30