-
Notifications
You must be signed in to change notification settings - Fork 37
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
Option to turn off the BLE profile indicator during inactivity #8
Option to turn off the BLE profile indicator during inactivity #8
Conversation
moved peripheral updating from behaviour bnased to dedicated bluetooth services, added custom lighting effects to the adv360
Dim brightness of LEDS for improved battery life, Decrease settings save timeout to 29.5 seconds so it occurs before idle timeout
Disable battery reporting, stops spurious wakeups on Macs
Changed the endpoints code to rename the existing endpoint types to "endpoint 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.
* fix(backlight/tests): Restore original behaviour to fix backlight tests * fix(build): Remove feature-specific code when SPLIT_BLE, RGB_UNDERGLOW or BACKLIGHT isn't enabled * refactor(bluetooth): Add battery reporting config. * Add dedicated battery reporting Kconfig that is `imply`d by enabling ZMK_BLE. * fix(rgb_underglow): Use correct condition in service.c * Revert "refactor(bluetooth): Add battery reporting config." This reverts commit 881da25. --------- Co-authored-by: Peter Johanson <[email protected]>
- added switch `CONFIG_ZMK_HANDLE_BLE_DISCONNECTION` - fix KinesisCorporation/Adv360-Pro-ZMK#172
Properly make the battery sensor Kconfig symbols depend on `SENSOR` config, and minor battery reporting Kconfig symbol dependency fix.
Bumps [semver](https://github.com/npm/node-semver) from 5.7.1 to 5.7.2. - [Release notes](https://github.com/npm/node-semver/releases) - [Changelog](https://github.com/npm/node-semver/blob/v5.7.2/CHANGELOG.md) - [Commits](npm/node-semver@v5.7.1...v5.7.2) --- updated-dependencies: - dependency-name: semver dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]>
* When the clear bonds Kconfig is set, also clear peripheral address slots addresses from settings as well.
* Properly compare to zero when comparing LE addresses.
* Proper usage of bt_uuid_cmp. * Central's don't start scanning for peripherals if `ZMK_BLE_CLEAR_BONDS_ON_START` is enabled. * Split peripherals don't advertize if `ZMK_BLE_CLEAR_BONDS_ON_START` is enabled.
* Don't reference `pro_micro` nexus node in settings_reset so it can be used with other controllers. * Use mock kscan node instead.
* Add new shield for splitkb.com Aurora Sofle, supporting keys, encoder(s), displays, and RGB. Co-authored-by: Cem Aksoylar <[email protected]>
Blocking operations on the high priority system workqueue may result in deadlocks, particularly when Bluetooth is in use.
doing so will balance power usage for the left and right parts, as previously the BLE indicator stays on for the left half all the time.
These LEDs dont draw that much current at all, but i can see why this would be useful, once the beta changes are pulled in i'll merge this |
ca95720
to
0ca04e6
Compare
There's just been a major update to the beta branch with the goal of improving bluetooth reliability between splits, would you be able to rebase your changes onto the current branch? |
Sure, I will try that during this weekend. Have you noticed major improvements from your side after flashing the hardware with the latest build in the z3.2 beta branch @ReFil ? |
… cvcore/adv360-z3.2-beta-indicator-auto-off
So I did some testing during the merge and there exists serious regressions from the latest beta branch 2f7db1a that the right part again refuses to connect to the left after power cycle :( Have you tested the latest version with your hardware and did you see the same issue? @ReFil To reproduce: (Please note the steps below is done first without applying any patch)
Observation: For the very first time after the fresh flashing, the right half is able to connect to the left half without any issue. But it will stop working from the second time on: IMG_4996.MOVBinaries used during testing: You may want to check if these have the same hash as your generated artifacts. Because I'm not sure if the linked zephyr repo needs to be manually checked out to a specific version or not (mine is at zephyrproject-rtos/zephyr@0a586db)? I suppose west is managing the zephyr versions? Firmware built from 2f7db1a that contains the regression. Last tested stable version with the LED indicator patch applied, that doesn't have the disconnectivity issue (commit: 8af876c) |
2f7db1a
to
73312b4
Compare
Ah i'm really sorry, I've chased out that bug but forgot to push. Please rebase and then remove the CONFIG_BT_PRIVACY=y line from your adv360_left_defconfig. also i think there's something up with the git commit history as it stillw ants to merge 80 commits |
Reason for this PR is that currently the BLE profile indicator on the left half will stay on all the time and cause a significant imbalance in the battery usage between left and right part.
Since a normal indicator LED will need up to 20mA of current, I think it's a good idea to only turn it on when needed. The new behavior will trigger it to show the color for current profile when:
Mod
key is pressed on the keyboardfor around 5 seconds before turning it off again.
But when the keyboard is powered with the USBC cable, this behavior will be disabled automatically.