
long optionBits)
4.4 AIStreamRead
Waits for a specified number of scans to be available and reads them. AIStreamStart should be
called before this function and AIStreamClear should be called when finished with the stream.
Declaration:
long __cdecl AIStreamRead (
long localID,
long
numScans,
long
timeout,
float
(*voltages)[4],
long
*stateIOout,
long
*reserved,
long
*ljScanBacklog,
long *overVoltage )
Parameter Description:
Returns:
LabJack errorcodes or 0 for no error.
Inputs:
•
localID –
Send the local ID from AIStreamStart.
•
numScans –
Function will wait until this number of scans is available. Minimum
is 1. Maximum numSamples is 4096, where numSamples is numScans *
numChannels. Internally this function gets data from the LabJack in blocks of 64
samples, so it is recommended that numSamples be at least 64.
•
timeout –
Function timeout value in seconds.
•
*voltages –
Pointer to a 4096 by 4 array where voltage readings are returned.
Send filled with zeros.
•
*stateIOout –
Pointer to a 4096 element array where IO states are returned.
Send filled with zeros.
Outputs:
•
*voltages –
Pointer to a 4096 by 4 array where voltage readings are returned.
Unused locations are filled with 9999.0.
•
*stateIOout –
Pointer to a 4096 element array where IO states are returned.
Unused locations are filled with 9999.0.
•
*reserved –
Reserved for future use. Send 0.
•
ljScanBacklog –
Returns the scan backlog of the LabJack RAM buffer. The size
of the buffer in terms of scans is 4096/numChannels.
•
*overVoltage –
If >0, an overvoltage has been detected on at least one sample
of one of the selected analog inputs.
ActiveX Function Differences:
The “voltages” and “stateIOout” arrays are represented as strings. Floating point data is
returned as 13 characters per number (XXXX.XXXXXXXX) and integers are returned as 10
characters per number (XXXXXXXXXX). Zeros are used for padding where necessary.
Declaration (ActiveX):
long AIStreamReadX (
long localID,
long numScans,
long timeout,
BSTR FAR* voltages,
BSTR FAR* stateIOout,
long FAR* ljScanBacklog,
long FAR* overVoltage)