|
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. |