36 remote programming – SRS Labs SR850 User Manual

Page 212

Advertising
background image

6-36

Remote Programming

printf("\n\n");
for (i=0;i<10;i++)

printf("%d

%e\n",i,rfBuf[i]);

/* this is simple since the values are already floats */

}

void printOutLIAResults(void)
{

/* calculates the first 10 values of R transferred in LIA float format by the SR850 */

int i,mant,exp;
int *ptr;
float val;

printf("\n\n");
ptr =(int *) rfBuf;

/* ptr points to integers in rfBuf, not floats! */

for (i=0;i<10;i++) {

mant = *ptr++;

/* first comes the mantissa (16 bits) */

exp

= *ptr++ - 124;

/* then the binary exponent (16 bits) offset by 124 */

val

= (float) mant * (float) pow(2.0,(double) exp);

printf("%d

%e\n",i,val);

}

}

void initGpib(char *devName)
{

if ((lia=ibfind(devName))<0) {

printf("\nCannot Find SR850 \n\a");
exit(1);

}

}

void txLia(char *str)
{

char serPol;

ibwrt(lia,str,strlen(str));
do {

ibrsp(lia,&serPol);

/* now poll for IFC RDY */

}

while ((serPol&2)==0); /* until the command finishes executing */

}

void setupLiaForSweep(void)
{

txLia("*RST");

/* initialize the lock-in */

txLia("FMOD1;SLLM10.;SULM100.");

/* set sweep mode and sweep limits */

txLia("ILIN1");

/* put in the line notch filter */

txLia("SRAT10;SEND0;SLEN100");

/* set 64 Hz sample rate, stop at end of scan, 100 second
scan length */

txLia("SMOD0");

/* set single screen */

txLia("DTYP0,3;DTRC0,3");

/* set chart display, 'R' display */

Advertising