Donald Gordon
5a395c6025
Set default EXT_POWER status via Kconfig.
...
Ws previously on by default if no settings.
2023-01-21 15:33:21 +13:00
Andrew Childs
843d324525
Boot protocol support
...
Based on PR#1140 with several changes as described in this comment: https://github.com/zmkfirmware/zmk/pull/1140#issuecomment-1237655563
* 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.
2022-11-25 20:13:24 +09:00
Chris Andreae
ba90c62c5c
Merge PR#999 (LED indicators)
2022-11-25 20:12:37 +09:00
Chris Andreae
fa2eee585f
Merge PR#1243 (Split battery reporting over BLE GATT)
2022-11-25 20:12:28 +09:00
Alessandro Bortolin
3032e05488
feat: LED indicators displaying
2022-10-30 13:10:05 +01:00
Peter Johanson
605d88f266
feat(ble): Default a few configs for DIS GATT svc.
...
Default values for DIS GATT characteristics for:
* Vendor ID
* Product ID
* Manufacturer
* Model
2022-10-05 11:34:37 -04:00
Gabor Hornyak
500a5bbfd9
refactor: change order
2022-07-15 21:25:47 +00:00
Gabor Hornyak
53816539f1
refactor: use 'select BT_BAS if ...' syntax
2022-07-15 20:01:52 +00:00
Gabor Hornyak
9473308e36
Merge remote-tracking branch 'upstream/main' into split_battery_service
2022-07-13 22:51:07 +02:00
ReFil
90e070b427
feat(underglow): Add RGB auto off timeout on idle and on usb disconnect
...
Two new options for functionality to enable/disable RGB for
USB status or idle events.
Co-authored-by: Pete Johanson <peter@peterjohanson.com>
Co-authored-by: ReFil <harryherring@gmail.com>
2022-06-25 10:56:36 -04:00
Gabor Hornyak
9ef105522b
refactor: allow BAS only on BLE peripherals
2022-06-24 20:56:29 +00:00
Gabor Hornyak
e86d5f04ef
refactor: use new config options
2022-06-24 15:26:58 +00:00
Caleb Goates
0d5bb100ba
feat(behavior): Add key toggle
2022-06-03 00:04:41 -04:00
Peter Johanson
6539b3ae25
refactor(split): Clean up Kconfig organization.
...
* Seperated configs for split role (central/peripheral)
and transport (BLE only for now).
* Split the configs to align on structure.
2022-05-29 19:18:09 -04:00
Cem Aksoylar
25f89ee6ab
feat(battery): Add Kconfig setting for battery level report interval
2022-05-17 12:03:57 -04:00
Nick Winans
d33b35513b
feat(usb): Set default HID interval to 1ms (1000Hz)
2022-04-29 21:51:38 -04:00
Joel Spadin
6d6efa32f5
refactor(kscan): Auto enable kscan drivers
...
The key scanning drivers are now automatically enabled when a DT node
with the matching "compatible" property is present and enabled, so they
no longer need to be manually set for each board.
2022-04-25 22:28:53 -04:00
Nick Winans
2c7e5b9232
refactor(ble): Use auto phy/conn for split
2022-04-24 18:29:18 -04:00
Luigi311
13014d3f28
Remove descriptions and defaults for already set variables
...
Signed-off-by: Luigi311 <luigi311.lg@gmail.com>
2022-04-24 18:29:18 -04:00
Luigi311
7443a917cb
Add ble connection interval support
...
Signed-off-by: Luigi311 <luigi311.lg@gmail.com>
2022-04-24 18:29:18 -04:00
Peter Johanson
486174fc41
fix(split): Raise split notification stack size.
...
* Larger stack for split peripheral notifications
to avois stack overflow with logging on.
2022-04-24 15:08:04 -04:00
Peter Johanson
40cd8da743
fix(usb): Split HID from core USB, logging fix.
...
* Split core USB init from USB HID init.
* Tweak logging to avoid "log loop" causing
spurious buffer messages on startup.
2022-04-13 13:07:59 -04:00
Peter Johanson
df2e993300
feat(ble): Disable BT_GATT_AUTO_SEC_REQ
.
...
* Better compatibility w/ some operating systems, we already
set security level on connects.
2022-04-03 00:10:29 -04:00
Peter Johanson
c5ab8a9444
refactor: Move the DT based CDC ACM setup.
2022-04-03 00:10:29 -04:00
Peter Johanson
79ab60dfe5
refactor: Move to new PM API/Kconfig settings.
2022-04-03 00:10:29 -04:00
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
2022-04-03 00:10:29 -04:00
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.
2022-03-23 23:42:54 -04:00
Alessandro Bortolin
2c0fe3934d
feat(backlight): add tests
2022-02-05 23:40:18 -05:00
Alessandro Bortolin
ce843825e8
refactor(backlight): code cleanup
2022-02-05 23:40:18 -05:00
Alessandro Bortolin
85b2d30bd5
feat(lighting): add backlight behavior
2022-02-05 23:40:18 -05:00
Peter Johanson
ce3471d4fe
fix(split): Add queue for running remote behaviors
2022-01-31 23:03:34 -05:00
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.
2021-11-04 22:31:56 -04:00
git@jrhrsmit.nl
f221ff1dc7
add ranges and descriptions from #669
2021-10-11 09:46:17 -07:00
Simon Malinge
c5b8dd85fd
feat(underglow): Add support for configurable min/max brightness
...
Co-authored-by: jrhrsmit <jasper.770@gmail.com>
2021-10-10 17:43:57 -07:00
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.
2021-10-04 23:01:39 -04:00
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.
2021-10-04 23:01:39 -04:00
Nick Winans
2b9deb824b
feat(power): Update device power management Kconfig
2021-08-02 21:48:42 -04:00
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
2021-07-17 17:04:25 -04:00
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
2021-07-17 17:04:25 -04:00
Nick Winans
5eace0bbc4
fix(core): Enable sensor by default
2021-02-08 10:50:44 -05:00
Pete Johanson
2f352788c1
refactor(kscan): Remove explicit default n from kscan configs.
...
* Actually allow defaulting yes in other places.
2021-02-02 14:04:10 -05:00
Ally Parker
a4aaa73f06
feat: Add WPM calculator and display widget
2021-01-23 18:38:31 -05:00
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.
2021-01-15 13:50:36 -05:00
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.
2021-01-15 13:50:36 -05:00
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
2021-01-15 13:50:36 -05:00
Okke Formsma
feb0d5b90c
feat(combos): initial implementation
...
closes #45
2021-01-13 21:07:41 -05:00
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.
2021-01-08 16:51:50 -05:00
Nick Winans
97ed0cc733
feat(core): Add USB logging Kconfig option
2021-01-08 13:03:39 -05:00
Nick Winans
43f6d798be
feat(ext-power): Cut power when PM is sleeping
2020-12-29 08:30:57 -05:00
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.
2020-12-28 10:16:24 -05:00