theCore C++ embedded framework
|
External interrupt manager class. More...
#include </home/travis/build/forGGe/theCore/platform/tm4c/export/platform/exti_manager.hpp>
Data Structures | |
class | handler |
External interrupt handler. More... | |
Public Types | |
enum | trigger { trigger::rising, trigger::falling, trigger::both } |
EXTI trigger. More... | |
using | callback = void(*)(void *) |
Useful alias. More... | |
using | callback = void(*)(void *) |
Useful alias. More... | |
using | trigger = gpio_hw::int_source |
EXTI trigger. More... | |
Public Member Functions | |
exti_manager ()=delete | |
Construction isn't allowed. More... | |
~exti_manager ()=delete | |
Destruction isn't allowed. More... | |
exti_manager ()=delete | |
Construction isn't allowed. More... | |
~exti_manager ()=delete | |
Destruction isn't allowed. More... | |
Static Public Member Functions | |
static void | init () |
Initializes EXTI manager. More... | |
template<typename Gpio > | |
static void | subscribe (handler &h, trigger t) |
Subscribes to event on the given GPIO. More... | |
static void | unsubscribe (handler &h) |
Unsubscribes handler from any event. More... | |
static void | mask (handler &h) |
Masks (disables) pending EXTI request. More... | |
static void | unmask (handler &h) |
Unmasks (enables) pending EXTI request. More... | |
static void | init () |
Initializes EXTI manager. More... | |
template<typename Gpio > | |
static void | subscribe (handler &h, trigger t) |
Subscribes to event on the given GPIO. More... | |
static void | unsubscribe (handler &h) |
Unsubscribes handler from any event. More... | |
static void | mask (handler &h) |
Masks (disables) pending EXTI request. More... | |
static void | unmask (handler &h) |
Unmasks (enables) pending EXTI request. More... | |
Static Protected Member Functions | |
template<gpio_hw::port Port> | |
static void | irq_port_handler () |
Handles event from given port. More... | |
External interrupt manager class.
Allows users to handle and manage external interrupts.
using ecl::exti_manager::callback = void (*)(void *) |
Useful alias.
using ecl::exti_manager::callback = void (*)(void *) |
Useful alias.
EXTI trigger.
|
strong |
|
delete |
Construction isn't allowed.
|
delete |
Destruction isn't allowed.
|
delete |
Construction isn't allowed.
|
delete |
Destruction isn't allowed.
|
static |
Initializes EXTI manager.
Subscribes to event on the given GPIO.
User should retain handler object in the valid state in order to receive any events associated with given EXTI. Upon deletion of the handler object unsubscription will be executed by itself. To start receving events, they must be additionally unmasked via unmask() call.
[out] | h | Unsubscribed handler of a GPIO event. |
[in] | t | Trigger which will produce event. |
|
static |
Unsubscribes handler from any event.
It is possible to use the same handler for subscribe() call if it was successfully unsubscribed().
[in] | h | Handler, must be previously subscribed. |
|
static |
Masks (disables) pending EXTI request.
[in] | h | Previously subscribed handler. |
|
static |
Unmasks (enables) pending EXTI request.
[in] | h | Previously subscribed handler. |