-
-
Notifications
You must be signed in to change notification settings - Fork 39.8k
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
Sync Timer feature #10997
Sync Timer feature #10997
Conversation
a98d8a4
to
f336abe
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.
Could you also do a qmk cformat
pass?
Nope, because the qmk cli doesn't work for me:
This was after attempts to reinstall, and fight Kaspersky constantly flagging the installer as a virus. I ran the clang formatter in visual studio at least. |
It should be running in the MinGW64 Python, not MSYS (ie.
in the MINGW64 terminal. |
QMK cli was installed from the MINGW64 terminal, I never use the other versions of the terminal. Will try the nuke and reinstall approach. |
@fauxpark fought quite a bit with the qmk cli setup process. Finally got it working and ran the cformat against the touched pr files and checked in the results. |
be48987
to
50ff524
Compare
rebased & force push |
50ff524
to
ff5a2fb
Compare
A timer that is kept in sync between the halves of a split keyboard
Description
Added a sync_timer set of apis that will keep their value in sync across split common keyboards. This helps keeps led animation effects in sync when run in split modes (RGBLIGHT_SPLIT or the upcoming RGB_MATRIX_SPLIT). This PR is targeting the development branch as this is a change to the Transport code which will require users to flash both master and slave halves.
Spent quite a bit of time poking at RGBLIGHT fixing the hitching of the previous attempts at a sync timer. Solved all the hitching, but it still does not stay in sync as well as I would like (when RGBLIGHT_SPLIT_NO_ANIMATION_SYNC is defined) due to how animation ticks are handled in RGBLIGHT. So while it's using the sync timer, it's not any better than what it was before. Additionally an option to disable the sync timer and fall back to normal timer is possible using the #define DISABLE_SYNC_TIMERAll hitching for RGBLIGHT with sync_timer has been fixed. Additionally RGBLIGHT now stays in sync with RGBLIGHT_SPLIT_NO_ANIMATION_SYNC defined Only remaining issue: boot / startup time hitching causes the animations to start out of sync. So there needs to be an initial sync event to get them lined up. RGBLIGHT_SPLIT_NO_ANIMATION_SYNC not defined still fixes this.
Note: In testing, this was used in conjunction with #10996
Types of Changes
Issues Fixed or Closed by This PR
Checklist