-
-
Notifications
You must be signed in to change notification settings - Fork 39.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add encoder abstraction. #21548
Add encoder abstraction. #21548
Conversation
a90f125
to
c87eabc
Compare
f27b435
to
8fa8681
Compare
f282efd
to
ba26242
Compare
@tzarc I've tested new code for Pica40, all works! |
Thank you for your contribution! |
209c50f
to
6fc132e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just to match what is in core already
Co-authored-by: Drashna Jaelre <drashna@live.com>
This reverts commit 9d9cdaa. # Conflicts: # data/schemas/keyboard.jsonschema # keyboards/pica40/rev2/rev2.c # keyboards/planck/rev7/matrix.c # keyboards/ploopyco/mouse/config.h # keyboards/ploopyco/mouse/keyboard.json # keyboards/ploopyco/mouse/rules.mk # keyboards/ploopyco/ploopyco.c # keyboards/ploopyco/trackball/config.h # keyboards/ploopyco/trackball/info.json # keyboards/ploopyco/trackball/rules.mk # keyboards/ploopyco/trackball/trackball.c # keyboards/ploopyco/trackball_mini/config.h # keyboards/ploopyco/trackball_mini/info.json # keyboards/ploopyco/trackball_mini/rules.mk # keyboards/ploopyco/trackball_mini/trackball_mini.c # keyboards/ploopyco/trackball_thumb/config.h # keyboards/ploopyco/trackball_thumb/trackball_thumb.c # quantum/encoder.c # quantum/encoder.h # quantum/split_common/transaction_id_define.h # quantum/split_common/transactions.c
This reverts commit e3cb6bb. # Conflicts: # keyboards/mechwild/sugarglider/matrix.c # keyboards/pica40/rev2/rev2.c # keyboards/ploopyco/mouse/config.h # keyboards/ploopyco/mouse/keyboard.json # keyboards/ploopyco/mouse/rules.mk # keyboards/ploopyco/ploopyco.c # keyboards/ploopyco/ploopyco.h # keyboards/ploopyco/trackball/config.h # keyboards/ploopyco/trackball/info.json # keyboards/ploopyco/trackball/rules.mk # keyboards/ploopyco/trackball_mini/config.h # keyboards/ploopyco/trackball_mini/info.json # keyboards/ploopyco/trackball_mini/rules.mk # keyboards/ploopyco/trackball_thumb/config.h # keyboards/ploopyco/trackball_thumb/info.json
Description
Splits out encoder processing logic so that the underlying driver is decoupled from high-level encoder logic.
Effectively allows for "custom encoder lite":
rules.mk
picked up:info.json
picked up:Quadrature encoder has other weakly-defined functions in order to be able to just override pin reads\s without needing to replicate logic.
Split support is present and tested.
Events are queued and executed on the main loop -- this caters for cases such as split or interrupt-driven, where production of events may not coincide with the main loop's invocation.
Types of Changes
Issues Fixed or Closed by This PR
Checklist