aboutsummaryrefslogtreecommitdiffstats
path: root/wirish
diff options
context:
space:
mode:
Diffstat (limited to 'wirish')
-rw-r--r--wirish/include/wirish/boards.h10
-rw-r--r--wirish/wirish_digital.cpp4
2 files changed, 11 insertions, 3 deletions
diff --git a/wirish/include/wirish/boards.h b/wirish/include/wirish/boards.h
index 73d5509..6676a02 100644
--- a/wirish/include/wirish/boards.h
+++ b/wirish/include/wirish/boards.h
@@ -110,13 +110,21 @@ extern void boardInit(void);
*/
bool boardUsesPin(uint8 pin);
-/* Set derived definitions */
+/*
+ * Derived and default board definitions
+ */
+
#define CLOCK_SPEED_MHZ CYCLES_PER_MICROSECOND
#define CLOCK_SPEED_HZ (CLOCK_SPEED_MHZ * 1000000UL)
+
#ifndef SYSTICK_RELOAD_VAL
#define SYSTICK_RELOAD_VAL (1000 * CYCLES_PER_MICROSECOND - 1)
#endif
+#ifndef BOARD_BUTTON_PRESSED_LEVEL
+#define BOARD_BUTTON_PRESSED_LEVEL HIGH
+#endif
+
/**
* @brief Does the board break out a USART/UART's RX and TX pins?
*
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;
}