VTI Instruments Corp.
138
EX10xxA/RX1032/EX1044 Function Calls
vtex10xxA_enable_streaming_data
F
UNCTION
P
ROTOTYPE
ViStatus _VI_FUNC vtex10xxA_enable_streaming_data (ViSession
vi
, void *
private_data
,
EX10XXA_STREAM_CALLBACK
callback
);
F
UNCTION
P
ARAMETERS
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.
D
ATA
I
TEM
R
ESET
V
ALUE
Not applicable to this function.
D
ESCRIPTION
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 */
Summary of Contents for EX1000A
Page 28: ...VTI Instruments Corp 28 EX10xxA Introduction EX1044 DIAGRAM ...
Page 29: ...www vtiinstruments com EX10xxA Introduction 29 FIGURE 1 5 EX1044 TABLE TOP USAGE ...
Page 34: ......
Page 56: ......
Page 74: ......
Page 130: ......
Page 282: ......