Hi,
The problem we're experiencing is well illustrated using the following experiment:
Using the NI-MAX (v. 19.0) test panel for a real PCI-6123, if we request a finite acquisition for 1000 samples at 1000 Hz (finite acquisition), the operation does not complete. When we observe the guts of this operation using NI IO Trace, we notice that the number of samples acquired is 992.
When we ask for 992 samples (at the same rate), the acquisition does complete, as does any request for a number of samples that's a multiple of 32 (e.g. 1024, 960, 32*n). In contrast, a request for a number of samples that isn't a multiple of 32 does not complete (1023, 961, 32n+m, where m is 1..31).
(Note that this does not happen with a simulated device: any rate / number of samples chosen consistently completes.)
How can we determine when a finite acquisition will complete for any given rate? (We can acquire any number of samples we need using a continuous acquisition but our goal is get finite acquisitions to always work.)
(After reading through the
S Series User Manual, we suspect that this may be consistent with a request for a buffered acquisition using DMA and a FIFO size of 32.)
In any case, we'd appreciate any guidance you have to offer.
Thanks!