HP E1432A User's Guide

Using the HP E1432A

Once it has done this interrupt, the module will not do any more VME interrupts until re-enabled with hpe1432_reenableInterrupt. Normally, the last thing a host computer’s interrupt handler should do is call hpe1432_reenableInterrupt.

Events that would have caused an interrupt, but which are blocked because hpe1432_reenableInterrupt has not yet been called, will be saved. After hpe1432_reenableInterrupt is called, these saved events will cause an interrupt, so that there is no way for the host to “miss” an interrupt. However, the module will only do one VME interrupt for all of the saved events, so that the host computer will not get flooded with too many interrupts.

For things like “HPE1432_IRQ_BLOCK_READY”, which are not events but are actually states, the module will do an interrupt after hpe1432_reenableInterrupt only if the state is still present. This allows the host computer’s interrupt handler to potentially read multiple scans from an HP E1432A module, and not get flooded with block ready interrupts after the fact.

Host Interrupt Setup

This is a summary of how to set up an HP E1432A interrupt:

￿Look at the Resource Manager to find out which VME interrupt lines are available.

￿Tell the HP E1432A module to use the a VME interrupt line found in step one, using hpe1432_setInterruptPriority.

￿Set up an interrupt handler routine, using hpe1432_callBackInstall. The interrupt handler routine will get called when the interrupt occurs.

￿Set up interrupt mask in the HP E1432A module, using hpe1432_setInterruptMask.

Host Interrupt Handling

When the HP E1432A asserts the VME interrupt line, the program will cause the specified interrupt handler to get called. Typically the interrupt handler routine will read data from the module, and then re-enable

HP E1432A interrupts with hpe1432_reenableInterrupt. The call to

hpe1432_reenableInterrupt must be done unless the host is not interested in any more interrupts.

Inside the interrupt handler, almost any HP E1432A Host Interface library function can be called. This works because the Host Interface library disables interrupts around critical sections of code, ensuring that communication with the HP E1432A module stays consistent. Things that are not valid in the handler are:

3-30