From 6cd5dac4a7101760b9ef754cdae8ed62076ff78c Mon Sep 17 00:00:00 2001 From: Vladimir Kozlov Date: Mon, 3 Dec 2018 17:00:12 +0200 Subject: [PATCH 1/4] Basic STM32 adaptation --- ClickEncoder.cpp | 8 ++++++++ ClickEncoder.h | 2 ++ 2 files changed, 10 insertions(+) diff --git a/ClickEncoder.cpp b/ClickEncoder.cpp index af43f6d..a377771 100644 --- a/ClickEncoder.cpp +++ b/ClickEncoder.cpp @@ -49,7 +49,11 @@ ClickEncoder::ClickEncoder(uint8_t A, uint8_t B, uint8_t BTN, uint8_t stepsPerNo button(Open), steps(stepsPerNotch), pinA(A), pinB(B), pinBTN(BTN), pinsActive(active) { +#ifndef ARDUINO_ARCH_STM32 uint8_t configType = (pinsActive == LOW) ? INPUT_PULLUP : INPUT; +#else + WiringPinMode configType = (pinsActive == LOW) ? INPUT_PULLUP : INPUT; +#endif pinMode(pinA, configType); pinMode(pinB, configType); pinMode(pinBTN, configType); @@ -178,14 +182,18 @@ int16_t ClickEncoder::getValue(void) { int16_t val; +#ifndef ARDUINO_ARCH_STM32 cli(); +#endif val = delta; if (steps == 2) delta = val & 1; else if (steps == 4) delta = val & 3; else delta = 0; // default to 1 step per notch +#ifndef ARDUINO_ARCH_STM32 sei(); +#endif if (steps == 4) val >>= 2; if (steps == 2) val >>= 1; diff --git a/ClickEncoder.h b/ClickEncoder.h index a677ec8..3c6b02e 100644 --- a/ClickEncoder.h +++ b/ClickEncoder.h @@ -15,9 +15,11 @@ // ---------------------------------------------------------------------------- #include +#ifndef ARDUINO_ARCH_STM32 #include #include #include +#endif #include "Arduino.h" // ---------------------------------------------------------------------------- From e633d9bc4d2d91050c970f85a41ba21cfc608be1 Mon Sep 17 00:00:00 2001 From: Vladimir Kozlov Date: Mon, 25 Nov 2019 17:17:54 +0200 Subject: [PATCH 2/4] Fixed initialization order --- ClickEncoder.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/ClickEncoder.cpp b/ClickEncoder.cpp index af43f6d..fe88e66 100644 --- a/ClickEncoder.cpp +++ b/ClickEncoder.cpp @@ -44,10 +44,14 @@ // ---------------------------------------------------------------------------- ClickEncoder::ClickEncoder(uint8_t A, uint8_t B, uint8_t BTN, uint8_t stepsPerNotch, bool active) - : doubleClickEnabled(true), accelerationEnabled(true), - delta(0), last(0), acceleration(0), - button(Open), steps(stepsPerNotch), - pinA(A), pinB(B), pinBTN(BTN), pinsActive(active) + : + pinA(A), pinB(B), pinBTN(BTN), pinsActive(active), + delta(0), last(0), + steps(stepsPerNotch), + acceleration(0), + accelerationEnabled(true), + button(Open), + doubleClickEnabled(true) { uint8_t configType = (pinsActive == LOW) ? INPUT_PULLUP : INPUT; pinMode(pinA, configType); From e00f16217ec637aa32819ae9cad943d835e86a2d Mon Sep 17 00:00:00 2001 From: Vladimir Kozlov Date: Mon, 25 Nov 2019 17:18:30 +0200 Subject: [PATCH 3/4] Added preprocessor platform check --- ClickEncoder.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ClickEncoder.h b/ClickEncoder.h index a677ec8..7503605 100644 --- a/ClickEncoder.h +++ b/ClickEncoder.h @@ -15,9 +15,11 @@ // ---------------------------------------------------------------------------- #include +#ifdef __AVR__ #include #include #include +#endif #include "Arduino.h" // ---------------------------------------------------------------------------- From ac1f2da706b0bdb577a8a80b5d5aaefd106f0103 Mon Sep 17 00:00:00 2001 From: Vladimir Kozlov Date: Mon, 25 Nov 2019 17:21:34 +0200 Subject: [PATCH 4/4] Fixed merge issue --- ClickEncoder.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/ClickEncoder.h b/ClickEncoder.h index 2cf85ba..7503605 100644 --- a/ClickEncoder.h +++ b/ClickEncoder.h @@ -15,11 +15,7 @@ // ---------------------------------------------------------------------------- #include -<<<<<<< HEAD #ifdef __AVR__ -======= -#ifndef ARDUINO_ARCH_STM32 ->>>>>>> 6cd5dac4a7101760b9ef754cdae8ed62076ff78c #include #include #include