Commit Graph

536 Commits

Author SHA1 Message Date
Mega Mind 2e649b7fd4 Fix compilation errors and minor tweaks 2020-10-13 00:09:57 +08:00
Mega Mind 4adcb396ff Rebased and fixed nasty code 2020-10-12 23:54:56 +08:00
Pete Johanson a2b4a08ddc
Merge pull request #226 from mubeenkhan94/tg4x-shield-dev
Add TG4X rev 2.1 shield
2020-10-12 11:49:54 -04:00
Mega Mind 5d1c083959 Added toggle and removed a param 2020-10-12 23:42:01 +08:00
Mega Mind b5e1c8a7ad New behavior for ext power control 2020-10-12 23:42:01 +08:00
Pete Johanson 367dcd4820
Merge pull request #267 from nuxiom/fix-matrix-polling
Fix matrix polling conditional macro
2020-10-12 10:38:34 -04:00
Mubeen Khan d45e7b3c11
Merge pull request #7 from zmkfirmware/main
Update to stay even with upstream main
2020-10-11 23:17:04 -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
Joel Spadin 7798c974f6 fix: don't leak bt_conn refs
bt_conn_lookup_addr_le() gives us a new reference that must be released
with bt_conn_unref()
2020-10-11 17:04:34 -05:00
Nuxiom 1c0c02e097
Reformatted according to clang-format lint 2020-10-11 17:51:06 +11:00
Nuxiom 78cb6c8b21
Fix kscan_gpio_irq_callback_handler_##n conditional macro 2020-10-11 17:33:07 +11:00
Mubeen Khan 7fc7a35117 Revised keymap to Qwerty 2020-10-10 16:51:17 -05:00
Okke Formsma d38740cebf
Add timestamps to position and behavior events (#147)
* Add timestamps to position events and behaviors.

- Take original event timestamps into consideration so nested tap-holds have proper timing.
- Add position and timestamp to keycode state changed event so the one-shot behavior can properly identify other keypresses and timings.
- Add timestamp to position events received from peripheral

* reduce number of arguments to behaviors
2020-10-10 17:32:53 -04:00
Mubeen Khan 4fd6c14ae9
Merge pull request #4 from zmkfirmware/main
make even with main
2020-10-10 16:32:16 -05:00
Pete Johanson e1dcf1514f
Merge pull request #242 from megamind4089/feature/ext-power
[RDY] Driver to control the external power output
2020-10-09 20:40:48 -04: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
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