Chapter 2 Function Reference — DIG_DB_Config
©
National Instruments Corporation 2-159 NI-DAQ FRM for PC Compatibles
partialTransfer is a flag whose value enables or disables the mechanism whereby NI-DAQ
can transfer a final partial half buffer to the digital output block through a
DIG_DB_Transfer
call. The function stops digital block output when NI-DAQ has output the partial half. This
field is ignored for input groups.
0: Disallow partial half buffer transfer.
1: Allow partial half buffer transfer.
Using This Function
Double-buffered digital block functions cyclically input or output digital data to or from a
buffer. The buffer is divided into two equal halves so that NI-DAQ can save or write data
from one half while block operations use the other half. For input, this mechanism makes it
necessary to alternately save both halves of the buffer so that NI-DAQ does not overwrite
data in the buffer before saving the data. For output, the mechanism makes it necessary to
alternately write to both halves of the buffer so that NI-DAQ does not output old data. Use
DIG_DB_Transfer to save or write the data as NI-DAQ is inputting or outputting the data.
You should call
DIG_Block_Clear to stop the continuous cyclical double-buffered digital
operation started by
DIG_Block_Out or DIG_Block_In.
Refer to Chapter 5, NI-DAQ Double Buffering, of the NI-DAQ User Manual for PC
Compatibles for an explanation of double buffering.
For the AT-DIO-32F and AT-DIO-32HS, enabling either oldDataStop or partialTransfer
causes an artificial split in the digital block buffer, which requires DMA reprogramming at
the end of each half buffer. For a group that is configured for handshaking, this means that a
pause in data transfer can occur while NI-DAQ reprograms the DMA. For a group configured
for pattern generation, this can cause glitches in the digital input or output pattern (time lapses
greater than the programmed period) during DMA reprogramming. Therefore, you should
enable these options only if necessary.