I'm writing a plain C application using the DAQmx API. I've modified the sample TDMS-ContAcq-IntClk Example program to give me multiple channels (4 channels in this case).
It keeps giving me buffer overrun problems (Error -200279) no matter what. Can any veterans spot the bug?
If I increase the buffer, I can at least increase the time before it overflows, but it always does, as suggested by http://digital.ni.com/public.nsf/allkb/AB7D4CA85967804586257380006F0E62
This Producer/Consumer pattern may be what I need, but I don't quite see why (since it's a simple single-thread application), nor how to implement it http://www.ni.com/white-paper/3023/en/
Another hint may be that, of what little data I can record, it appears that the channels are not separated properly, and all channels are the same data, I believe channel 0.
My code is attached. Any help is greatly appreciated.
I forgot to mention- I tried the default XferMech (Transfer Mechanism) of USBBulk, I tried changing it to Interrupts, and then I tried DMA. All give the same resulting buffer overflow.