Hi,
I'm trying to make an application that processes incoming data and saves part of it to file. We use an external sample clock of 25MHz, so the data rate is quite high. I'm using the DAQmx API in a C++ application. I'm wondering how to make the application as efficient as possible. I read in several places that DAQmx uses an internal circular buffer which is filled by DMA and from which a user can then copy data to his own buffer using DAQmxReadDigitalU32. Processing would then have to be done on the second buffer. This is of course not very efficient because there are two data copies involved. Is my assumption correct? Is it possible to do the processing directly on the buffer that the DMA writes to? Is there a DAQmx method that I should use (as opposed to using DAQmxReadDigitalU32) to build a very efficient high-speed application?
Thanks,
Timon