Agilent Technologies 5000 Series Sander User Manual


 
Programming Examples 9
Agilent InfiniiVision 5000 Series Oscilloscopes Programmer's Reference 565
void get_waveform (void)
{
int waveform_size;
/* WAVEFORM_DATA - To obtain waveform data, you must specify the
* WAVEFORM parameters for the waveform data prior to sending the
* ":WAVEFORM:DATA?" query.
*
* Once these parameters have been sent, the ":WAVEFORM:PREAMBLE?"
* query provides information concerning the vertical and horizontal
* scaling of the waveform data.
*
* With the preamble information you can then use the
* ":WAVEFORM:DATA?" query and read the data block in the
* correct format.
*/
/* WAVE_FORMAT - Sets the data transmission mode for waveform data
* output. This command controls how the data is formatted when
* sent from the oscilloscope and can be set to WORD or BYTE format.
*/
/* Set waveform format to BYTE. */
viPrintf(vi, ":WAVEFORM:FORMAT BYTE\n");
/* WAVE_POINTS - Sets the number of points to be transferred.
* The number of time points available is returned by the
* "ACQUIRE:POINTS?" query. This can be set to any binary
* fraction of the total time points available.
*/
viPrintf(vi, ":WAVEFORM:POINTS 1000\n");
/* GET_PREAMBLE - The preamble contains all of the current WAVEFORM
* settings returned in the form <preamble block><NL> where the
* <preamble block> is:
* FORMAT : int16 -0=BYTE,1=WORD, 2 = ASCII.
* TYPE : int16 -0=NORMAL, 1 = PEAK DETECT, 2 = AVERAGE.
* POINTS : int32 - number of data points transferred.
* COUNT : int32 - 1 and is always 1.
* XINCREMENT : float64 - time difference between data points.
* XORIGIN : float64 - always the first data point in memory.
* XREFERENCE : int32 - specifies the data point associated
* with the x-origin.
* YINCREMENT : float32 - voltage difference between data points.
* YORIGIN : float32 - value of the voltage at center screen.
* YREFERENCE : int32 - data point where y-origin occurs.
*/
printf("Reading preamble\n");
viQueryf(vi, ":WAVEFORM:PREAMBLE?\n", "%,10lf\n", preamble);
/*
printf("Preamble FORMAT: %e\n", preamble[0]);
printf("Preamble TYPE: %e\n", preamble[1]);
printf("Preamble POINTS: %e\n", preamble[2]);
printf("Preamble COUNT: %e\n", preamble[3]);
printf("Preamble XINCREMENT: %e\n", preamble[4]);
printf("Preamble XORIGIN: %e\n", preamble[5]);
printf("Preamble XREFERENCE: %e\n", preamble[6]);