IOOUTPUTS(ADDR, "SYST:ERR?", 9);

/* Query error register */

IOENTERS(ADDR, into, &length);

/* Enter error message */

if (atoi(into) != 0)

/* Determine if error is present */

 

/* If errors present, print and exit */

{

while (atoi(into) != 0)

{

printf("Error %s in function %s\n\n", into, func_tion); IOOUTPUTS(ADDR, "SYST:ERR?", 9); IOENTERS(ADDR, into, &length);

}

exit(1);

}

}

Comments 1. Segmented Readings. Multiple bursts of pre-arm and post-arm readings segment memory (see Figure 3-13). When transferring segmented readings over the VME bus real time or post measurement, a partition window must be accounted for. A partition window is the period during which the digitizer configures each segment for data transfer. The partition window is monitored by bit 1 of digitizer offset register 4316, and by bit 9 of the condition register in the Operation Status Group (Figure 3-13). A low-to-high transition of the bit indicates the next segment can be transferred.

2.Monitoring the Partition Window. It is only necessary to monitor the partition window bits when the digitizer readings are segmented and the data register is accessed at speeds available through an embedded controller. Monitoring bit 1 of offset register 4316 is faster than using SCPI commands to monitor bit 9 of the condition register.

3.Locating the Registers. Access to the data register and offset register

4316 is through their addresses which are mapped by the HP E1406 Command Module or the system resource manager into A24 address space. The data register offset (1210 or 0C16) and Offset register 4316 (6710) is added to the A24 base address to form the complete register addresses. In the program, the C function long get_base_addr(void) determines the A24 base address by reading the digitizer’s offset register in A16 address space. Detailed information on locating the data and offset 4316 registers can be found in Chapter 3 under the section "VME Bus Data Transfers".

Chapter 2

Using the Digitizer 71

Page 71
Image 71
HP E1429A manual Iooutputsaddr, Systerr?