Commit Graph

85 Commits

Author SHA1 Message Date
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
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
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
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.
2020-12-14 15:31:10 -05:00
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
2020-12-14 12:41:25 -05:00
Nick 177b28f01d refactor(settings): Add Kconfig option for settings debounce 2020-12-02 19:54:48 -05:00
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.
2020-12-02 16:04:56 -05:00
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
2020-11-22 21:23:29 -05:00
innovaker 67a6646cd7 chore: add copyright to core Kconfig 2020-11-20 22:25:28 -05:00
Carey 3f4d47a06e focus on refactor 2020-10-31 07:24:38 -05:00
Carey c5172e4337 move initialization priorities to advanced menu 2020-10-28 07:47:22 -05:00
Carey 6aae667826 merge changes from master 2020-10-20 21:47:49 -05:00
Kellen Carey 8b9b247592 allow ble to be enabled if split transport is ble 2020-10-11 20:11:19 -07:00