VT1433B User's Guide
Using the VT1433B
VT1433B Interrupt Behavior
Interrupt Setup
For an example of interrupt handling see the program event.c in the examples directory.
The VT1433B VXI module can be programmed to interrupt a host computer using the VME interrupt lines. VME provides seven such lines. Using hpe1432_setInterruptPriority, the VT1433B module can be set up to use any one of them.
The VT1432A can interrupt the host computer in response to different events. Use hpe1432_setInterruptMask to specify a mask of events on which to interrupt. This mask is created by OR'ing together the various conditions for an interrupt. The following table shows the conditions that can cause an interrupt:
Interrupt Mask Bit Definitions |
|
Define (in e1432.h) | Description |
HPE1432_IRQ_BLOCK_READY | Scan of data ready in FIFO |
HPE1432_IRQ_MEAS_ERROR | FIFO overflow |
HPE1432_IRQ_MEAS_STATE_CHANGE | Measurement state machine changed state |
HPE1432_IRQ_MEAS_WARNING | Measurement warning |
HPE1432_IRQ_OVERLOAD_CHANGE | Overload status changed |
HPE1432_IRQ_SRC_STATUS | Source channel interrupt |
HPE1432_IRQ_TACHS_AVAIL | Raw tach times ready for transfer to other modules |
HPE1432_IRQ_TRIGGER | Trigger ready for transfer to other modules |
VT1433B Interrupt Handling
To make the VT1433B module do the interrupt, both a mask and a VME Interrupt line must be specified, by calling hpe1432_setInterruptMask and hpe1432_setInterruptPriority respectively. Once the mask and line have been set and an interrupt occurs, the cause of the interrupt can be obtained by reading the HPE1432_IRQ_STATUS_REG register (using hpe1432_getInterruptReason). The bit positions of the interrupt mask and status registers match so the defines can be used to set and check IRQ bits.