Agilent Technologies N5183A MXG User Manual

Page 257

Advertising
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

Advertising
This manual is related to the following products: