[enhancement] Expose FSM_ROTARY_ENCODER macros for flexible rotary encoder support (with variant example) - #8060
[enhancement] Expose FSM_ROTARY_ENCODER macros for flexible rotary encoder support (with variant example)#8060Halcao wants to merge 9 commits into
Conversation
|
|
|
interesting, so this rotary encoder type one is not only for T-Lora Pager. might be worth looking at #7986, it drastically improves the usability and responsiveness of this rotary encoder implementation, could use some feedback on whether it works on this variant as well. if so, FSM_ROTARY_ENCODER_CHECK_INTERVAL would not be necessary anymore as my version gets rid of periodic polling completely. besides this point, it doesnt seem like these 2 PRs will conflict. i reverted renaming the class in my PR, and i would imagine removing the T_LORA_PAGER define checks and adding the FSM_ROTARY_ENCODER define to tlora-pager variant for your PR would help going forward. |
|
Hi @WillyJL, T_LORA_PAGER macro for rotary encoder is removed, I also added FSM_ROTARY_ENCODER to variant.h of tlora_pager. |
Summary
This PR exposes macros for flexible rotary encoder support and provides a DIY configuration example.
Main contributions:
Expose FSM_ROTARY_ENCODER related macros
FSM_ROTARY_ENCODERFSM_ROTARY_ENCODER_DEBOUNCE(debounce time in ms)FSM_ROTARY_ENCODER_CHECK_INTERVAL(scan interval / loop iterations)These macros were previously only available via the
T_LORA_PAGERbuild.By exposing them, rotary encoder functionality can now be reused on other boards, and behavior can be tuned as needed.
DIY configuration example
Hardware details of the DIY setup (NovaLoRa):
This configuration is specific to my DIY hardware but serves as a reference for other DIY projects integrating rotary encoders.
Testing: Confirmed on the DIY setup with no regressions on other supported boards.
Notes: Happy to split this PR if maintainers prefer macro exposure separate from the example.
Attestations