Hi perk_bud,
I'd like to address your questions:
1.) Because you have your task configured for continuous sampling, the
DAQmxReadAnalogF64 function call will read all available samples in the buffer.
2.) However, if there are more samples available in the buffer than the size of your array, the function call will return as many samples as can fit in the data array.
3.) Since you have the
DAQmx_Val_GroupByScanNumber parameter set in the DAQmxReadAnalogF64 function, this causes the samples to be interleaved. The array will list the first sample from every channel in the task, then the second
sample from every channel, up to the last sample from every channel.
You may be able to initialize your data array to a larger size so that when
DAQmxReadAnalogF64 is called more available samples can be read into the array.
Regards,
Andrew W