aboutsummaryrefslogtreecommitdiffstats
path: root/wirish/wirish_digital.cpp
diff options
context:
space:
mode:
authorMarti Bolivar <mbolivar@leaflabs.com>2012-06-05 18:11:29 -0400
committerMarti Bolivar <mbolivar@leaflabs.com>2012-06-07 03:38:30 -0400
commit66167fcf43fabbf33a1ea357954a433cee4a76ff (patch)
treebde30708cc8f20f5e90054a5d6095599434a37b9 /wirish/wirish_digital.cpp
parentab6814b687a670475fcf9be2be2af30f72904320 (diff)
downloadlibrambutan-66167fcf43fabbf33a1ea357954a433cee4a76ff.tar.gz
librambutan-66167fcf43fabbf33a1ea357954a433cee4a76ff.zip
<wirish/boards.h>: Add BOARD_BUTTON_PRESSED_LEVEL.
This allows boards to override the logic level of a pressed button. All Maple boards have a pressed button read HIGH, but if the opposite convention is used, isButtonPressed() will infinite loop. Make isButtonPressed() respect this setting. Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
Diffstat (limited to 'wirish/wirish_digital.cpp')
-rw-r--r--wirish/wirish_digital.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/wirish/wirish_digital.cpp b/wirish/wirish_digital.cpp
index a7f10cd..05ce756 100644
--- a/wirish/wirish_digital.cpp
+++ b/wirish/wirish_digital.cpp
@@ -65,9 +65,9 @@ void togglePin(uint8 pin) {
#define BUTTON_DEBOUNCE_DELAY 1
uint8 isButtonPressed() {
- if (digitalRead(BOARD_BUTTON_PIN)) {
+ if (digitalRead(BOARD_BUTTON_PIN) == BOARD_BUTTON_PRESSED_LEVEL) {
delay(BUTTON_DEBOUNCE_DELAY);
- while (digitalRead(BOARD_BUTTON_PIN))
+ while (digitalRead(BOARD_BUTTON_PIN) == BOARD_BUTTON_PRESSED_LEVEL)
;
return true;
}