Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: D7A_Demo-Get-started CVtoOSCConverter EE3501keypad D7A_Localisation ... more
Fork of DebouncedInterrupt by
Revision 17:96a51b236ba0, committed 2014-02-18
- Comitter:
- kandangath
- Date:
- Tue Feb 18 20:38:50 2014 +0000
- Parent:
- 16:7eaa188de0f9
- Child:
- 18:e6e9bc6402b7
- Commit message:
- Monitor both rising and falling edges
Changed in this revision
| DebouncedInterrupt.cpp | Show annotated file Show diff for this revision Revisions of this file |
| DebouncedInterrupt.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/DebouncedInterrupt.cpp Tue Feb 18 20:22:31 2014 +0000
+++ b/DebouncedInterrupt.cpp Tue Feb 18 20:38:50 2014 +0000
@@ -17,26 +17,15 @@
delete _din;
}
-void DebouncedInterrupt::attach(void (*fptr)(void),
- const interruptTrigger& trigger,
- const unsigned int& debounce_ms)
+void DebouncedInterrupt::attach(void (*fptr)(void), const unsigned int& debounce_ms)
{
if(fptr) {
fCallback = fptr;
_last_bounce_count = _bounce_count = 0;
+ _debounce_us = 1000*debounce_ms;
- switch(trigger) {
- case INT_RISE:
- _in->rise(this, &DebouncedInterrupt::_onInterrupt);
- break;
- case INT_FALL:
- _in->fall(this, &DebouncedInterrupt::_onInterrupt);
- break;
- default:
- break;
- }
-
- _debounce_us = 1000*debounce_ms;
+ _in->rise(this, &DebouncedInterrupt::_onInterrupt);
+ _in->fall(this, &DebouncedInterrupt::_onInterrupt);
}
}
@@ -54,7 +43,7 @@
{
_last_bounce_count = _bounce_count;
_bounce_count = 0;
- if(_din) {
+ if(_din->read()) {
fCallback();
}
}
@@ -64,4 +53,3 @@
_bounce_count++;
timeout.attach_us(this, &DebouncedInterrupt::_callback, _debounce_us);
}
-
--- a/DebouncedInterrupt.h Tue Feb 18 20:22:31 2014 +0000
+++ b/DebouncedInterrupt.h Tue Feb 18 20:38:50 2014 +0000
@@ -15,7 +15,7 @@
*
* int main()
* {
- * up_button.attach(&onUp, INT_FALL, 100);
+ * up_button.attach(&onUp, 100);
* while(1) {
* ...
* }
@@ -29,11 +29,6 @@
#include <stdint.h>
#include "mbed.h"
-enum interruptTrigger{
- INT_FALL = 0,
- INT_RISE = 1
-};
-
class DebouncedInterrupt {
private:
unsigned int _debounce_us;
@@ -52,7 +47,7 @@
~DebouncedInterrupt();
// Start monitoring the interupt and attach a callback
- void attach(void (*fptr)(void), const interruptTrigger& trigger=INT_FALL, const uint32_t& debounce_ms=10);
+ void attach(void (*fptr)(void), const uint32_t& debounce_ms=10);
// Stop monitoring the interrupt
void reset();
