Add check for button direction

This commit is contained in:
Kreg Hanning 2019-09-09 08:59:31 -04:00
parent c751975f1d
commit 8906b2a8bd
2 changed files with 13 additions and 2 deletions

View File

@ -42,12 +42,16 @@
//------------- IMPLEMENTATION -------------// //------------- IMPLEMENTATION -------------//
void button_init(uint32_t pin) void button_init(uint32_t pin)
{ {
nrf_gpio_cfg_sense_input(pin, BUTTON_PULL, NRF_GPIO_PIN_SENSE_LOW); if (BUTTON_PULL == NRF_GPIO_PIN_PULLDOWN) {
nrf_gpio_cfg_sense_input(pin, BUTTON_PULL, NRF_GPIO_PIN_SENSE_HIGH);
} else {
nrf_gpio_cfg_sense_input(pin, BUTTON_PULL, NRF_GPIO_PIN_SENSE_LOW);
}
} }
bool button_pressed(uint32_t pin) bool button_pressed(uint32_t pin)
{ {
return (nrf_gpio_pin_read(pin) == 0) ? true : false; return (nrf_gpio_pin_read(pin) == BUTTON_DIR) ? true : false;
} }
void board_init(void) void board_init(void)

View File

@ -38,6 +38,13 @@
#ifndef BUTTON_FRESET #ifndef BUTTON_FRESET
#define BUTTON_FRESET BUTTON_2 #define BUTTON_FRESET BUTTON_2
#endif #endif
#ifndef BUTTON_DIR
#if BUTTON_PULL == NRF_GPIO_PIN_PULLDOWN
#define BUTTON_DIR 1
#elif BUTTON_PULL == NRF_GPIO_PIN_PULLUP
#define BUTTON_DIR 0
#endif
#endif
// The primary LED is usually Red but not in all cases. // The primary LED is usually Red but not in all cases.
#define LED_PRIMARY 0 #define LED_PRIMARY 0