Agilent Technologies N5183A MXG User Manual

Page 257

background image

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

This manual is related to the following products: