5.6 Board-Specific Information for Solo Type User Interrupts

All boards with interrupt capability may use the After and Instead types of user interrupts. However only the boards listed below have Solo type user interrupt capability. For each of these boards, all valid combinations for the DSCUSERINT structure are listed along with a description of the behavior. See the user interrupt example program in each board's example program set for more explanation.

Diamond-MM-AT

On Diamond-MM-AT, user interrupts are always driven by Counter 0. You have 2 choices for Counter 0's clock source. Diamond-MM-AT and Diamond-MM-16-AT behave identically with respect to user interrupts.

Diamond-MM-16-AT

On Diamond-MM-16-AT, user interrupts are always driven by Counter 0. You have 2 choices for Counter 0's clock source. Diamond-MM-AT and Diamond-MM-16-AT behave identically with respect to user interrupts.

{ border=1 ! intsource !! counter !! clksource !! Interrupt source |- | 0 || 0 || 0 || Counter 0, driven by on-board 100Khz clock |- | 0 || 0 || 1 || Counter 0, driven by external clock source connected to pin 29 on the I/O header (In0- pin) |}

Diamond-MM-32-AT

On Diamond-MM-32-AT, user interrupts are always driven by Counter 0. You have 3 choices for Counter 0's clock source:

Diamond-MM-48-AT

Emerald-MM-DIO

Emerald-MM-DIO has no counter/timers. It may be programmed to generate interrupts when a change of state is detected on digital I/O lines on ports 0-2. All parameters for dscuserint are ignored and should be left at 0. However the function must still be called to initiate interrupts. The user interrupt operation is configured with dscEMMDIOSetState.

Garnet-MM-24, Garnet-MM-48

On Garnet-MM, user interrupts are generated by the digital I/O lines C0 on each 82C55. There is no hardware configuration required, so all values for dscuserint are 0. Garnet-MM-24 has one interrupt using C0 on chip no. 1, while Garnet-MM-48 has two interrupts using C0 on each chip.

Onyx-MM

User interrupt features apply only to Onyx-MM. Onyx-MM-DIO has no interrupt capability. On Onyx-MM, dscUserInt.counter is not used and set to 0 in all cases.

* In these modes, if clksource = 0 (external clock), then rate = 0 and the user must program the counter/timer(s) beforehand for the desired rate using dscCounterDirectSet(), since the driver has no way of knowing the input frequency in order to determine the proper divider.

Prometheus

On Prometheus, only Counter 1 is used for solo-type user interrupts.

Hercules-EBX

On Hercules, only Counter 1 is used for solo-type user interrupts.

Last updated