Commit Graph

140 Commits

Author SHA1 Message Date
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
Kellen Carey
8e298ec701 happy with layout, need to improve interactions 2020-10-11 18:05:27 -07:00
Kellen Carey
7a2314ef59 refactor kconfig to look nicer 2020-10-11 17:36:32 -07:00
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
2020-10-10 08:11:46 +08:00
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.
2020-10-06 17:24:36 -04:00
Pete Johanson
bbf5a5905a refactor(usb): Report USB status w/o HID output. 2020-10-04 21:56:09 -04:00
Pete Johanson
182a6dca1f fix(bluetooth): Proper max paired/conns.
* Proper max values for both split central, and
  non-split keyboards.
2020-09-29 12:21:06 -04:00
Pete Johanson
fb91be5164 fix(bluetooth): Configs for non-splits. 2020-09-13 22:33:31 -04:00
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.
2020-09-13 22:33:29 -04:00
Pete Johanson
13842a8a1e fix(bluetooth): Kconfig to clear bonds on start 2020-09-13 22:33:05 -04:00
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.
2020-09-13 22:33:05 -04:00
Pete Johanson
a4d06f69ac fix(bluetooth): Fix max pair settings for non-split. 2020-09-13 22:33:05 -04:00
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.
2020-09-13 22:33:05 -04:00
Pete Johanson
9730876393 fix(shields): Load Kconfig for out-of-tree shields 2020-08-20 11:38:36 -04:00
Pete Johanson
fb3dadba87
fix(bluetooth): disable BT_SETTINGS for now. 2020-08-20 07:39:14 -04:00
Pete Johanson
a65b746a86 fix(bluetooth): Add unpair combo if DT node exists 2020-08-19 23:34:34 -04:00
Pete Johanson
4402e4fbc7 feeature(bt): Add "unpair combo" on startup.
* Especially for splits, we need the ability to
  unpair all paired devices as  sledgehammer
  if we need to "reset things", and doing so via
  keymaps isn't suitable.
* Allows shields to define a collection of key
  positions that if all held 2 seconds after
  startup, will unpair all existing pairs for the
  device.
2020-08-18 13:17:10 -04:00
Nick
087574f607 Create proper fix for split default conn bug 2020-08-16 15:36:43 -05:00
Pete Johanson
8b61beb2bb Bump max paired connections to 2 for central. 2020-08-14 16:44:13 -04:00
Nick
f26bd495ea Fix interval update, add PHY update 2020-08-02 14:51:42 -05:00
Pete Johanson
f548f2a87c Initial stab at mod-tap improvements.
* Not working: Roll over + mod-tap with multiple
  mod-tap bindings!
2020-07-31 00:07:16 -04:00
Pete Johanson
4e5a819f3a
Merge pull request #64 from Nicell/feature/rgb_underglow
Initial RGB Underglow implementation
2020-07-26 21:43:43 -04:00
Pete Johanson
d80063ff51 Initial display support. 2020-07-25 23:10:40 -04:00
Pete Johanson
91d8237cab Fixes for building with a different .conf file. 2020-07-25 00:50:42 -04:00
Nick
bb09707bd2 Add base files and configuration for RGB underglow 2020-07-24 01:06:56 -05:00
Pete Johanson
1951883def Bump max BT connections for testing. 2020-07-17 23:04:47 -04:00
Pete Johanson
339a15881a Tweaks for turning off USB for split peripherals. 2020-07-17 22:43:40 -04:00
Pete Johanson
6701b7babc Working BT settings. 2020-07-17 22:43:40 -04:00
Pete Johanson
d4afd989f3 More split implementation.
* Propogate key position state changes on central.
* Various BLE tweaks.
2020-07-17 22:43:40 -04:00
Pete Johanson
d74efb331a Kconfig fixes for split roles. 2020-07-17 22:43:40 -04:00
Pete Johanson
be537d0656 Lots of work on split peripheral/central logic. 2020-07-17 22:43:40 -04:00
Pete Johanson
3796f76c56 Initial exploration of split BLE service.
* Service for split peripheral to report
  position state to split central.
* Updated advertising info.
* Behavior for split BT until we have a proper
  event system.
2020-07-17 22:43:40 -04:00
Pete Johanson
4ab6132f70 Bump the default USB EP write retries. 2020-07-14 10:12:25 -04:00
Pete Johanson
7c5fb7adb5 Use SYS_INIT for BLE and USB init. 2020-07-07 10:20:23 -04:00
Pete Johanson
9a991bf019 Initial event manager work, and two first events.
* Add initial event manager implementation,
  roughly mimicking Nordic's API.
* Add `position_state_changed` and
  `keycode_state_changed` events.
* Hook up HID and keymap to new events
  instead of using behaviour global event
  crazy.
2020-06-30 00:31:09 -04:00
Pete Johanson
38f1dbd984 Move Zephyr app into subdirectory. 2020-06-08 21:07:16 -04:00