NI DIGITAL PATTERN DRIVER Capture Memory Functions - ni/grpc-device GitHub Wiki

Capture Memory Functions

niDigital_CreateCaptureWaveformParallel

Sets the capture waveform settings for parallel acquisition. Settings apply across all sites if multiple sites are configured in the pin map. You cannot reconfigure settings after waveforms are created.

C Function Prototype: ViStatus niDigital_CreateCaptureWaveformParallel (ViSession vi, ViConstString pinList, ViConstString waveformName)

Parameter Description
vi The specified instrument session the niDigital_init or niDigital_InitWithOptions function returns.
pinList List of capture pins from the waveform. The pinList must match the capture pins in the pattern that references the waveform. The pin order in the pinList determines the bit positions of the data captured by the niDigital_FetchCaptureWaveform function.
waveformName Waveform name you want to use. Use the waveformName with the capture_start opcode in your pattern.

Return value: Reports the status of the operation.

niDigital_CreateCaptureWaveformSerial

Sets the capture waveform settings for serial acquisition. Settings apply across all sites if multiple sites are configured in the pin map. You cannot reconfigure settings after waveforms are created.

C Function Prototype: ViStatus niDigital_CreateCaptureWaveformSerial (ViSession vi, ViConstString pinList, ViConstString waveformName, ViUInt32 sampleWidth, ViInt32 bitOrder)

Parameter Description
vi The specified instrument session the niDigital_init or niDigital_InitWithOptions function returns.
pinList List of capture pins from the waveform. The pinList must match the capture pins in the pattern that references the waveform. The pin order in the pinList determines the bit positions of the data captured by the niDigital_FetchCaptureWaveform function.
waveformName Waveform name you want to use. Use the waveformName with the capture_start opcode in your pattern.
sampleWidth Width in bits of each serial sample. Valid values are between 1 and 32.
bitOrder

Order in which to shift the bits.

- NIDIGITAL_VAL_MSB_FIRST (2500): Specifies the bit order by most significant bit first.

- NIDIGITAL_VAL_LSB_FIRST (2501): Specifies the bit order by least significant bit first.

Return value: Reports the status of the operation.

niDigital_CreateCaptureWaveformFromFileDigicapture

Creates a capture waveform with the configuration information from a Digicapture file generated by the Digital Pattern Editor.

C Function Prototype: ViStatus niDigital_CreateCaptureWaveformFromFileDigicapture (ViSession vi, ViConstString waveformName, ViConstString waveformFilePath)

Parameter Description
vi The specified instrument session the niDigital_init or niDigital_InitWithOptions function returns.
waveformName Waveform name you want to use. You must specify waveformName if the file contains multiple waveforms. Use the waveformName with the capture_start opcode in your pattern.
waveformFilePath Absolute file path to the capture waveform file (.digicapture) you want to load.

Return value: Reports the status of the operation.

niDigital_FetchCaptureWaveformU32

Fetches a defined number of samples for a specific list of sites. This function only returns data from sites that are enabled when fetch is called.

C Function Prototype: ViStatus niDigital_FetchCaptureWaveformU32 (ViSession vi, ViConstString siteList, ViConstString waveformName, ViInt32 samplesToRead, ViReal64 timeout, ViInt32 dataBufferSize, ViUInt32[] data, ViInt32* actualNumWaveforms, ViInt32* actualSamplesPerWaveform)

Parameter Description
vi The specified instrument session the niDigital_init or niDigital_InitWithOptions function returns.
siteList Site numbers listed as a comma-delimited list of strings of form siteN, where N is the site number. If you enter an empty string, the function fetches data from all sites.
waveformName Waveform name you create with the create capture waveform function. Use the waveformName parameter with capture_start opcode in your pattern.
samplesToRead Number of samples to fetch.
timeout Maximum time (in seconds) allowed for this function to complete. If this function does not complete within this time interval, this function returns an error.
dataBufferSize The number of elements in the ViUInt32 array you specify for data. To determine the size of the buffer to allocate for the data array, pass a value of 0 to the dataBufferSize parameter and a value of VI_NULL to the data parameter. In this case, the value returned by the actualNumWaveforms and actualSamplesPerWaveform parameters determine the size of the array necessary to hold the data. The data buffer size should be the number of samples per waveform multiplied by the number of waveforms.
data An array of digital states read from the sites in the siteList. Each row in the array corresponds to a site in the list. If a site is disabled, not enabled for burst, or the current instrument does not include any capture pins, the function does not return data for that site. Data for each site in the siteList are returned sequentially (non-interleaved). If you are using a list of pin names to read data from multiple instruments, use the niDigital_SortSiteResultsViUInt32Waveform function to order and combine the data to match the siteList. You can also use the niDigital_GetSiteResultsSiteNumbers function to obtain a list of returned sites.
Output
actualNumWaveforms Number of waveforms written to the data array.
actualSamplesPerWaveform Number of samples per waveform written to the data array.

Return value: Reports the status of the operation.

⚠️ **GitHub.com Fallback** ⚠️