Timeout example: attaching a member function

Dependencies:   mbed

mbed 2 and mbed OS 5

This is an mbed 2 example. For an mbed-os example, please see:

Import programTimeout_Example

Simple Timeout example with class and callback to member function

Revision:
0:f24282a2495f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Tue Feb 19 15:53:38 2013 +0000
@@ -0,0 +1,28 @@
+#include "mbed.h"
+
+// A class for flip()-ing a DigitalOut 
+class Flipper {
+public:
+    Flipper(PinName pin) : _pin(pin) {
+        _pin = 0;
+    }
+    void flip() {
+        _pin = !_pin;
+    }
+private:
+    DigitalOut _pin;
+};
+
+DigitalOut led1(LED1);
+Flipper f(LED2);
+Timeout t;
+
+int main() {
+    t.attach(&f, &Flipper::flip, 2.0); // the address of the object, member function, and interval
+
+    // spin in a main loop. flipper will interrupt it to call flip
+    while(1) {
+        led1 = !led1;
+        wait(0.2);
+    }
+}
\ No newline at end of file