HP E1433A User's Guide
Using the HP E1433A
Once it has done this interrupt, the module will not do any more VME interrupts until
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 E1433A 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 E1433A interrupt:
Look at the Resource Manager to find out which VME interrupt lines are available.
Tell the HP E1433A 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 E1433A module, using hpe1432_setInterruptMask.
Host Interrupt Handling
When the HP E1433A 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
HP E1433A 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 E1433A 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 E1433A module stays consistent. Things that are not valid in the handler are: