Agilent Technologies E8663B Portable Generator User Manual


 
Agilent N518xA, E8663B, E44x8C, and E82x7D Signal Generators Programming Guide 247
Creating and Downloading Waveform Files
Programming Examples
long lenToSend = ftell(file);// Number of bytes in the file
printf("File size = %d\n", lenToSend);
if (fseek(file, 0, SEEK_SET) < 0)
{
fprintf(stderr,"Cannot lseek to the start of file.\n");
return 0;
}
unsigned char* buf = new unsigned char[BUFFER_SIZE]; // Allocate char buffer memory
if (buf && lenToSend)
{
// Do not send the EOI (end of instruction) terminator on any write except the
// last one
viSetAttribute( vi, VI_ATTR_SEND_END_EN, 0 );
// Prepare and send the SCPI command header
char s[20];
sprintf(s, "%d", lenToSend);
int lenLen = strlen(s);
unsigned char s2[256];
// Write the command mmem:data and the header.The number lenLen represents the
// number of bytes and the actual number of bytes is the variable lenToSend
sprintf((char*)s2, "mmem:data \"%s\", #%d%d", instDestFile, lenLen, lenToSend);
// Send the command and header to the signal generator
viWrite(vi, s2, strlen((char*)s2), 0);
long numRead;
// Send file in BUFFER_SIZE chunks to the signal generator
do