User manual

Programmer’s Guide Page 38 of 66
and, for users with segmentOffset > nbrSamplesInSeg,
arraySize ≥ segmentOffset * (nbrSegments+1) * (dataType + 1)
with
segmentOffset , nbrSamplesInSeg
where
the currentSegmentPad depends on the acquisition configuration and can be determined using the following
call,
Acqrs_getInstrumentInfo(instrID, ”TbSegmentPad”,
&currentSegmentPad);
for data that has already been acquired or
Acqrs_getInstrumentInfo(instrID, ”TbNextSegmentPad”,
&currentSegmentPad);
for data to be acquired after the next call to AcqrsD1_acquire.
the nbrSamplesNom is the nominal number of samples to record and may be different than what was asked
for! It can be determined using the following call,
AcqrsD1_getMemory(instrID, &nbrSamplesNom, &nbrSegments);
the nbrSegments can either be taken from the result given just above or it can be freely reduced to a smaller
value in the case of a partial read of the data.
You have to make sure that you ask for this information after the acquisition configuration has been established. This
is the case after an acquisition has been completed with the new configuration.
Similarly, for dataType = 3 the amount of memory needed (in bytes) is
arraySize ≥ 8 * segmentOffset * (nbrSegments+1)
with
segmentOffset , nbrSamplesInSeg
and
arraySize 8 * segmentOffset + (nbrSamplesNom + currentSegmentPad) * nbrSegments * (dataTypeADC
+ 1)
where dataTypeADC is 0 for the 8-bit instruments and 1 otherwise.
The following code can be used for reading a waveform sequence in 8 bit representation.