aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--wirish/include/wirish/io.h3
-rw-r--r--wirish/wirish_digital.cpp6
2 files changed, 5 insertions, 4 deletions
diff --git a/wirish/include/wirish/io.h b/wirish/include/wirish/io.h
index b5fe3a8..08bbc06 100644
--- a/wirish/include/wirish/io.h
+++ b/wirish/include/wirish/io.h
@@ -181,7 +181,8 @@ static inline void toggleLED() {
*
* @see pinMode()
*/
-uint8 isButtonPressed();
+uint8 isButtonPressed(uint8 pin=BOARD_BUTTON_PIN,
+ uint32 pressedLevel=BOARD_BUTTON_PRESSED_LEVEL);
/**
* Wait until the button is pressed and released, timing out if no
diff --git a/wirish/wirish_digital.cpp b/wirish/wirish_digital.cpp
index 05ce756..2711a33 100644
--- a/wirish/wirish_digital.cpp
+++ b/wirish/wirish_digital.cpp
@@ -64,10 +64,10 @@ void togglePin(uint8 pin) {
#define BUTTON_DEBOUNCE_DELAY 1
-uint8 isButtonPressed() {
- if (digitalRead(BOARD_BUTTON_PIN) == BOARD_BUTTON_PRESSED_LEVEL) {
+uint8 isButtonPressed(uint8 pin, uint32 pressedLevel) {
+ if (digitalRead(pin) == pressedLevel) {
delay(BUTTON_DEBOUNCE_DELAY);
- while (digitalRead(BOARD_BUTTON_PIN) == BOARD_BUTTON_PRESSED_LEVEL)
+ while (digitalRead(pin) == pressedLevel)
;
return true;
}