diff options
Diffstat (limited to 'wirish')
-rw-r--r-- | wirish/include/wirish/boards.h | 10 | ||||
-rw-r--r-- | wirish/wirish_digital.cpp | 4 |
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; } |