Programming Examples | 9 |
*/ |
|
|
|
void analyze (void) |
|
|
|
{ |
|
|
|
double frequency, vpp; | /* Measurements. */ | ||
double vdiv, off, sdiv, delay; | /* Values calculated from preamble | ||
|
| data. */ |
|
int i; | /* Loop counter. */ | ||
unsigned char setup_string[SETUP_STR_SIZE]; | /* Array for setup | ||
|
|
| string. */ |
int setup_size; |
|
|
|
FILE *fp; |
|
|
|
unsigned char image_data[IMG_SIZE]; | * Array for image data. */ | ||
int img_size; |
|
|
|
/* SAVE_SYSTEM_SETUP - The :SYSTEM:SETUP? query returns a program
*message that contains the current state of the instrument. Its
*format is a
*#800002204<setup string><NL>
*where the setup string is 2204 bytes in length.
*/
setup_size = SETUP_STR_SIZE;
/* Query and read setup string. */
viQueryf(vi, ":SYSTEM:SETUP?\n", "%#b\n", &setup_size, setup_string); printf("Read setup string query (%d bytes).\n", setup_size);
/* Write setup string to file. */
fp = fopen ("c:\\scope\\config\\setup.dat", "wb");
setup_size = fwrite(setup_string, sizeof(unsigned char), setup_size, fp);
fclose (fp);
printf("Wrote setup string (%d bytes) to file.\n", setup_size);
/* RESTORE_SYSTEM_SETUP - Uploads a previously saved setup string
*to the oscilloscope.
*/
/* Read setup string from file. */
fp = fopen ("c:\\scope\\config\\setup.dat", "rb"); setup_size = fread (setup_string, sizeof(unsigned char),
SETUP_STR_SIZE, fp); fclose (fp);
printf("Read setup string (%d bytes) from file.\n", setup_size); /* Restore setup string. */
viPrintf(vi, ":SYSTEM:SETUP #8%08d", setup_size); viBufWrite(vi, setup_string, setup_size, &setup_size); viPrintf(vi, "\n");
printf("Restored setup string (%d bytes).\n", setup_size);
/* IMAGE_TRANSFER - In this example we will query for the image
*data with ":DISPLAY:DATA?" to read the data and save the data
*to the file "image.dat" which you can then send to a printer.
*/
viSetAttribute(vi, VI_ATTR_TMO_VALUE, 30000); printf("Transferring image to c:\\scope\\data\\screen.bmp\n"); img_size = IMG_SIZE;
viQueryf(vi, ":DISPLAY:DATA? BMP8bit, SCREEN, COLOR\n", "%#b\n", &img_size, image_data);
printf("Read display data query (%d bytes).\n", img_size);
Agilent InfiniiVision 5000 Series Oscilloscopes Programmer's Reference | 563 |