Agilent Technologies E8663B Portable Generator User Manual


 
242 Agilent N518xA, E8663B, E44x8C, and E82x7D Signal Generators Programming Guide
Creating and Downloading Waveform Files
Programming Examples
Importing and Downloading I/Q Data—Big Endian Order
On the documentation CD, this programming example’s name is “impDwnLd_c++.txt.”
This C++ programming example (compiled using Metrowerks CodeWarrier 3.0) assumes that the data
is in big endian order and performs the following functions:
•error checking
binary file importing from the PC or workstation.
binary file download to the signal generator.
// Description: Send a file in blocks of data to a signal generator
//
#include <sicl.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
// ATTENTION:
// - Configure these three lines appropriately for your instrument
// and use before compiling and running
//
char* instOpenString = "gpib7,19"; //for LAN replace with “lan[<hostname or IP address>]”
const char* localSrcFile = "D:\\home\\TEST_WAVE"; //enter file location on PC/workstation
const char* instDestFile = "/USER/BBG1/WAVEFORM/TEST_WAVE"; //for non-volatile memory
//remove BBG1 from file path
// Size of the copy buffer
const int BUFFER_SIZE = 100*1024;
int
main()
{
INST id=iopen(instOpenString);
if (!id)
{
fprintf(stderr, "iopen failed (%s)\n", instOpenString);
return -1;
}
FILE* file = fopen(localSrcFile, "rb");
if (!file)
{
fprintf(stderr, "Could not open file: %s\n", localSrcFile);
return 0;
}