FlxCard
Loading...
Searching...
No Matches
Interrupt

Functions

void FlxCard::irq_enable (u_int interrupt=ALL_IRQS)
 
void FlxCard::irq_disable (u_int interrupt=ALL_IRQS)
 
void FlxCard::irq_wait (u_int interrupt)
 
void FlxCard::irq_clear (u_int interrupt=ALL_IRQS)
 
void FlxCard::irq_cancel (u_int interrupt=ALL_IRQS)
 
void FlxCard::irq_reset_counters (u_int interrupt=ALL_IRQS)
 

Detailed Description

This section describes the interrupt handler (IRQ) related functions.

Function Documentation

◆ irq_enable()

void FlxCard::irq_enable ( u_int interrupt = ALL_IRQS)

Enables one interrupt channel or all channels of one FLX card. If called with interrupt set to the number of an interrupt only this channel will be enabled. If called with interrupt set to ALL_IRQS or if the interrupt parameter is omitted, all channels of the given card will be enabled.

This method calls a function of the flx device driver. Errors In case of an error, an exception is thrown.

Parameters
interruptThe number of the interrupt; legal values are 0..7 and ALL_IQRS

◆ irq_disable()

void FlxCard::irq_disable ( u_int interrupt = ALL_IRQS)

Disables one interrupt channel or all channels of one FLX card. If called with interrupt set to the number of an interrupt only this channel will be disabled. If called with interrupt set to ALL_IRQS or if the interrupt parameter is omitted, all channels of the given card will be disabled.

This method calls a function of the flx device driver.

Errors In case of an error, an exception is thrown.

Parameters
interruptThe number of the interrupt; legal values are 0..7 and ALL_IRQS

◆ irq_wait()

void FlxCard::irq_wait ( u_int interrupt)

Is blocking. It suspends the execution of a user application until the interrupts of the number specified in interrupt has been received by the flx driver.

The waiting takes place in the driver.

Errors In case of an error, an exception is thrown.

Parameters
interruptThe number (0..7) of the interrupt that is to be waited for

◆ irq_clear()

void FlxCard::irq_clear ( u_int interrupt = ALL_IRQS)

Instructs the driver to clear unsolicited interrupts. These are interrupts that may have been received by the driver while no user application was waiting for them. If the driver has received an unsolicited interrupt and irq_wait() is called by an application without clearing the interrupt, the application will continue immediately instead of waiting for an interrupt.

As this method interferes with the interrupt flags of the device driver it should only be called if no applications are waiting for the interrupts specified in interrupt.

Errors In case of an error, an exception is thrown.

Parameters
interruptThe number (0..7) of the interrupt that is to be cleared or ALL_IQRS to clear all interrupts of that given card

◆ irq_cancel()

void FlxCard::irq_cancel ( u_int interrupt = ALL_IRQS)

Instructs the driver to cancel wait requests for one particular interrupt or for all interrupts of one FLX card. It will therefore unblock applications that are waiting for an interrupt. As the function is setting an internal flag of the driver in order to simulate an interrupt by S/W it should only be called if an application is blocked.

Errors In case of an error, an exception is thrown.

Parameters
interruptThe number (0..7) of the interrupt that is to be cancelled or ALL_IQRS to cancel all interrupts of that given card

◆ irq_reset_counters()

void FlxCard::irq_reset_counters ( u_int interrupt = ALL_IRQS)

Resets the counters of one or all interrupts of the given FLX card. The counters count the number of times a given interrupt has been signalled. Their values are shown in the file /proc/flx. This method makes a call to the driver.

Errors In case of an error, an exception is thrown.

Parameters
interruptThe number (0..7) of the interrupt that is to be reset or ALL_IQRS to reset all interrupts of that given card