Stijn Dirickx
/
PGO6_VoteController_StijnDirickx
IoT werksessies embedded
Fork of PGO6_VoteController_template by
Diff: debounce_button.h
- Revision:
- 0:fd29cd85e75e
diff -r 000000000000 -r fd29cd85e75e debounce_button.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/debounce_button.h Thu Oct 26 07:33:07 2017 +0000 @@ -0,0 +1,19 @@ +#include "mbed.h" + +/** + Due to the imperfect design of the buttons, a press on the button is registered multple times. + The debouncer module makes sure that these false positives of the button are going to be ignored. + + Also, this module provides a multiclick service which allows the user to press the button multiple times + within a certain time frame. Therefore, multiple actions can be mapped to a single button. + +*/ + +extern volatile bool button1_pressed; // Used in the main loop +extern volatile bool button1_enabled; // Used for debouncing +extern volatile int multiclick_state; // Counts how many clicks occured in the time slot, used in main loop +extern volatile bool button1_busy; // Informs the mainloop that the user is clicking the button + +void button1_multiclick_reset_cb(void); // Resets the amount of clicks, but stores this value for the usage in the main loop +void button1_enabled_cb(void); // Enables the button again after a timeout, used for debouncing the button +void button1_onpressed_cb(void); // Callback which is called when the user presses the button \ No newline at end of file