David's line following code from the LVBots competition, 2015.
Dependencies: GeneralDebouncer Pacer PololuEncoder mbed
Fork of DeadReckoning by
Diff: buttons.cpp
- Revision:
- 16:8eaa5bc2bdb1
- Parent:
- 11:bd14d512340a
- Child:
- 17:2df9861f53ee
diff -r 4df8c50b5e91 -r 8eaa5bc2bdb1 buttons.cpp --- a/buttons.cpp Mon Feb 24 00:21:05 2014 +0000 +++ b/buttons.cpp Mon Feb 24 01:26:00 2014 +0000 @@ -1,8 +1,13 @@ #include <mbed.h> #include "buttons.h" +#include "GeneralDebouncer.h" + +#define BUTTON_DEBOUNCE_TIME 20000 DigitalIn button1(p13); +GeneralDebouncer button1Debouncer(5000); + void buttonsInit() { button1.mode(PullUp); @@ -11,4 +16,28 @@ bool button1IsPressed() { return button1.read() == 0; -} \ No newline at end of file +} + +void button1Montior() +{ + button1Debouncer.update(button1IsPressed()); +} + +bool button1DefinitelyInState(bool state) +{ + button1Montior(); + return button1Debouncer.getState() == state && + button1Debouncer.getTimeInCurrentStateMicroseconds() > BUTTON_DEBOUNCE_TIME; +} + +bool button1DefinitelyPressed() +{ + return button1DefinitelyInState(true); +} + +bool button1DefinitelyReleased() +{ + return button1DefinitelyInState(false); +} + +