From 80d29125d60272f4510f92f1b4e81a21f3e77bb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Rybicki?= Date: Sun, 4 Feb 2018 17:03:57 +0100 Subject: [PATCH] Made "pinMode" method extendable --- Bounce2.cpp | 8 ++------ Bounce2.h | 7 +++++++ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/Bounce2.cpp b/Bounce2.cpp index aa1aa86..67487c5 100644 --- a/Bounce2.cpp +++ b/Bounce2.cpp @@ -33,12 +33,8 @@ void Bounce::attach(int pin) { } void Bounce::attach(int pin, int mode){ -#if defined(ARDUINO_STM_NUCLEO_F103RB) || defined(ARDUINO_GENERIC_STM32F103C) - pinMode(pin, (WiringPinMode)mode); -#else - pinMode(pin, mode); -#endif - this->attach(pin); + setPinMode(pin, mode); + this->attach(pin); } void Bounce::interval(uint16_t interval_millis) diff --git a/Bounce2.h b/Bounce2.h index fa6a28a..ff04a45 100644 --- a/Bounce2.h +++ b/Bounce2.h @@ -86,6 +86,13 @@ class Bounce uint8_t state; uint8_t pin; virtual bool readCurrentState() { return digitalRead(pin); } + virtual void setPinMode(int pin, int mode) { +#if defined(ARDUINO_STM_NUCLEO_F103RB) || defined(ARDUINO_GENERIC_STM32F103C) + pinMode(pin, (WiringPinMode)mode); +#else + pinMode(pin, mode); +#endif + } private: inline void setStateFlag(const uint8_t flag) {state |= flag;} -- 2.54.0