Debounce InterruptIn

Dependents:   led_sigfox Allumag_lampe_sigfox Case_study_02_Turnstile B18_MP3_PLAYER ... more

Revision:
4:19689187352e
Parent:
3:e4b7033508d1
Child:
6:e1461ccdf3c0
--- a/DebounceInterrupts.cpp	Tue Feb 18 05:11:10 2014 +0000
+++ b/DebounceInterrupts.cpp	Tue Feb 18 06:15:45 2014 +0000
@@ -4,15 +4,22 @@
 
 DebounceInterrupts::DebounceInterrupts(void (*fptr)(void), 
                                        InterruptIn *interruptIn, 
-                                       const bool& rise,
+                                       const interruptTrigger& trigger,
                                        const unsigned int& debounce_ms)
 {
     fCallback = fptr;
-    if (rise) {
+    
+    switch(trigger) {
+     case INT_RISE:
         interruptIn->rise(this, &DebounceInterrupts::_onInterrupt);
-    } else {
+        break;
+     case INT_FALL:
         interruptIn->fall(this, &DebounceInterrupts::_onInterrupt);
+        break;
+     default:
+        break;
     }
+
     fDebounce_us = 1000*debounce_ms;
 }