Acqiris U5310A User Manual page 78

Acquisition card
Hide thumbs Also See for U5310A:
Table of Contents

Advertisement

7.10   How to perform partial readout?
ViConstString channel = "Channel1";
ViInt64 const firstRecord = 0;
ViInt64 const offsetWithinRecord = 0;
ViInt64 const numRecordsToRead = 1;
ViInt64 const numPointToRead = points / 2;
ViInt64 arraySize = 0;
ViInt16* dataArray = NULL;
ViInt64 actualRecords = 0;
ViInt64 actualPoints[numRecordsToRead], firstValidPoint[numRecordsToRead];
ViReal64 initialXOffset[numRecordsToRead], initialXTimeSeconds
[numRecordsToRead], initialXTimeFraction[numRecordsToRead];
ViReal64 xIncrement = 0.0, scaleFactor = 0.0, scaleOffset = 0.0;
ViStatus status = VI_SUCCESS;
// Computes minimum data array size for the requested fetch
status = AqMD3_QueryMinWaveformMemory(session, 16, numRecordsToRead, 0,
numPointToRead, &arraySize);
if (status != VI_SUCCESS) { /*handle errors and warnings*/ }
// Allocate memory for waveform data
dataArray = (ViInt16*)malloc((size_t)arraySize * sizeof(ViInt16));
// Fetch the first numPointToRead data
status = AqMD3_FetchMultiRecordWaveformInt16(
session
, channel
, firstRecord
, numRecordsToRead
, offsetWithinRecord
, numPointToRead
, arraySize
, dataArray
, &actualRecords
, actualPoints
, firstValidPoint
, initialXOffset
, initialXTimeSeconds
, initialXTimeFraction
, &xIncrement
, &scaleFactor
, &scaleOffset);
if (status != VI_SUCCESS) { /*handle errors and warnings*/ }
// Fetch the second numPointToRead data into the same data array
status = AqMD3_FetchMultiRecordWaveformInt16(
session
, channel
, firstRecord
, numRecordsToRead
, offsetWithinRecord + numPointToRead
, numPointToRead
, arraySize
, dataArray
, &actualRecords
, actualPoints
, firstValidPoint
, initialXOffset
, initialXTimeSeconds
, initialXTimeFraction
, &xIncrement
, &scaleFactor
, &scaleOffset);
if (status != VI_SUCCESS) { /*handle errors and warnings*/ }
78
U5310A User's Manual

Advertisement

Table of Contents
loading

Table of Contents