274 Keysight Signal Generators Programming Guide
Creating and Downloading Waveform Files
Programming Examples
fprintf(stderr, "Could not allocate memory for copy buffer\n");
}
fclose(file);
iclose(id);
return 0;
}
Importing and Downloading Using VISA—Big Endian Order
On the documentation CD, this programming example’s name is “DownLoad_Visa_c++.txt.”
This C++ programming example (compiled using Microsoft Visual C++ 6.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’s non–volatile memory
To load the waveform data to volatile (WFM1) memory, change the instDestfile declaration to:
“USER/BBG1/WAVEFORM/”.
//*********************************************************************************
// PROGRAM NAME:Download_Visa_c++.cpp
//
// PROGRAM DESCRIPTION:Sample test program to download ARB waveform data. Send a
// file in chunks of ascii data to the signal generator.
//
// NOTE: You must have the Keysight IO Libraries installed to run this program.
//
// This example uses the LAN/TCPIP to download a file to the signal generator's
// non-volatile memory. The program allocates a memory buffer on the PC or
// workstation of 102400 bytes (100*1024 bytes). The actual size of the buffer is
// limited by the memory on your PC or workstation, so the buffer size can be
// increased or decreased to meet your system limitations.
//
// While this program uses the LAN/TCPIP to download a waveform file into
// non-volatile memory, it can be modified to store files in volatile memory
// WFM1 using GPIB by setting the instrOpenString = "TCPIP0::xxx.xxx.xxx.xxx::INSTR"
// declaration with "GPIB::19::INSTR"
//
// The program also includes some error checking to alert you when problems arise
// while trying to download files. This includes checking to see if the file exists.
//**********************************************************************************
// IMPORTANT: Replace the xxx.xxx.xxx.xxx IP address in the instOpenString declaration
// in the code below with the IP address of your signal generator. (or you can use the
// instrument's hostname). Replace the localSrcFile and instDestFile directory paths