Peter Johanson
6287819fcc
refactor: Move to USB_DEVICE_STACK symbol.
...
See: https://docs.zephyrproject.org/latest/releases/release-notes-2.7.html#changes-in-this-release
3 years ago
Peter Johanson
3a6a249ad0
feat(behaviors): Add macro support.
...
* Fine grainted press/release/tap actions.
* TIming between actions can be controlled.
* Processed async, to avoid blocking.
3 years ago
Alessandro Bortolin
2c0fe3934d
feat(backlight): add tests
3 years ago
Alessandro Bortolin
ce843825e8
refactor(backlight): code cleanup
3 years ago
Alessandro Bortolin
85b2d30bd5
feat(lighting): add backlight behavior
3 years ago
Peter Johanson
ce3471d4fe
fix(split): Add queue for running remote behaviors
3 years ago
Peter Johanson
0b0b49d626
fix(split): Properly rediscover peripherals.
...
* Handle disconnects of peripherals, and properly clean up
and resume discovering for when the peripheral re-appears.
3 years ago
git@jrhrsmit.nl
f221ff1dc7
add ranges and descriptions from #669
3 years ago
Simon Malinge
c5b8dd85fd
feat(underglow): Add support for configurable min/max brightness
...
Co-authored-by: jrhrsmit <jasper.770@gmail.com>
3 years ago
Peter Johanson
bc179b1030
feat(hid): Kconfig for basic/full consumer usages.
...
* Add ZMK_HID_CONSUMER_REPORT_USAGES choice to allow choosing
between full consumer usage range, with poor OS compat,
or basic consumer usage range, with broader compat.
3 years ago
Pete Johanson
91ba034896
feat(hid): Configurable NKRO HID report support.
...
* Add Kconfig settings for NKRO or HKRO (boot compatible), HID
report types for keyboard page.
* Updated report storage and set/unset for each config.
3 years ago
Nick Winans
2b9deb824b
feat(power): Update device power management Kconfig
3 years ago
Pete Johanson
6c23bb5c11
fix(tests): Revert default to previous formatter.
...
* new cbprintf formatter causes issues for our use of string formatting.
See: https://github.com/zephyrproject-rtos/zephyr/pull/29876
PR: https://github.com/zmkfirmware/zmk/pull/736
3 years ago
innovaker
ad981c3bbd
refactor(core): update power API to Zephyr v2.5.0
...
See: https://github.com/zephyrproject-rtos/zephyr/pull/29410
PR: https://github.com/zmkfirmware/zmk/pull/736
3 years ago
Nick Winans
5eace0bbc4
fix(core): Enable sensor by default
4 years ago
Pete Johanson
2f352788c1
refactor(kscan): Remove explicit default n from kscan configs.
...
* Actually allow defaulting yes in other places.
4 years ago
Ally Parker
a4aaa73f06
feat: Add WPM calculator and display widget
4 years ago
Pete Johanson
65e476df3e
fix(splits): Send pos notify from dedicated thread
...
* Avoid deadlocks by using a deadicated workqueue for sending
position state notifications from peripherals.
4 years ago
Pete Johanson
a5c39dfa76
fix(ble): Perform GATT notifies from dedicated queue.
...
* Zephyr BT stack frees TX buffers from system workqueue,
and to avoid blocking waiting to allocate, perform notify
from a dedicated queue.
4 years ago
Pete Johanson
4aa78a6f8d
fix(split): Use queue/work for peripheral events.
...
* Avoid corruption by using work to process
peripheral key position events on the main
work thread, like local kscan events are.
* Fixes #221
4 years ago
Okke Formsma
feb0d5b90c
feat(combos): initial implementation
...
closes #45
4 years ago
Nick Winans
002a89765f
refactor(Kconfig): Set USB default based on hardware capabilities
...
Removes the USB default under every split right half in favor of a default based on hardware capabilities in the main app Kconfig.
4 years ago
Nick Winans
97ed0cc733
feat(core): Add USB logging Kconfig option
4 years ago
Nick Winans
43f6d798be
feat(ext-power): Cut power when PM is sleeping
4 years ago
Pete Johanson
4db5b169bf
refactor(splits): Ability to override split role.
...
* Move central/peripheral setting to Kconfig.defconfig
files to allow left/right .conf files to override
central/peripheral role for splits.
4 years ago
Pete Johanson
f7c16dfe69
refactor(power): Extract activity/idle detection.
...
* Refactor power to extract more general purpose
activity detection/events.
* Use activity state to implement PM callback.
4 years ago
innovaker
0d4476d148
refactor(app): remove `_gatt_` infixes from BT DIS and BAS services
...
See: https://docs.zephyrproject.org/latest/releases/release-notes-2.4.html
PR: #467
4 years ago
Nick
177b28f01d
refactor(settings): Add Kconfig option for settings debounce
4 years ago
Pete Johanson
b3f3362b50
feat(display): Initial widget/status screen work.
...
* Battery and output status widgets
* Built in status screen combining them.
* Ability to define a custom status screen factory
function.
4 years ago
Nick
a1d3230eef
feat(underglow): RGB toggle controls ext_power
...
fix(ug): Don't return if finding ext power fails
fix(ug): Move ext_power to a static variable
Add #if defs
4 years ago
innovaker
67a6646cd7
chore: add copyright to core Kconfig
4 years ago
Carey
3f4d47a06e
focus on refactor
4 years ago
Carey
c5172e4337
move initialization priorities to advanced menu
4 years ago
Carey
6aae667826
merge changes from master
4 years ago
Pete Johanson
36d3d01a22
feat(usb): Add proper USB product ID.
...
* Use openmoko product ID from:
https://github.com/openmoko/openmoko-usb-oui/pull/15
4 years ago
Kellen Carey
8b9b247592
allow ble to be enabled if split transport is ble
4 years ago
Kellen Carey
8e298ec701
happy with layout, need to improve interactions
4 years ago
Kellen Carey
7a2314ef59
refactor kconfig to look nicer
4 years ago
Mega Mind
4d81b10ba7
Added driver to control the external power output
...
This PR adds support to control the external power output from controllers like nice!nano, nRFMicro etc
I have implemented based on my understanding of Pete suggestion on this feature.
Testing done:
Tested by enabling and disabling the ext_power from application and verified
Verified the application does not crash with boards that does not have ext_power support
Note:
I did not test this in nice!nano since I don't have the boards. Will get help from others once the behavior PR is up
Next Steps:
Create a behavior PR to control enable/disable ext_power
4 years ago
Pete Johanson
a7496ab064
feat(power): Initial deep sleep work.
...
* New ZMK_SLEEP Kconfig symbol to enable the functionality.
* Switch to PORT events that allows wake from deep sleep.
* Initial basic power management policy, with idle ms,
and ignoring deep sleep if we detect a USB connection.
4 years ago
Pete Johanson
bbf5a5905a
refactor(usb): Report USB status w/o HID output.
4 years ago
Pete Johanson
182a6dca1f
fix(bluetooth): Proper max paired/conns.
...
* Proper max values for both split central, and
non-split keyboards.
4 years ago
Nick
81bc157f53
Fix underglow not working by default
4 years ago
Pete Johanson
fb91be5164
fix(bluetooth): Configs for non-splits.
4 years ago
Pete Johanson
39f980a06d
feat(bluetooth): Add back profiles, split fixes.
...
* Add back in profiles, not using Zephyr
BT identity infrastructure.
* Restore additional `&bt` commands for profile
operations.
* Fix for split pairing and subscriptions, since
Zephyr persists subscriptions across connects.
* Remove keymap from peripheral builds, reduces
firmware size, and avoids unneeded attempts
to send HID data.
4 years ago
Pete Johanson
13842a8a1e
fix(bluetooth): Kconfig to clear bonds on start
4 years ago
Pete Johanson
fc0812bd2e
fix(bluetooth): Remove identity, minimal `bt`.
...
* Simplify the `bt` behavior to one current command
`BT_CLEAR_BONDS_CMD`.
* Simplify BLE code for split and non-split keyboards.
* Remove keymap processing from split peripheral side.
4 years ago
Pete Johanson
a4d06f69ac
fix(bluetooth): Fix max pair settings for non-split.
4 years ago
Pete Johanson
cf970efb98
feat(bluetooth): Proper bond management, identity support for non-splits
...
* Add `bt` behavior that can be used to perform certain actions,
such as next/prev identity, reset identity, etc.
NOTE: Multiple identities is only supported for non-split shields,
due to missing Zephyr identity functionality for dual
central/peripheral devices.
* Proper bond reset tied to action, that honors peripheral bonds,
so folks can reset and pair to other hosts, without breaking
bonds between splt halves.
4 years ago
Pete Johanson
9730876393
fix(shields): Load Kconfig for out-of-tree shields
4 years ago