EasyManua.ls Logo

VTI Instruments EX1000A - Vtex10 Xxa_Enable_Streaming_Data

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.
138 EX10xxA/RX1032/EX1044 Function Calls
vtex10xxA_enable_streaming_data
FUNCTION PROTOTYPE
ViStatus _VI_FUNC vtex10xxA_enable_streaming_data (ViSession vi, void *private_data,
EX10XXA_STREAM_CALLBACK callback);
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.
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 resolution (ns), whereas the EX1048 has microsecond resolution (µs).
The vtex10xxA_enable_streaming_dataEx call provides for compatibility with the EX1048 via the
legacy_mode parameter.
The callback function syntax is as follows:
ViInt32(*EX10XXA_STREAM_CALLBACK)(void *priv, EX10xxA_SampleData *data );
The SampleData structure, which holds each datapage, 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 {
ViUInt32 limits_len; /* array size of limit data */
ViUInt32 *limits_val; /* limit data 4 bits for each channel */

Table of Contents

Related product manuals