Mouse code for the MacroRat

Dependencies:   ITG3200 QEI

Embed: (wiki syntax)

« Back to documentation index

InterruptManager Class Reference

InterruptManager Class Reference
[Drivers]

Use this singleton if you need to chain interrupt handlers. More...

#include <InterruptManager.h>

Public Member Functions

pFunctionPointer_t add_handler (void(*function)(void), IRQn_Type irq)
 Add a handler for an interrupt at the end of the handler list.
pFunctionPointer_t add_handler_front (void(*function)(void), IRQn_Type irq)
 Add a handler for an interrupt at the beginning of the handler list.
template<typename T >
pFunctionPointer_t add_handler (T *tptr, void(T::*mptr)(void), IRQn_Type irq)
 Add a handler for an interrupt at the end of the handler list.
template<typename T >
pFunctionPointer_t add_handler_front (T *tptr, void(T::*mptr)(void), IRQn_Type irq)
 Add a handler for an interrupt at the beginning of the handler list.
bool remove_handler (pFunctionPointer_t handler, IRQn_Type irq)
 Remove a handler from an interrupt.

Static Public Member Functions

static InterruptManagerget ()
 Return the only instance of this class.
static void destroy ()
 Destroy the current instance of the interrupt manager.

Detailed Description

Use this singleton if you need to chain interrupt handlers.

Synchronization level: Thread safe

Example (for LPC1768):

 #include "InterruptManager.h"
 #include "mbed.h"

 Ticker flipper;
 DigitalOut led1(LED1);
 DigitalOut led2(LED2);

 void flip(void) {
     led1 = !led1;
 }

 void handler(void) {
     led2 = !led1;
 }

 int main() {
     led1 = led2 = 0;
     flipper.attach(&flip, 1.0);
     InterruptManager::get()->add_handler(handler, TIMER3_IRQn);
 }

Definition at line 56 of file InterruptManager.h.


Member Function Documentation

InterruptManager * get (  ) [static]

Return the only instance of this class.

Definition at line 31 of file InterruptManager.cpp.