button procedure library
button.cpp@0:f57033bb0e05, 2014-07-13 (annotated)
- Committer:
- ChuckTimber
- Date:
- Sun Jul 13 05:12:21 2014 +0000
- Revision:
- 0:f57033bb0e05
- Child:
- 1:20c8438edaee
button lib version
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ChuckTimber | 0:f57033bb0e05 | 1 | #include "button.h" |
ChuckTimber | 0:f57033bb0e05 | 2 | #include "mbed.h" |
ChuckTimber | 0:f57033bb0e05 | 3 | |
ChuckTimber | 0:f57033bb0e05 | 4 | /** class to make sound with a buzzer, based on a PwmOut |
ChuckTimber | 0:f57033bb0e05 | 5 | * The class use a timeout to switch off the sound - it is not blocking while making noise |
ChuckTimber | 0:f57033bb0e05 | 6 | * |
ChuckTimber | 0:f57033bb0e05 | 7 | * Example: |
ChuckTimber | 0:f57033bb0e05 | 8 | * @code |
ChuckTimber | 0:f57033bb0e05 | 9 | * @endcode |
ChuckTimber | 0:f57033bb0e05 | 10 | */ |
ChuckTimber | 0:f57033bb0e05 | 11 | |
ChuckTimber | 0:f57033bb0e05 | 12 | using namespace mbed; |
ChuckTimber | 0:f57033bb0e05 | 13 | // constructor |
ChuckTimber | 0:f57033bb0e05 | 14 | /** Create a Beep object connected to the specified PwmOut pin |
ChuckTimber | 0:f57033bb0e05 | 15 | * |
ChuckTimber | 0:f57033bb0e05 | 16 | * @param pin PwmOut pin to connect to |
ChuckTimber | 0:f57033bb0e05 | 17 | */ |
ChuckTimber | 0:f57033bb0e05 | 18 | |
ChuckTimber | 0:f57033bb0e05 | 19 | void BTN::sample_btn() |
ChuckTimber | 0:f57033bb0e05 | 20 | { |
ChuckTimber | 0:f57033bb0e05 | 21 | unsigned char a, b; |
ChuckTimber | 0:f57033bb0e05 | 22 | |
ChuckTimber | 0:f57033bb0e05 | 23 | a = _Pin; |
ChuckTimber | 0:f57033bb0e05 | 24 | |
ChuckTimber | 0:f57033bb0e05 | 25 | if (a == FIL) { |
ChuckTimber | 0:f57033bb0e05 | 26 | b = STAT; |
ChuckTimber | 0:f57033bb0e05 | 27 | STAT = a; |
ChuckTimber | 0:f57033bb0e05 | 28 | b = (b ^ a) & a; |
ChuckTimber | 0:f57033bb0e05 | 29 | if (b) CMD = b; |
ChuckTimber | 0:f57033bb0e05 | 30 | } |
ChuckTimber | 0:f57033bb0e05 | 31 | FIL = a; |
ChuckTimber | 0:f57033bb0e05 | 32 | } |
ChuckTimber | 0:f57033bb0e05 | 33 | |
ChuckTimber | 0:f57033bb0e05 | 34 | BTN::BTN(PinName pin) : _Pin(pin) { |
ChuckTimber | 0:f57033bb0e05 | 35 | CMD = STAT = FIL = 0; |
ChuckTimber | 0:f57033bb0e05 | 36 | _Tick.attach(this, &BTN::sample_btn, 0.01); |
ChuckTimber | 0:f57033bb0e05 | 37 | } |