Sakis Kasampalis
/
two-way-switch
toggle button style
two_way_switch.cpp@0:ccd27d3bca28, 2015-03-15 (annotated)
- Committer:
- faif
- Date:
- Sun Mar 15 17:23:48 2015 +0000
- Revision:
- 0:ccd27d3bca28
revised
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
faif | 0:ccd27d3bca28 | 1 | #include "mbed.h" |
faif | 0:ccd27d3bca28 | 2 | #include "two_way_switch.h" |
faif | 0:ccd27d3bca28 | 3 | |
faif | 0:ccd27d3bca28 | 4 | int main (void) |
faif | 0:ccd27d3bca28 | 5 | { |
faif | 0:ccd27d3bca28 | 6 | DigitalOut state = myled; |
faif | 0:ccd27d3bca28 | 7 | |
faif | 0:ccd27d3bca28 | 8 | while (true) |
faif | 0:ccd27d3bca28 | 9 | { |
faif | 0:ccd27d3bca28 | 10 | if (button) |
faif | 0:ccd27d3bca28 | 11 | { |
faif | 0:ccd27d3bca28 | 12 | /* toggle the state of the led */ |
faif | 0:ccd27d3bca28 | 13 | toggle_state(state); |
faif | 0:ccd27d3bca28 | 14 | |
faif | 0:ccd27d3bca28 | 15 | /* to avoid the bouncing effect */ |
faif | 0:ccd27d3bca28 | 16 | while (button) |
faif | 0:ccd27d3bca28 | 17 | { |
faif | 0:ccd27d3bca28 | 18 | wait(BOUNCE_DELAY); |
faif | 0:ccd27d3bca28 | 19 | } |
faif | 0:ccd27d3bca28 | 20 | } |
faif | 0:ccd27d3bca28 | 21 | } |
faif | 0:ccd27d3bca28 | 22 | } |
faif | 0:ccd27d3bca28 | 23 | |
faif | 0:ccd27d3bca28 | 24 | void toggle_state(DigitalOut& s) |
faif | 0:ccd27d3bca28 | 25 | { |
faif | 0:ccd27d3bca28 | 26 | switch(s) |
faif | 0:ccd27d3bca28 | 27 | { |
faif | 0:ccd27d3bca28 | 28 | case true: |
faif | 0:ccd27d3bca28 | 29 | s = false; |
faif | 0:ccd27d3bca28 | 30 | break; |
faif | 0:ccd27d3bca28 | 31 | case false: |
faif | 0:ccd27d3bca28 | 32 | s = true; |
faif | 0:ccd27d3bca28 | 33 | break; |
faif | 0:ccd27d3bca28 | 34 | } |
faif | 0:ccd27d3bca28 | 35 | } |