Code written in VC++ 6.0, NIDAQ 6.9.3, OS: Win2000&98, various laptops from P2-450MHz to P3-1.2GHz.
Using SCAN_Start for continuous mode acquisition to a single buffer (16 channels, 20KHz). After a variable number of samples acquired (usually around 1e6 to 14e6), acquisition hangs. At this point DAQ_Monitor returns error -10845 (overFlowError) once, and then -10608 (noTransferInProgError) thereafter. At this point, the acquisition must be stopped and restarted.
The hangs only occur after many cycles through the acquisition buffer, so I don't think it is a buffer boundary problem. Hangs also occur even if there are no transfers to secondary buffers (via DAQ_Monitor), so I don't think it's a memory access conflict.
Greatly lowering acquisition bandwidth (e.g. 20kHz X 1 channel) eliminates the problem, but the driver hangs at acquisition rates well below maximum bandwidth (e.g. it hangs using 20kHz X 8 channels = 160KHz aggregate).
I have included a simple console app that demonstrates the problem. This app does not actually do anything but monitor the acquisition once it starts. When the acquisition hangs, a beeping message is displayed.
I hope someone can help me solve this problem, or at least tell me what I'm doing wrong. I am at wit's end!
John Burt