summaryrefslogtreecommitdiff
path: root/quantum/encoder.c
diff options
context:
space:
mode:
authorfauxpark <fauxpark@gmail.com>2022-02-22 03:04:41 +1100
committerfauxpark <fauxpark@gmail.com>2022-02-22 03:04:41 +1100
commita44abeb99ae79e2fc88f3d323477e7408c5baf41 (patch)
tree4449556eac0762b1a3763a923334df70e53fa228 /quantum/encoder.c
parent69a67720745ee54fa285383ec94aee7d9fdb3269 (diff)
parentf30f963a0b6ccaa151fe83dd8302fa1f6829086e (diff)
Merge remote-tracking branch 'upstream/master' into develop
Diffstat (limited to 'quantum/encoder.c')
-rw-r--r--quantum/encoder.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/quantum/encoder.c b/quantum/encoder.c
index 59133f872a..438c7d8564 100644
--- a/quantum/encoder.c
+++ b/quantum/encoder.c
@@ -59,6 +59,10 @@ static uint8_t thisHand, thatHand;
static uint8_t encoder_value[NUMBER_OF_ENCODERS] = {0};
#endif
+__attribute__((weak)) void encoder_wait_pullup_charge(void) {
+ wait_us(100);
+}
+
__attribute__((weak)) bool encoder_update_user(uint8_t index, bool clockwise) {
return true;
}
@@ -88,7 +92,9 @@ void encoder_init(void) {
for (int i = 0; i < NUMBER_OF_ENCODERS; i++) {
setPinInputHigh(encoders_pad_a[i]);
setPinInputHigh(encoders_pad_b[i]);
-
+ }
+ encoder_wait_pullup_charge();
+ for (int i = 0; i < NUMBER_OF_ENCODERS; i++) {
encoder_state[i] = (readPin(encoders_pad_a[i]) << 0) | (readPin(encoders_pad_b[i]) << 1);
}