Commit Graph

140 Commits

Author SHA1 Message Date
3f48062225 feat(core): Add Kconfig option to exclude debug log messages 2023-04-09 23:29:22 -07:00
c3d06b22c8 fix(core): Bump system work queue stack on RP2040. 2023-04-05 22:55:38 -07:00
2f9bc2f1f7 fix(logging): Disable USB driver logging.
When enabling our high level USB logging, disable the USB driver
logging itself entirely, to avoid logging in the driver causing
errors when USB isn't up yet to send the logs.
2023-04-05 22:55:38 -07:00
e84b4299b5 refactor: Remove deprecated Kconfig override. 2023-04-05 22:55:38 -07:00
3eb06f137b feat: Add global macro timing configs
Added ZMK_MACRO_DEFAULT_WAIT_MS and ZMK_MACRO_DEFAULT_TAP_MS to set
global defaults for the wait-ms and tap-ms properties of macros.

Also reduced the default timings for macros, since it's been reported
many times that 100 ms is too slow.
2022-12-20 20:34:25 -06:00
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
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
0d5bb100ba feat(behavior): Add key toggle 2022-06-03 00:04:41 -04:00
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
25f89ee6ab feat(battery): Add Kconfig setting for battery level report interval 2022-05-17 12:03:57 -04:00
d33b35513b feat(usb): Set default HID interval to 1ms (1000Hz) 2022-04-29 21:51:38 -04:00
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
2c7e5b9232 refactor(ble): Use auto phy/conn for split 2022-04-24 18:29:18 -04:00
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
7443a917cb Add ble connection interval support
Signed-off-by: Luigi311 <luigi311.lg@gmail.com>
2022-04-24 18:29:18 -04:00
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
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
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
c5ab8a9444 refactor: Move the DT based CDC ACM setup. 2022-04-03 00:10:29 -04:00
79ab60dfe5 refactor: Move to new PM API/Kconfig settings. 2022-04-03 00:10:29 -04:00
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
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
2c0fe3934d feat(backlight): add tests 2022-02-05 23:40:18 -05:00
ce843825e8 refactor(backlight): code cleanup 2022-02-05 23:40:18 -05:00
85b2d30bd5 feat(lighting): add backlight behavior 2022-02-05 23:40:18 -05:00
ce3471d4fe fix(split): Add queue for running remote behaviors 2022-01-31 23:03:34 -05:00
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
f221ff1dc7 add ranges and descriptions from #669 2021-10-11 09:46:17 -07:00
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
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
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
2b9deb824b feat(power): Update device power management Kconfig 2021-08-02 21:48:42 -04:00
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
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
5eace0bbc4 fix(core): Enable sensor by default 2021-02-08 10:50:44 -05:00
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
a4aaa73f06 feat: Add WPM calculator and display widget 2021-01-23 18:38:31 -05:00
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
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
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
feb0d5b90c feat(combos): initial implementation
closes #45
2021-01-13 21:07:41 -05:00
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
97ed0cc733 feat(core): Add USB logging Kconfig option 2021-01-08 13:03:39 -05:00
43f6d798be feat(ext-power): Cut power when PM is sleeping 2020-12-29 08:30:57 -05:00
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
f7c16dfe69 refactor(power): Extract activity/idle detection.
* Refactor power to extract more general purpose
  activity detection/events.
* Use activity state to implement PM callback.
2020-12-14 15:31:10 -05:00
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
2020-12-14 12:41:25 -05:00
177b28f01d refactor(settings): Add Kconfig option for settings debounce 2020-12-02 19:54:48 -05:00
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.
2020-12-02 16:04:56 -05:00
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
2020-11-22 21:23:29 -05:00