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
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
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
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
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
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
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
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
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
68e72f9275
fix: Switch to single AUTHORS file.* Closes #164
2020-09-10 10:24:23 -04:00
Pete Johanson
01db53b46a
fix(kscan): Avoid sending duplicate kscan events.
2020-09-01 09:55:25 -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
Pete Johanson
78059bbbdb
Fix up some incorrect license headers.
2020-08-11 14:49:43 -04:00
Pete Johanson
fd3ce4ba1c
Encoder Kconfig fixes.
2020-08-06 23:22:02 -04:00
Pete Johanson
ac802bedb1
Bump delay in scanning while held to 5ms.
2020-08-05 22:58:14 -04:00
Pete Johanson
25d0664b58
Tweaks for EC11 config.
2020-07-24 16:31:38 -04:00
Pete Johanson
adfa1b5443
Initial work on sensor bindings.
2020-07-22 02:13:52 -04:00
Pete Johanson
f3267e6030
Tweaks for orientation and A/B pins for Kyria left
2020-07-21 13:52:03 -04:00
Pete Johanson
c619d36294
Support multiple instances of the encoder.
2020-07-21 13:37:02 -04:00
Pete Johanson
ac9ba3ae7d
Code cleanup for non-trigger mode.
2020-07-21 13:29:21 -04:00
Pete Johanson
aa7c74fe07
Filename fix for EN11 -> EC11.
2020-07-21 13:24:44 -04:00
Pete Johanson
7da9a1039f
Working encoder detection.
2020-07-21 13:16:15 -04:00
Pete Johanson
b6b982fcef
Code clean up
2020-07-20 23:51:40 -04:00
Pete Johanson
c058757252
Fetch/get implementation work.
2020-07-20 22:47:50 -04:00
Pete Johanson
109c69cbab
EN11 is actually EC11, some sample work.
2020-07-20 20:54:58 -04:00
Pete Johanson
331bfa7052
Interrupt fixes.
2020-07-20 10:27:44 -04:00
Pete Johanson
893b99d907
Initial en11 exploration.
2020-07-19 22:11:17 -04:00
Pete Johanson
e448f2d32b
kscan: matrix: Remove verbose logging in read.
2020-07-11 13:10:01 -04:00
Pete Johanson
497049ff68
Detect additional key presses on the same output.
...
* Interrupts won't follow on additional keys
pressed on an already "held" output pin,
so queue additional reads while any keys are held.
2020-07-07 16:26:11 -04:00
Pete Johanson
c32c25d3c0
Properly allocate input/output arrays statically.
2020-06-25 23:21:11 -04:00
Pete Johanson
a6a364725d
Fix .gitignore, add missing changes.
2020-06-24 10:37:02 -04:00
Pete Johanson
d35a95c7af
Initial working Clueboard California Macropad w/ proton-c fixes
...
* Basic Clueboard Californai Macropad shield definition.
* New "direct" KSCAN driver that supports non-matrix direct
wiring for switches, needed for macropad that doesn't have
a matrix at all.
* Some renames for existing KSCAN GPIO driver to make the implied
"matrix" part explicit.
2020-06-24 10:14:27 -04:00
Pete Johanson
297e457dd5
Fix remaining Apache header lines.
2020-06-09 09:54:13 -04:00
Pete Johanson
38f1dbd984
Move Zephyr app into subdirectory.
2020-06-08 21:07:16 -04:00