From 3c6bfa7502ad318b01423db8f4807b130cbd19ad Mon Sep 17 00:00:00 2001 From: Nick G Date: Sat, 23 Mar 2024 21:14:08 -0400 Subject: [PATCH] Bugfix for encoder wrapping and reset in configs (#908) Bugfix for encoder wrapping in configs --- headers/addons/rotaryencoder.h | 8 ++++++++ src/config_utils.cpp | 8 ++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/headers/addons/rotaryencoder.h b/headers/addons/rotaryencoder.h index c60d21de4..f6c70644d 100644 --- a/headers/addons/rotaryencoder.h +++ b/headers/addons/rotaryencoder.h @@ -26,6 +26,10 @@ #define ENCODER_ONE_PIN_B -1 #endif +#ifndef ENCODER_ONE_RESET +#define ENCODER_ONE_RESET 0 +#endif + #ifndef ENCODER_ONE_MODE #define ENCODER_ONE_MODE ENCODER_MODE_NONE #endif @@ -54,6 +58,10 @@ #define ENCODER_TWO_PIN_B -1 #endif +#ifndef ENCODER_TWO_RESET +#define ENCODER_TWO_RESET 0 +#endif + #ifndef ENCODER_TWO_MODE #define ENCODER_TWO_MODE ENCODER_MODE_NONE #endif diff --git a/src/config_utils.cpp b/src/config_utils.cpp index ace3c876f..e7bfc7a51 100644 --- a/src/config_utils.cpp +++ b/src/config_utils.cpp @@ -671,16 +671,16 @@ void ConfigUtils::initUnsetPropertiesWithDefaults(Config& config) INIT_UNSET_PROPERTY(config.addonOptions.rotaryOptions.encoderOne, pinB, (Pin_t)ENCODER_ONE_PIN_B); INIT_UNSET_PROPERTY(config.addonOptions.rotaryOptions.encoderOne, mode, ENCODER_ONE_MODE); INIT_UNSET_PROPERTY(config.addonOptions.rotaryOptions.encoderOne, pulsesPerRevolution, ENCODER_ONE_PPR); - INIT_UNSET_PROPERTY(config.addonOptions.rotaryOptions.encoderOne, resetAfter, 0); - INIT_UNSET_PROPERTY(config.addonOptions.rotaryOptions.encoderOne, allowWrapAround, 0); + INIT_UNSET_PROPERTY(config.addonOptions.rotaryOptions.encoderOne, resetAfter, ENCODER_ONE_RESET); + INIT_UNSET_PROPERTY(config.addonOptions.rotaryOptions.encoderOne, allowWrapAround, ENCODER_ONE_WRAP); INIT_UNSET_PROPERTY(config.addonOptions.rotaryOptions.encoderOne, multiplier, ENCODER_ONE_MULTIPLIER); INIT_UNSET_PROPERTY(config.addonOptions.rotaryOptions.encoderTwo, enabled, !!ENCODER_TWO_ENABLED); INIT_UNSET_PROPERTY(config.addonOptions.rotaryOptions.encoderTwo, pinA, (Pin_t)ENCODER_TWO_PIN_A); INIT_UNSET_PROPERTY(config.addonOptions.rotaryOptions.encoderTwo, pinB, (Pin_t)ENCODER_TWO_PIN_B); INIT_UNSET_PROPERTY(config.addonOptions.rotaryOptions.encoderTwo, mode, ENCODER_TWO_MODE); INIT_UNSET_PROPERTY(config.addonOptions.rotaryOptions.encoderTwo, pulsesPerRevolution, ENCODER_TWO_PPR); - INIT_UNSET_PROPERTY(config.addonOptions.rotaryOptions.encoderTwo, resetAfter, 0); - INIT_UNSET_PROPERTY(config.addonOptions.rotaryOptions.encoderTwo, allowWrapAround, 0); + INIT_UNSET_PROPERTY(config.addonOptions.rotaryOptions.encoderTwo, resetAfter, ENCODER_TWO_RESET); + INIT_UNSET_PROPERTY(config.addonOptions.rotaryOptions.encoderTwo, allowWrapAround, ENCODER_TWO_WRAP); INIT_UNSET_PROPERTY(config.addonOptions.rotaryOptions.encoderTwo, multiplier, ENCODER_TWO_MULTIPLIER); // keyboardMapping