forked from zmkfirmware/zmk
-
Notifications
You must be signed in to change notification settings - Fork 66
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
Zephyr 3.2 upgrade Beta 3 (202307-2) #19
Closed
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Changed the endpoints code to rename the existing endpoint types to "transport" and add the concept of "endpoint instances". A transport is the method by which data is sent, while instances allow describing multiple endpoints that use the same transport (e.g. bluetooth profiles) Also added new APIs to get the total number of possible endpoint instances and assign each instance a unique index, which can be used for tracking separate state for each endpoint in other code files.
In split_central_update_indicators_callback, it seems that the peripheral is sometimes considered connected before the GATT characteristics have been discovered. If this is the case, the update_hid_indicators handle will not yet be set, and must not be written to.
Not after the last output
As a counterpart to zmk_battery_state_of_charge()
Based on PR#1140 with several changes as described in this comment: zmkfirmware#1140 (comment) * Minimize the api changes for bluetooth by keeping zmk_hid_get_keyboard_report() and returning the .body like before. * Keeping the logic about "full" vs "body" entirely within the usb code path. * The endpoint now calls either zmk_usb_hid_send_keyboard_report() and zmk_usb_hid_send_consumer_report() instead of zmk_usb_hid_send_report(...). - These functions now internally dispatch on protocol to either zmk_hid_get_keyboard_report() or a new function for boot reports zmk_hid_get_boot_report(). - There's a change here from the PR version in the behavior of get_report(): when in boot protocol, don't include the report id. I believe this is correct, in that implicit boot protocol report descriptor does not use multiple reports, so any boot protocol report should not include the report id field. * Use a single definition of a boot report, used for regular reports in non-6KRO, and for rollover in all branches. * Handle gaps in the zmk report when producing a boot report in HKRO mode. For .example, if it was 8KRO, it would be possible to have the state 0 0 0 0 0 0 0 17 (by pressing 8 keys, and letting go of the first 7). Copying the first 6 bytes would not show up the single pressed key.
SOF events were introduced by the boot protocol changes, and required internally by Zephyr's idle support, but are unused within ZMK itself. Ignore them in the usb status callback.
Adds Glove80's status indicator using RGB underglow support. Requires ZMK PR#999 and PR#1243. The underglow status is able to show layer state, battery levels, caps/num/scroll-lock, BLE and USB state. The underglow positions selected for each of these indicators is configured using the new devicetree node zmk,underglow-indicators, which takes an array of integer LED positions for each feature.
Disable underglow when battery below 10%, halve brightness when battery below 20%
Adds a Kconfig setting for the default EXT_POWER status at initialization time. Previously it was always initialized to on if no saved value was present.
Provides an entry point that builds and returns a combined LH + RH keyboard firmware when provided a keymap via a POST body. Wraps compilation with ccache, and includes a pre-warmed cache of the build in /tmp/ccache. To maximize chance of a direct cache hit, changes the lambda driver to always build in /tmp/build. some back of the envelope measurements (2012 xeon e3-1230v2, nixos) clean build, no cache -> 21.308 clean build, cache -> 7.145 modified keymap, clean build, cache -> 12.127
chrisandreae
force-pushed
the
zephyr-3-2-20230730
branch
2 times, most recently
from
July 30, 2023 14:03
2ce29fd
to
8afe735
Compare
Ensuring that it can only be run on PRs from the same repository. This means that it will be run even when the PR doesn't merge, and against the PR head rather than the merge.
chrisandreae
force-pushed
the
zephyr-3-2-20230730
branch
from
July 30, 2023 14:40
8afe735
to
d401678
Compare
Specifying RHS kconfig will cause both firmware images to be built, which will take twice as long as a LHS-only build. Clients should take care to only request a RHS build for kconfig options that affect the peripheral behaviour.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Rebases Glove80's patchset to ZMK as of e65a7e3, PR#1243 as of b47fe6a, and PR#999 as of 433a402.