Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

Using double buffering, am I forced to transfer the data into

a "safe" buffer when half has been acquired or can I access directly the DIG_Block_In() target buffer (at my own risk) ? Is there a way to monitor the actual input pointer position in that buffer ? Is the DIG_DB_Transfer() source code available somewhere ?
0 Kudos
Message 1 of 3
(3,447 Views)
a "safe" buffer when half has been acquired or can I access directly the DIG_Block_In() target buffer (at my own risk) ? Is there a way to monitor the actual input pointer position in that buffer ? Is the DIG_DB_Transfer() source code available somewhere ?You can access the data directly from the buffer you pass in DIG_Block_In(). Since you are not calling DIG_DB_Transfer(), you need to turn off the oldDataStop parameter in DIG_DB_Config() so you will not get a buffer overflow error.

To monitor the input pointer, you can call DIG_Block_Check(), which returns the number of points remaining for the acquisition to get to the end of the buffer. For example, if your buffer can fit 1000 samples, and the device is about to write to the 800th sample, DIG_Block_Check() will return 200.

The DIG_DB_Transfer() source code is not available anywhere.
0 Kudos
Message 2 of 3
(3,447 Views)
a "safe" buffer when half has been acquired or can I access directly the DIG_Block_In() target buffer (at my own risk) ? Is there a way to monitor the actual input pointer position in that buffer ? Is the DIG_DB_Transfer() source code available somewhere ?If I am using double buffering on a PCI-6534 (32 MB buffer), acquiring a fixed amount of data (one board's worth - 32 MB) what is the sequence of events? Does the on-board buffer fill up first, and then read-out start, or does it try to read out continuously when acquisition is started?
0 Kudos
Message 3 of 3
(3,447 Views)