How can I program interrupts on a VME-1553 runing under Linux?

Condor does not support interrupts on the VME-1553 under Linux. However, it is not difficult to create your own interrupts. To begin the interrupt design, you should follow the "MIL-STD-1553 Universal Core Architecture Manual" to program the VME-1553 board for interrupts. If the board is programmed correctly, it will generate H/W interrupts.

Review the VME-1553 interrupt example for VxWorks provided on this page to better understand how to program interrupts. You need an interrupt service routine that the system invokes when the IRQ and the vector program occurs. You need to determine how to do that with your O/S and driver. That routine needs to check all applicable channels on the board to see which ones interrupted and clear the interrupts (this is very important!). You then need to exit the "isr" and schedule a deferred procedure. That procedure then processes the interrupt. The processing is application-specific, but you should read the interrupt queue and find the transaction of interest. BusTools_XX_ReadLastMessageBlock returns the transactions since the last interrupt.