EasyManua.ls Logo

VTI Instruments EX1000A - Vtex10 Xxa_Enable_Streaming_Dataex

VTI Instruments EX1000A
320 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
VTI Instruments Corp.
140 EX10xxA/RX1032/EX1044 Function Calls
vtex10xxA_enable_streaming_dataEx
FUNCTION PROTOTYPE
ViStatus _VI_FUNC vtex10xxA_enable_streaming_dataEx (ViSession vi, void *private_data,
EX10XXA_STREAM_CALLBACK callback, ViBoolean legacy_mode);
FUNCTION PARAMETERS
vi = contains a session handle to the instrument. This handle is obtained by the function and remains valid until the
session is closed.
private_data = a pointer to client data that is passed to the callback function.
callback = a call back function to be called when new data is received.
legacy_mode = a Boolean value indicating the time stamp resolution. If set to “1”, microsecond (ms) resolution is
used. If set to “0”, nanosecond (ns) resolution is used.
DATA ITEM RESET VALUE
Not applicable to this function.
DESCRIPTION
This function enables data streaming. Data is returned to the callback function that the user specified. In order to
implement this function, the macro INSTR_LANGUAGE_SPECIFIC must be defined.
NOTE If running the EX10xxA with existing EX1048 code, it is important to note that the time stamp for
the EX10xxA has nanosecond (ns) resolution, whereas the EX1048 has microsecond (µs) resolution.
If using the EX1048 Rev 2 plug&play driver with the EX1048A, the time stamp will be returned in
microseconds.
The callback function syntax is as follows:
ViInt32(*EX10XXA_STREAM_CALLBACK)(void *priv, EX10xxA_SampleData *data );
The callback data structure is as follows:
struct EX10xxA_SampleData {
ViUInt32 ss_secs; /* data sample time stamp */
ViUInt32 ss_nsecs; /* fractional part of time stamp in nanoseconds (microseconds in legacy mode) */
struct {
ViUInt32 x_len; /* array size of data samples */
ViReal32 *x_val; /* an array of data samples */
} x;
struct {
ViUInt32 x_counts_len; /* array size of ADC counts */
ViInt32 *x_counts_val; /* an array of 20-bit ADC Readings */
} x_counts;
struct {
ViUInt32 x_ticks_len; /* array size of x ticks */
ViUInt16 *x_ticks_val; /* 16-bit measurement timestamps - 100 ns offsets from scan start time */
} x_ticks;
struct {
ViUInt32 cjc_len; /* array size of cjc data*/
ViReal32 *cjc_val; /* an array of 32-bit floating point CJC values */
} cjc;
struct {
ViUInt32 cjc_counts_len; /* array size of cjc count */
ViUInt32 *cjc_counts_val; /* an array of 20-bit ADC Readings */
} cjc_counts;
struct {
ViUInt32 cjc_ticks_len; /* array size of cjc ticks */
ViUInt16 *cjc_ticks_val; /* 16-bit CJC timestamps - 100 ns offsets from scan start time */
} cjc_ticks;
struct {

Table of Contents

Related product manuals