Hi there, I am starting to use the DAQPad 6016 USB device for analogue data acquisition with my application using NIDAQmx. The problem I have is that the NIDAQmx driver doesn't supply data in a smooth fashion. I am capturing all 16 channels at 500Hz sampling rate, and I'm checking the capture progress every 50ms using the DAQmxGetReadAvailSampPerChan function. The idea is to grab data from the acquisition process every 100ms for display/analysis etc. This code works perfectly with a PCI6023E card.
However, with the DAQPad 6016, the DAQmxGetReadAvailSampPerChan function (and also DAQmxReadRaw) doesn't make data available in a smooth fashion - eg. there'll be no data available for 200ms, then some will be available in a short burst, then nothing again for a while etc. Data update is therefore not very smooth.
I suspect this has something to do with the onboard fifo buffer of the DAQPad, but using the m_pfDAQmxSetAIDataXferReqCond with either DAQmx_Val_OnBrdMemNotEmpty or DAQmx_Val_OnBrdMemMoreThanHalfFull options doesn't make any difference to the way in which data is provided to my app. The NI-DAQmx C reference documentation shows a DAQmx_Val_OnbrdMemCustomThreshold, but this value isn't defined in the nidaqmx.h file.
My question therefore is; How do I acquire and display data with a DAQPad 6016 in a smooth fashion? Is it possible to set a custom fifo transfer threshold value with the DAQPad 6016, and if so how?
Message Edited by saint on 06-23-2005 02:37 AM