theCore C++ embedded framework
Collaboration diagram for IRQ control:

Functions

static void ecl::irq::mask (irq_num irqn)
 Masks or disables the given IRQ. More...
 
static void ecl::irq::unmask (irq_num irqn)
 Unmasks or enables the given IRQ. More...
 
static irq_num ecl::irq::get_current_irqn ()
 Gets current IRQ number. More...
 
static bool ecl::irq::in_isr ()
 Checks if a processor is in handler mode of execution at this time. More...
 
static void ecl::irq::disable ()
 Disables interrupts globally. More...
 
static void ecl::irq::enable ()
 Enables interrupts globally. More...
 
static void ecl::irq::clear (irq_num irqn)
 Clears pending interrupt of the given IRQ. More...
 

Detailed Description

Function Documentation

◆ mask()

static void ecl::irq::mask ( irq_num  irqn)
inlinestatic

Masks or disables the given IRQ.

Parameters
[in]irqnValid IRQ number.

◆ unmask()

static void ecl::irq::unmask ( irq_num  irqn)
inlinestatic

Unmasks or enables the given IRQ.

Parameters
[in]irqnValid IRQ number.

◆ get_current_irqn()

static irq_num ecl::irq::get_current_irqn ( )
inlinestatic

Gets current IRQ number.

Warning
Results are unspecified if called not within IRQ context.
Returns
Current IRQ number

◆ in_isr()

static bool ecl::irq::in_isr ( )
inlinestatic

Checks if a processor is in handler mode of execution at this time.

Return values
trueProcessor is in handler mode. I.e. servicing IRQ or exception.
falseProcessor is in thread mode.

◆ disable()

static void ecl::irq::disable ( )
inlinestatic

Disables interrupts globally.

◆ enable()

static void ecl::irq::enable ( )
inlinestatic

Enables interrupts globally.

◆ clear()

static void ecl::irq::clear ( irq_num  irqn)
inlinestatic

Clears pending interrupt of the given IRQ.

Parameters
[in]irqnValid IRQ number.