From d24fe4f1ca49b2143b3f3d260a0a63088b521673 Mon Sep 17 00:00:00 2001 From: Glen D'souza Date: Tue, 19 Jan 2021 07:53:54 +0530 Subject: [PATCH] GCC 10 compatibility for Ploopy optical encoder (#11586) --- keyboards/ploopyco/opt_encoder.c | 28 ++++++++++++++++++ keyboards/ploopyco/opt_encoder.h | 50 ++++++++++++++++---------------- 2 files changed, 53 insertions(+), 25 deletions(-) diff --git a/keyboards/ploopyco/opt_encoder.c b/keyboards/ploopyco/opt_encoder.c index 44bcd5eb888..8698351c26c 100644 --- a/keyboards/ploopyco/opt_encoder.c +++ b/keyboards/ploopyco/opt_encoder.c @@ -16,6 +16,34 @@ */ #include "opt_encoder.h" +enum State state; + +/* Variables used for scroll wheel functionality. */ +bool lohif; +bool hilof; +int lowA; +int highA; +bool cLowA; +bool cHighA; +int lowIndexA; +int highIndexA; +bool lowOverflowA; +bool highOverflowA; +int lowB; +int highB; +bool cLowB; +bool cHighB; +int lowIndexB; +int highIndexB; +bool lowOverflowB; +bool highOverflowB; +int scrollThresholdA; +int scrollThresholdB; +int arLowA[SCROLLER_AR_SIZE]; +int arHighA[SCROLLER_AR_SIZE]; +int arLowB[SCROLLER_AR_SIZE]; +int arHighB[SCROLLER_AR_SIZE]; + /* Setup function for the scroll wheel. Initializes the relevant variables. */ void opt_encoder_init(void) { diff --git a/keyboards/ploopyco/opt_encoder.h b/keyboards/ploopyco/opt_encoder.h index 23a170d59f8..17c25bc86f9 100644 --- a/keyboards/ploopyco/opt_encoder.h +++ b/keyboards/ploopyco/opt_encoder.h @@ -28,33 +28,33 @@ enum State { HIHI, HILO, LOLO, LOHI }; -enum State state; +extern enum State state; /* Variables used for scroll wheel functionality. */ -bool lohif; -bool hilof; -int lowA; -int highA; -bool cLowA; -bool cHighA; -int lowIndexA; -int highIndexA; -bool lowOverflowA; -bool highOverflowA; -int lowB; -int highB; -bool cLowB; -bool cHighB; -int lowIndexB; -int highIndexB; -bool lowOverflowB; -bool highOverflowB; -int scrollThresholdA; -int scrollThresholdB; -int arLowA[SCROLLER_AR_SIZE]; -int arHighA[SCROLLER_AR_SIZE]; -int arLowB[SCROLLER_AR_SIZE]; -int arHighB[SCROLLER_AR_SIZE]; +extern bool lohif; +extern bool hilof; +extern int lowA; +extern int highA; +extern bool cLowA; +extern bool cHighA; +extern int lowIndexA; +extern int highIndexA; +extern bool lowOverflowA; +extern bool highOverflowA; +extern int lowB; +extern int highB; +extern bool cLowB; +extern bool cHighB; +extern int lowIndexB; +extern int highIndexB; +extern bool lowOverflowB; +extern bool highOverflowB; +extern int scrollThresholdA; +extern int scrollThresholdB; +extern int arLowA[SCROLLER_AR_SIZE]; +extern int arHighA[SCROLLER_AR_SIZE]; +extern int arLowB[SCROLLER_AR_SIZE]; +extern int arHighB[SCROLLER_AR_SIZE]; void calculateThresholdA(int curA); void calculateThresholdB(int curB);