Commit graph

519 commits

Author SHA1 Message Date
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
Kellen Carey a695d0d359 oops 2020-10-09 12:18:57 -07:00
Kellen Carey 0b125c028c address pr comments 2020-10-09 11:48:06 -07:00
David Barr 01b0bad7a2
update headers, spruce up keymap, streamline dtsi. 2020-10-09 17:05:09 +01:00
David Barr 2b09174ec1
update header again based on corne 2020-10-08 11:22:34 +01:00
David Barr ad77df5989
capital C 2020-10-08 11:20:22 +01:00
David Barr a629aa0b42
Update Kconfig.defconfig 2020-10-08 11:17:53 +01:00
David Barr eeac54e9a4
Update cradio_left.overlay 2020-10-08 11:16:28 +01:00
David Barr 55c1f51b31
update header 2020-10-08 11:16:08 +01:00
David Barr a3cdab9e9f
update header 2020-10-08 11:14:46 +01:00
David Barr 24e73f6861
Update cradio.dtsi 2020-10-08 11:12:04 +01:00
David Barr 95b94009a9
remove dupe copyright 2020-10-08 11:11:40 +01:00
David Barr 7d582b6b8e
remove dupe copyright 2020-10-08 11:11:01 +01:00
David Barr 426b25892f
rename gpio to direct polling 2020-10-08 11:09:35 +01:00
Kellen Carey ca29c40206 clean up keymap 2020-10-07 21:22:08 -07:00
Kellen Carey f3eaa7e424 working shield, need to improve default keymap 2020-10-07 20:40:04 -07:00
David Barr d5d8d79a76
Update cradio_right.overlay 2020-10-07 16:23:59 +01:00
Pete Johanson 12b9a37005
Merge pull request #211 from petejohanson/core/keymap-port-event-exploration
Use PORT events for kscan matrix interrupts, add option for deep sleep.
2020-10-06 17:32:35 -04: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 ce59223efe fix(shields): Typo in makerdiary URL. 2020-10-05 23:40:29 -04:00
Mega Mind b8cb5f939a M60 keymap update and misc changes
* Updated M60 keymap
* Make nrfjproj as default runner
* Remove the polling config
2020-10-05 21:24:39 +08:00
Mega Mind e2299836bc Update contributors in all keymap files 2020-10-05 21:23:38 +08:00
Mega Mind 9d06c730ba Added Makerdiary M60 keyboard 2020-10-05 21:23:38 +08:00
Mega Mind c54decd144 Added Makerdiary M.2 module 2020-10-05 21:23:38 +08:00
Pete Johanson 7d222e1553
Merge pull request #237 from ChaosinaCan/direct-gpio-fix
Fix direct GPIO when using interrupts
2020-10-04 23:04:16 -04:00
Pete Johanson 9be566603e feat(kscan): Use PORT events for kscan matrix interrupts
* Lower power usage compared to regular interrupts on nrf52.
2020-10-04 22:03:21 -04:00
Pete Johanson bbf5a5905a refactor(usb): Report USB status w/o HID output. 2020-10-04 21:56:09 -04:00
Joel Spadin 4121b07f7f fix(kscan): fix direct GPIO when using interrupts
Fixed initializing interrupts for direct GPIO when
CONFIG_ZMK_KSCAN_DIRECT_POLLING is not enabled. IS_ENABLED() is needed to map
the possibly-undefined value to 0 or 1 so COND_CODE_0() and COND_CODE_1() work.
2020-10-04 14:07:20 -05:00
Joel Spadin fc5915b200 improvement(kscan): use ARRAY_SIZE macro 2020-10-04 14:07:14 -05:00
Joel Spadin f6f8abe055 fix(ec11): allow more than one encoder
Fixes "device.h:101:11: error: redefinition of '__device_ec11'" in firmware that
has more than one encoder.
2020-10-03 14:05:05 -05:00
David Barr 260044ae5e
Delete default.keymap 2020-10-02 14:17:35 +01:00
David Barr 38a418a1d1
updates as per PR changes (i hope) 2020-10-02 14:16:59 +01:00
Dev c68e3d3e42 Add missing licensing header
Fixes #205
2020-10-02 13:14:31 +05:30
Pete Johanson 307a8d09db feat(usb): Function to access latest USB status.
* To be leveraged by upcoming power
  management work.
2020-10-01 17:18:01 -04:00
Pete Johanson 028dfae92e chore: Fix remaining formatting issues. 2020-10-01 11:43:00 -04:00
Pete Johanson e993378b2a chore: Fix some accidental formatting issues. 2020-10-01 11:24:57 -04:00
Pete Johanson 300b753ced
Merge pull request #212 from shurikai/zmk-202
Add polling (instead of interrupt) based matrix kscan detection, to avoid interrupt limits on stm32
2020-10-01 00:36:29 -04:00
Mubeen Khan 16df1522c2 Add TG4X rev 2.1 shield 2020-09-30 21:35:51 -05:00
David Barr 17bee0223a remove ds_store files 2020-09-30 17:12:39 +01:00
David Barr a3d0c03726 rename cradios to cradio 2020-09-30 16:20:41 +01: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
Jason Chestnut c2a861c0e6 Modify preprocessor directives to use basic #if !defined() rather than Zephyr macros where appropriate. 2020-09-28 08:24:51 -04:00
jason 9392c4f9ff Fix preprocessor flag issues for pull request. 2020-09-27 21:27:30 -04:00
Noah Thornton 9afd44b9d4 Provide context on Quefrency physical PCB layouts
The Quefrency board has two options for each left and right half,
resulting in 4 unique combinations. This has been noted in the
overlay and dtsi files.
2020-09-26 22:10:14 -05:00
Noah Thornton 24b638dfa3
Apply suggestions from code review
Revise copyright header

Co-authored-by: Pete Johanson <peter@peterjohanson.com>
2020-09-26 21:09:19 -05:00
Noah Thornton 7f7c7037b0 Add quefrency shield 2020-09-26 11:59:12 -07:00
Jason Chestnut cfc75a118e Fix merge error. 2020-09-25 11:51:14 -04:00
Jason Chestnut cca8337f05 Add support to GPIO matrix driver for matrix polling, rather than interrupt-based IO.
- Add ZMK_KSCAN_MATRIX_POLLING config flag to Kconfig
  - Update matrix driver code to use the above flag to conditionally add the handling code for polling operations.
2020-09-25 11:49:07 -04:00
Jason Chestnut b1dce208f8 Add matrix polling logic to matrix GPIO driver. 2020-09-25 11:29:21 -04:00
Jason Chestnut 9668305621 Restore original matrix driver to correct implementation errors. 2020-09-24 17:35:51 -04:00
Jason Chestnut 5c4705d465 Add new matrix scan flag and implementation in the gpio matrix driver. 2020-09-24 14:30:47 -04:00
Jason Chestnut 53425aa3c4 Rename kscan direct wired driver polling kscan flag in preparationfor addition of new matrix driver flag that enables polling. 2020-09-24 07:55:32 -04:00
Kristoffer Onias 8e92ae3089 Remove bt_unpair_combo from romac_plus.overlay 2020-09-23 17:53:41 -07:00
Kristoffer Onias 641524b1b9 Update Keymap legends for consistency 2020-09-23 17:01:40 -07:00
Kristoffer Onias 9fffebd5da Adopt new BT unpairing standards 2020-09-23 16:31:02 -07:00
Kristoffer Onias 0ce36865b2 Update keyboard name to be more user friendly 2020-09-23 16:23:54 -07:00
Kristoffer Onias 4c092044ce Adopt single authors headers 2020-09-23 16:21:42 -07:00
Jason Chestnut 31af9646e6 Adding kconfig flag for enabling matrix polling (vs interrupts) on the matrix gpio driver. 2020-09-23 16:05:29 -04:00
Kristoffer Onias f1fd71c231 Disabled ec11 since it's an optional configuration 2020-09-23 12:39:06 -07:00
Kristoffer Onias c044fe8532 Add RoMac plus v4 support on nice nano v1 2020-09-21 22:44:00 -07:00
Pete Johanson 90bfe6026d fix(boards): Flash Planck with dfu-util. 2020-09-21 09:49:56 -04:00
Pete Johanson 9b89ed7be4
Merge pull request #187 from kurtis-lew/main
Fixed Iris default build/Updated Dev Guide
2020-09-19 23:12:17 -04:00
Nick f5909f9c26 fix(clang-format) 2020-09-19 19:18:03 -05:00
Nick da0fb965f6 Merge remote-tracking branch 'upstream/main' into bluetooth/battery-reporting 2020-09-19 19:15:05 -05:00
Nick 844f2c7674 Voltage divider driver initial implementation 2020-09-19 19:14:59 -05:00
David Barr ed5d3646fe
Add files via upload 2020-09-19 10:56:40 +01:00
David Barr 2855ba75f5
Actually really working
Ok, both sides work as expected, need to write a keymap.
2020-09-19 10:55:07 +01:00
Nick 608ae0df6d fix lint with clang-format 2020-09-15 14:47:19 -05:00
Nick 18d21b0362 Merge remote-tracking branch 'upstream/main' into underglow/state-persistence 2020-09-15 14:41:59 -05:00
Nick 81bc157f53 Fix underglow not working by default 2020-09-15 14:31:59 -05:00
Kurtis Lew d86e571757
Update iris.keymap 2020-09-14 20:47:55 -07:00
kurtis-lew 64c11f15b0 Removed Copyright Header causing Parse Error 2020-09-14 20:19:54 -07:00
Pete Johanson c0806d27f1
Merge pull request #186 from BrainWart/tests/fix-build-error-fail
Integration Tests Should Fail on Build Errors
2020-09-14 10:50:52 -04:00
Pete Johanson 1cf0bad792
Merge pull request #185 from tominabox1/qaz_update
QAZ shield keymap update
2020-09-14 10:41:35 -04:00
tominabox1 0bf4467729 Update Kconfig.shield 2020-09-14 09:35:57 -05:00
Cody McGinnis f6269df5fc fix(tests): return error code when build fails 2020-09-14 10:34:05 -04:00
tominabox1 42c42ccbbd Fixed some space/tab issues as well as updated copyright statements 2020-09-14 09:25:31 -05:00
Pete Johanson 9110335142
Merge pull request #183 from petejohanson/ops/clang-format-checks
Standardize code formatting using clang-format w/ LLVM style
2020-09-14 09:46:35 -04:00
tominabox1 62c47b1981 Remove duplicate include 2020-09-14 08:46:07 -05:00
tominabox1 63e105db90 Revising keymap to jive with upstream changes 2020-09-14 08:45:31 -05:00
tominabox1 fc167f5f5e Update QAZ keymap for bluetooth config options and homerow hold-taps 2020-09-14 08:44:20 -05:00
Pete Johanson 2c38947d1d
Merge pull request #184 from Nicell/boards/bt-keymap-bindings
feature(board): add BT prof management to defaults
2020-09-14 09:27:26 -04:00
Nick 7b12dc6caf feature(board): add BT prof management to defaults 2020-09-13 23:29:31 -05:00
Pete Johanson 191a2d755a chore: clang-format the codebase.
* Use the LLVM style
* Override indent width (8) and column limit (100)
* Fixes #142.
2020-09-14 00:10:34 -04:00
Pete Johanson 4658999e31 fix(bluetooth): Reject pairing to taken profiles. 2020-09-13 22:33:31 -04:00
Pete Johanson 6c8b0b53f0 refactor(bluetooth): More concise names. 2020-09-13 22:33:31 -04:00
Pete Johanson 652bb6ce05 feat(bluetooth): Add new settings_reset shield.
* Easy to build board/image that will clear
  saved profile/bond information for a fresh
  start for keyboards.
2020-09-13 22:33:31 -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 e88d0833c5 fix(bluetooth): Log when clearing on start. 2020-09-13 22:33:05 -04:00
Pete Johanson b103eb4b05 fix(bluetooth): Delete any previously stored name. 2020-09-13 22:33:05 -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 68e72f9275 fix: Switch to single AUTHORS file.* Closes #164 2020-09-10 10:24:23 -04:00
Pete Johanson 5005aa4cd4
Merge pull request #166 from Nicell/boards/dz60rgb
Add DZ60RGB Rev1 Definition
2020-09-09 23:10:22 -04:00
Cody McGinnis a65de800bf fix(tests): pending tests pass now 2020-09-08 12:00:46 -04:00
Nick ceda57ddfd Fix comment name of keyboard 2020-09-07 12:32:25 -05:00
Nick e845995c2d Fix Planck defconfig 2020-09-07 12:25:11 -05:00
Nick 6b433fdefd Finish DZ60RGB board definition 2020-09-07 12:24:47 -05:00
Nick fa40558f73 Merge commit '61b249666b13f7f356c0e77ee5eb500d672d7dce' into boards/dz60rgb 2020-09-07 12:22:18 -05:00
Pete Johanson 9475188869
Merge pull request #162 from kurtis-lew/iris
Update iris_right.overlay
2020-09-04 23:35:55 -04:00
kurtis-lew 4ce42350e7 Update iris_right.overlay 2020-09-04 20:28:45 -07:00
CrossR 0ede549a13 Fix Sofle build, update Intro page. 2020-09-03 22:54:06 +01:00
David Barr 8bad40282b
actually working 2020-09-03 22:02:25 +01:00
David Barr 95bb220702
now compiles, not work, baby steps 2020-09-03 14:46:54 +01:00
David Barr 4551d30769
ad cradios 2020-09-03 13:20:05 +01:00
Pete Johanson d53a8e36ca
Merge pull request #151 from kurtis-lew/iris
Added Iris Shield
2020-09-02 14:07:01 -04:00
Pete Johanson 48a3729ffe
Merge pull request #146 from okke-formsma/hold-tap
Hold-Tap implementation
2020-09-02 13:55:26 -04:00
Okke Formsma c9a82d71d0 fixes for feedback round 2 2020-09-02 16:41:39 +02:00
Kurtis Lew 6e8f19028a
Added copyright header to iris.keymap 2020-09-02 07:22:39 -07:00
Kurtis Lew c2ffeb1cf4
Added Copyright Header to Kconfig.defconfig 2020-09-02 07:21:45 -07:00
Okke Formsma c5ca664411 some fixes based on feedback 2020-09-02 15:26:06 +02:00
Okke Formsma f6a9c1ee57 rename tests 2020-09-02 15:10:46 +02:00
kurtis-lew 081ae84d0e Added Iris Shield 2020-09-01 20:22:11 -07:00
Okke Formsma c33931c72c Initial implementation of hold-tap 2020-09-01 19:41:08 +02:00
CrossR ca0f2bb074 Add to setup. 2020-09-01 18:32:45 +01:00
CrossR 21875cde88 Merge remote-tracking branch 'upstream/main' into CrossR/Sofle 2020-09-01 18:27:40 +01:00
Pete Johanson 4202db5a01
Merge pull request #126 from BrainWart/fix-layer-release
Fix keys not releasing when layers change
2020-09-01 10:08:03 -04:00
Pete Johanson b85ac13564
Merge pull request #145 from okke-formsma/stop-fatal-errors
stop on fatal errors
2020-09-01 10:04:17 -04:00
Pete Johanson 01db53b46a fix(kscan): Avoid sending duplicate kscan events. 2020-09-01 09:55:25 -04:00
Cody McGinnis 639a338c2d fix(core): track layer state with keypress 2020-09-01 09:49:21 -04:00
Okke Formsma 21fcab208e stop on fatal errors 2020-08-31 22:24:36 +02:00
Pete Johanson ef3c96c2ac
Merge pull request #134 from chenkevinh/lily58-encoder
Add Lily58 Left Encoder Support
2020-08-29 21:25:02 -04:00
Kevin 1ffcbefd72 Added encoder to unified conf file 2020-08-29 18:12:12 -07:00
CrossR 6be07b5b24 Merge branch 'main' into CrossR/Sofle 2020-08-29 22:54:43 +01:00
Kevin 0331943855 Removed extra encoder config lines 2020-08-29 13:48:40 -07:00
Kevin 14c05c92e9 Removed development files 2020-08-29 11:53:53 -07:00
Kevin 8b6e912d36 Reverted back to default keymap 2020-08-29 11:48:33 -07:00
Kevin 72232b4ec7 Fixed encoder config and added build_right script 2020-08-29 11:36:48 -07:00
Kevin d69c94a183 Added helper scrpits and config file 2020-08-28 23:43:41 -07:00
Kevin 8b38193ec2 Removed status line 2020-08-28 23:33:29 -07:00
Kevin e616fc2c81 Added left encoder support 2020-08-28 20:36:43 -07:00
Kevin 6475009da9 Added encoder and changed BT unpair keys in overlays 2020-08-28 20:36:28 -07:00
Pete Johanson 86c3dac153
Merge pull request #131 from BrainWart/tests/native-posix-test-exploration
Native posix integration testing
2020-08-28 22:58:08 -04:00
Pete Johanson 14d09e7b07
Merge pull request #130 from tominabox1/shield_qaz
[Keyboard] Add QAZ Shield
2020-08-28 18:51:58 -04:00
tominabox1 887ba47cbe Add copyright header 2020-08-28 16:38:40 -05:00
Cody McGinnis 80bef160fc feat(tests): allow tests to be marked as pending
pending tests will not fail the build
2020-08-28 16:28:49 -04:00
Cody McGinnis 26414a6982 fix(docs): move testing docs to website docs 2020-08-28 16:21:31 -04:00
Cody McGinnis b1d9a7b684 feat(test): record full key log as well 2020-08-28 16:21:31 -04:00
Cody McGinnis aff39e57d0 fix: add license header to run-test.sh 2020-08-28 16:21:31 -04:00
Cody McGinnis 4564d37477 feat(test): create simple docs for creating tests 2020-08-28 16:21:31 -04:00
Cody McGinnis 79bff11ddd fancier run test stuff 2020-08-28 16:21:31 -04:00
Cody McGinnis e2f77f25c8 feat(test): add testing for transparent 2020-08-28 16:21:31 -04:00
Cody McGinnis a722cbcea3 feat(test): add tests for toggle layer 2020-08-28 16:21:31 -04:00
Cody McGinnis 033bb7bfc4 fix(behavior): add logging to toggle layer for tests 2020-08-28 16:21:31 -04:00
Cody McGinnis 3d325ccb84 feat(test): add tests for none behavior 2020-08-28 16:21:31 -04:00
Cody McGinnis abf8b5abfa fix(test): fix normal momentary-layer test snapshot 2020-08-28 16:21:31 -04:00
Cody McGinnis de92bf2b2d fix(test): use a smaller value for mock key intervals 2020-08-28 16:21:31 -04:00