theCore C++ embedded framework
|
Typedefs | |
using | handler_type = std::function< void()> |
Functions | |
void | init_storage () |
Initializes storage for callbacks and setups default handler for every IRQ. More... | |
void | subscribe (irq_num irqn, const irq::handler_type &handler) |
Subscribes to the given IRQ. More... | |
void | unsubscribe (irq_num irqn) |
Unsubscribes from the given IRQ. More... | |
static void | mask (irq_num irqn) |
Masks or disables the given IRQ. More... | |
static void | unmask (irq_num irqn) |
Unmasks or enables the given IRQ. More... | |
static irq_num | get_current_irqn () |
Gets current IRQ number. More... | |
static bool | in_isr () |
Checks if a processor is in handler mode of execution at this time. More... | |
static void | disable () |
Disables interrupts globally. More... | |
static void | enable () |
Enables interrupts globally. More... | |
static void | clear (irq_num irqn) |
Clears pending interrupt of the given IRQ. More... | |
static void | mask (irq_num irqn) |
Masks or disables the given IRQ. More... | |
static void | unmask (irq_num irqn) |
Unmasks or enables the given IRQ. More... | |
static irq_num | get_current_irqn () |
Gets current IRQ number. More... | |
static bool | in_isr () |
Checks if a processor is in handler mode of execution at this time. More... | |
static void | disable () |
Disables interrupts globally. More... | |
static void | enable () |
Enables interrupts globally. More... | |
static void | clear (irq_num irqn) |
Clears pending interrupt of the given IRQ. More... | |
static void | mask (irq_num irqn) |
Masks or disables the given IRQ. More... | |
static void | unmask (irq_num irqn) |
Unmasks or enables the given IRQ. More... | |
static irq_num | get_current_irqn () |
Gets current IRQ number. More... | |
static bool | in_isr () |
Checks if a processor is in handler mode of execution at this time. More... | |
static void | disable () |
Disables interrupts globally. More... | |
static void | enable () |
Enables interrupts globally. More... | |
static void | clear (irq_num irqn) |
Clears pending interrupt of the given IRQ. More... | |
using ecl::irq::handler_type = typedef std::function<void()> |
void ecl::irq::init_storage | ( | ) |
Initializes storage for callbacks and setups default handler for every IRQ.
void ecl::irq::subscribe | ( | irq_num | irqn, |
const irq::handler_type & | handler | ||
) |
Subscribes to the given IRQ.
[in] | irqn | Valid IRQ number. |
[in] | handler | New IRQ handler for given IRQ. |
void ecl::irq::unsubscribe | ( | irq_num | irqn | ) |
Unsubscribes from the given IRQ.
Default handler will be used for given IRQ if this call succeed.
[in] | irqn | Valid IRQ number. |
|
inlinestatic |
Masks or disables the given IRQ.
[in] | irqn | Valid IRQ number. |
|
inlinestatic |
Unmasks or enables the given IRQ.
[in] | irqn | Valid IRQ number. |
|
inlinestatic |
Gets current IRQ number.
|
inlinestatic |
Checks if a processor is in handler mode of execution at this time.
true | Processor is in handler mode. I.e. servicing IRQ or exception. |
false | Processor is in thread mode. |
|
inlinestatic |
Disables interrupts globally.
|
inlinestatic |
Enables interrupts globally.
|
inlinestatic |
Clears pending interrupt of the given IRQ.
[in] | irqn | Valid IRQ number. |