User manual
Programmer’s Guide    Page 41 of 66 
AqReadParameters    readParams; // Read Definitions 
AqDataDescriptor    wfDesc;    // Returned (common) waveform values 
AqSegmentDescriptorAvg  segDesc;    // Returned segment values 
long channel = 1, nbrSamples = 20000; 
double waveformArray[20000];  
readParams.dataType = ReadReal64;     // Request Volts 
readParams.readMode = ReadModeAvgW;     
readParams.nbrSegments = 1;  
readParams.firstSampleInSeg = 0; 
readParams.segmentOffset = nbrSamples; 
readParams.firstSegment = 0;       // Read first segment 
readParams.nbrSamplesInSeg = nbrSamples;  
readParams.dataArraySize = sizeof(waveformArray); 
readParams.segDescArraySize = sizeof(AqSegmentDescriptorAvg); 
readParams.flags = 0; 
readParams.reserved = 0; 
readParams.reserved2 = 0.0; 
readParams.reserved3 = 0.0; 
AcqrsD1_readData(instrID, channel, &readParams, waveformArray, &wfDesc, 
&segDesc); 
Note: If you call a readout function while the acquisition mode is set to digitizer, it will return the last acquired single 
waveform, possibly with some unpredictable results. 
Note: The „raw‟ sums can be read directly with a different function call (see next section). The relationship between 
Volts and the raw sum is expressed by the following formula:  
for Averager mode data 
sum[i] = (volts[i] + offset + FS/2.0) * 256 * nbrWforms / FS 
or for Inverted Averager mode data 
sum[i] = (FS * 127./256. - volts[i] - offset) * 256 * nbrWforms / FS 
with the following definitions: 
sum[i] 
32-bit integer sum at position i, unipolar (i.e. 0 or positive)  
volts[i] 
floating point voltage at position i, as returned by the code fragments above 
offset 
offset in Volts, as set with AcqrsD1_configVertical 
FS 
full scale range in Volts, as set with AcqrsD1_configVertical 
nbrWforms 
number of summed waveforms 
The value of „nbrWforms‟ must be known, i.e. if the averaging process was interrupted before reaching the requested 
number of waveforms, the formula above yields wrong results. As a check that the correct value of „nbrWforms‟ was 
used, the value of „sum[i]‟, before conversion to an integer, must already be very close to an integer. 
Use this code fragment for the „legacy‟ function: 
long channel = 1, segmentNumber = 0, nbrSamples = 20000; 
long returnedSamples, tStampLo, tStampHi; 
double waveformArray[20000], horPos, sampTime; 
AcqrsD1_readRealWform(instrID, channel, segmentNumber, 0, nbrSamples, 
waveformArray, &returnedSamples, &horPos, 
&sampTime, &tStampLo, &tStampHi); 










