9Programming Examples

SICL Example in C

/*

*Agilent SICL Example in C

*------------------------------------------------------------------

*This program illustrates most of the commonly-used programming

*features of your Agilent oscilloscope.

*This program is to be built as a WIN32 console application.

*Edit the DEVICE_ADDRESS line to specify the address of the

*applicable device.

*/

 

 

 

#include <stdio.h>

 

/* For printf(). */

 

#include "sicl.h"

 

/* SICL routines. */

 

/* #define DEVICE_ADDRESS "gpib0,7" */

/* GPIB */

/* #define DEVICE_ADDRESS "lan[a-mso6102-90541]:inst0" */

/* LAN */

#define DEVICE_ADDRESS "usb0[2391::5970::30D3090541::0]"

/* USB */

#define WAVE_DATA_SIZE 5000

 

 

#define TIMEOUT

5000

 

 

#define SETUP_STR_SIZE 3000

 

 

#define IMG_SIZE

300000

 

 

/* Function prototypes */

 

 

void initialize(void);

/* Initialize the oscilloscope. */

void extra(void);

 

/* Miscellaneous commands not executed,

 

 

shown for reference purposes. */

void capture(void);

 

/* Digitize data from oscilloscope. */

void analyze(void);

 

/* Make some measurements. */

void get_waveform(void);

/* Download waveform data from

 

 

oscilloscope. */

 

void save_waveform(void);

/* Save waveform data to a file. */

void retrieve_waveform(void);

/* Load waveform data from a file. */

/* Global variables */

 

 

INST id;

 

/* Device session ID. */

 

char buf[256] = { 0 };

/* Buffer for IDN string. */

 

/* Array for waveform data. */

 

 

unsigned char waveform_data[WAVE_DATA_SIZE];

 

double preamble[10];

 

/* Array for preamble. */

 

void main(void)

{

/* Install a default SICL error handler that logs an error message

*and exits. On Windows 98SE or Windows Me, view messages with

*the SICL Message Viewer. For Windows 2000 or XP, use the Event

*Viewer.

*/

ionerror(I_ERROR_EXIT);

/* Open a device session using the DEVICE_ADDRESS */ id = iopen(DEVICE_ADDRESS);

550

Agilent InfiniiVision 5000 Series Oscilloscopes Programmer's Reference

Page 550
Image 550
Agilent Technologies 5000 Series manual Sicl Example in C