Modified version to work with EventQueue (outside of ISR)
Diff: MultiClick.h
- Revision:
- 0:9c5c674dcaea
- Child:
- 1:67d677ad73e7
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MultiClick.h Fri Jun 10 08:09:22 2016 +0000 @@ -0,0 +1,28 @@ +#include "mbed.h" + +class MultiClick +{ +public: + MultiClick(PinName pin); + MultiClick(PinName pin, PinMode m); + void attach_clicked(void (*function)(void)); + void attach_doubleclicked(void (*function)(void)); + void attach_n_clicked(void (*function)(int)); + +private: + void isr(void); + void click_timeout( void ); + + Timeout *_timeout; + InterruptIn *_iin; + PinMode _mode; + + float _click_interval; + int _longpress; + + int _click_times; + + void (*_c_callback_clicked)(void); + void (*_c_callback_doubleclicked)(void); + void (*_c_callback_n_clicked)(int); +};