I am currently developing an application with VC++ .net 2003 and PCI NI6221 DAQ device on WinXP system. Does anybody have a further information about these topics:
- how to choose DMA for data transfer (with the use of DAQmxReadAnalogF64) and how to allocate a certain DMA size
- when using DAQmxCfgSampClkTiming function with "DAQmx_Val_ContSamps" value, the last function parameter "sampsPerChanToAcquire" should be representing the buffer size. My question is, if it is needed to use "DAQmxCfgInputBuffer" function in continous mode or if "sampsPerChanToAcquire" does the job?
- last question is how can I get an information about filling half buffer with read function. For example, I have set up the buffer to have the size of 16000, but if I try to fire an "DAQmxEveryNSamples" event with parameter "nSamples" = 8000 (so half of buffer), then the application stops and gives me some clues which does not exactly work (using bigger buffer). The application works if nSamples is set to 1000. Then if I get the idea right the every acquired 1000 samples, the event is fired and if I want to use 8000 samples I could read every event fire only 1000 samples, store them to temporary field and put them together after 8 fired events. This way, I would get half buffer. Isn't there any other "easier" way?
Thank you very much for your answers. It will be highly appreciated.