diff options
Diffstat (limited to 'examples/exti-interrupt-callback.cpp')
-rw-r--r-- | examples/exti-interrupt-callback.cpp | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/examples/exti-interrupt-callback.cpp b/examples/exti-interrupt-callback.cpp index 1053ab2..c87c064 100644 --- a/examples/exti-interrupt-callback.cpp +++ b/examples/exti-interrupt-callback.cpp @@ -4,10 +4,10 @@ // // This is similar to the exti-interrupt example, but shows the use of a class // method to handle interrupts. -// -// More about attachInterrupt: +// +// More about attachInterrupt: // http://leaflabs.com/docs/lang/api/attachinterrupt.html -// +// #include <wirish/wirish.h> @@ -18,36 +18,36 @@ public: void initialize() { // LED is off by default this->isLEDOn = false; - + // Attach interrupt to class method handler attachInterrupt(BOARD_BUTTON_PIN, buttonInterruptHandler, this, RISING); } - + private: bool isLEDOn; - // Static event handler takes a void * argument that was originally - // passed to the attachInterrupt call. If the argument in question is an + // Static event handler takes a void * argument that was originally + // passed to the attachInterrupt call. If the argument in question is an // instance of the class (MyAwesomeClass in this case), the static function - // get access to that instance's data (even private data). + // get access to that instance's data (even private data). // - // In other words, this setup allows the Maple to have class method + // In other words, this setup allows the Maple to have class method // interrupt handlers (albeit with a work around). // - // However, as you might imagine, this argument can be anything (if you + // However, as you might imagine, this argument can be anything (if you // don't need instance data access). // static void buttonInterruptHandler(void *arg) { // Cast the "generic" void argument to the class instance. MyAwesomeClass *instance = (MyAwesomeClass *)arg; - + // Accessing private instance data instance->isLEDOn = !(instance->isLEDOn); - + // Set LED digitalWrite(BOARD_LED_PIN, instance->isLEDOn); - + // Delay slightly for switch de-bouncing delay(20); } @@ -59,16 +59,16 @@ MyAwesomeClass myClass; void setup() { pinMode(BOARD_BUTTON_PIN, INPUT); pinMode(BOARD_LED_PIN, OUTPUT); - + // The initialize method sets up the event handler to the private method - // in MyAwesomeClass. There is however, nothing stopping you from setting + // in MyAwesomeClass. There is however, nothing stopping you from setting // up event handlers which are public methods in classes. myClass.initialize(); } // Loop. Does nothing in this example. void loop() { - + } // Force init to be called *first*, i.e. before static object allocation. |