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 4:19689187352e, committed 2014-02-18
- Comitter:
- kandangath
- Date:
- Tue Feb 18 06:15:45 2014 +0000
- Parent:
- 3:e4b7033508d1
- Child:
- 5:3c0f741fb448
- Commit message:
- Add enum for interrupt trigger
Changed in this revision
| DebounceInterrupts.cpp | Show annotated file Show diff for this revision Revisions of this file |
| DebounceInterrupts.h | Show annotated file Show diff for this revision Revisions of this file |
--- 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;
}
--- a/DebounceInterrupts.h Tue Feb 18 05:11:10 2014 +0000
+++ b/DebounceInterrupts.h Tue Feb 18 06:15:45 2014 +0000
@@ -9,16 +9,21 @@
#include <stdint.h>
#include "mbed.h"
+enum interruptTrigger{
+ INT_FALL = 0,
+ INT_RISE = 1
+};
+
class DebounceInterrupts {
private:
unsigned int fDebounce_us;
void (*fCallback)(void);
void _onInterrupt(void);
public:
- DebounceInterrupts(void (*fptr)(void), /* function to be called after debounced InterruptIn */
- InterruptIn *interrupt, /* InterruptIn to monitor */
- const bool& rise=true, /* true: rise, false: fall */
- const uint32_t& debounce_ms=10); /* stability duration required */
+ DebounceInterrupts(void (*fptr)(void), /* function to be called after debounced InterruptIn */
+ InterruptIn *interrupt, /* InterruptIn to monitor */
+ const interruptTrigger& trigger, /* true: rise, false: fall */
+ const uint32_t& debounce_ms=10); /* stability duration required */
~DebounceInterrupts();
};
#endif
\ No newline at end of file
