free(rdgs);

}

/****************************************************************************/ long get_base_addr(void)

{

/* digitizer logical address */

long logical_addr = (ADDR - 70900L) * 8;

/* base address of (A24) offset register in A16 address space */ long base_addr = (0x1FC000 + (logical_addr * 64)) + 6;

float a24offst;

/* A24 offset from A16 offset register */

char rd_addr[80];

/* command string variable */

/* Create the command string which reads the A24 base address */ sprintf(rd_addr, "DIAG:PEEK? %ld, %d", base_addr,16);

/* Send DIAG:PEEK? command */ IOOUTPUTS(CMD_MOD, rd_addr, strlen(rd_addr));

/* Read value from offset register */ IOENTER(CMD_MOD, &a24offst);

/* Multiply offset value by 256 for 24-bit address value */ a24offst *= 256.;

return (long)a24offst;

}

/****************************************************************************/ void rst_clr(void)

{

/* Reset and clear the digitizer */

IOOUTPUTS(ADDR, "*RST;*CLS", 9);

}

/****************************************************************************/ void check_error(char *func_tion)

{

char into[161]; intlength = 160;

Continued on Next Page

70 Using the Digitizer

Chapter 2

Page 70
Image 70
HP E1429A manual Iooutputsaddr, *Rst*Cls