button procedure library
button.h
- Committer:
- ChuckTimber
- Date:
- 2014-08-12
- Revision:
- 6:b6a97933b3d5
- Parent:
- 3:1c47d318e457
File content as of revision 6:b6a97933b3d5:
/** * @file button.h * Project button handling Library * @brief button handling library for mbed * @version 1.03 * @author Chuck Timber * @date 12/08/2014 */ #ifndef MBED_BUTTON_H #define MBED_BUTTON_H #include "mbed.h" /** @defines */ #define BTN_SAMPLING_PERIOD 0.01 namespace mbed { /** Class: BTN * A class handles button input procedure, which uses DigitalIn and Ticker * * Refered to: http://elm-chan.org/docs/tec/te03.html * * Example: * @code * // Button sample * #include "mbed.h" * #include "button.h" * * BTN btn(dp13); * * int main() * { * int mode = 0; * int value; * * btn.CMD = 0; * while(1) { * if(btn.CMD) { * mode++; * btn.CMD = 0; * srand( time(NULL) ); * } * if (mode % 2) value = rand(); * } * } * @endcode */ class BTN { public: unsigned char CMD; /*!< CMD represents that the button has been pressed. * @retval 1 - button has been pressed */ unsigned char STAT; /*!< STAT represents that the button is being pressed. * @retval 1 - button is being pressed */ /** constructor * * @param pin - button pin number (DigitalIn), the pin is PullUp internally */ BTN(PinName pin); /// destructor virtual ~BTN() { }; private: /** sample_btn input and process */ void sample_btn(void); unsigned char FIL; DigitalIn _Pin; Ticker _Tick; }; } #endif