Commit Graph

369 Commits

Author SHA1 Message Date
Nick 295af93289 Only include behavior if feature enabled 2020-07-24 22:48:48 -05:00
Nick ca569c8143 Initial RGB Underglow implementation 2020-07-24 22:37:00 -05:00
Pete Johanson 25d0664b58 Tweaks for EC11 config. 2020-07-24 16:31:38 -04:00
Nick bb09707bd2 Add base files and configuration for RGB underglow 2020-07-24 01:06:56 -05:00
Pete Johanson f22407223f Log more info on ZMK config dir usage. 2020-07-23 23:01:47 -04:00
Pete Johanson b1bc5b4c82 Switch printk to LOG_DBG. 2020-07-23 22:21:38 -04:00
Pete Johanson bccd30d68a Add user config as board/dts roots as needed. 2020-07-22 19:42:05 -04:00
Pete Johanson 5958bfed0b Naming tweaks for the sensor behavior. 2020-07-22 16:24:31 -04:00
Pete Johanson 34ff6190bd Initial behavior for key presses on encoder rotate 2020-07-22 14:54:18 -04:00
Pete Johanson 4d73938cb5 More sensor keymap work. 2020-07-22 10:10:04 -04:00
Pete Johanson adfa1b5443 Initial work on sensor bindings. 2020-07-22 02:13:52 -04:00
Pete Johanson 5896c3032b Fixes for BLE host connections w/ split support. 2020-07-21 22:10:37 -04:00
Pete Johanson 54f1ddc1f5
Merge pull request #59 from petejohanson/sensors/en11-encoder-sensor
Initial low level EC11 sensor driver
2020-07-21 14:38:32 -04:00
Pete Johanson 3a508c42d0 Trailing newline fix. 2020-07-21 14:28:59 -04:00
Pete Johanson b49755b724 Skip chosen node for now. 2020-07-21 14:24:58 -04:00
Pete Johanson ec74adb3b7 Better chosen name. 2020-07-21 14:01:48 -04:00
Pete Johanson a734d58ffe More consistent DT for the split encoders. 2020-07-21 14:01:15 -04:00
Pete Johanson 3338b3f7de Revert minor change to main. 2020-07-21 13:53:43 -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 b48011ace6 Remove sensor test code. 2020-07-21 13:40:16 -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 c4d3c03eb0 Improved function naming for central functions. 2020-07-20 23:02:27 -04:00
Pete Johanson 542a9de48a Replace magic 16 with sane constant. 2020-07-20 22:52:37 -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 fd407c4876 Update connectin params once we're connected to. 2020-07-19 22:40:49 -04:00
Pete Johanson 2a6b9ec86e Fixed min/max. 2020-07-19 22:33:15 -04:00
Pete Johanson 879fd5b8e7 Connection params tweaks. 2020-07-19 22:20:42 -04:00
Pete Johanson 893b99d907 Initial en11 exploration. 2020-07-19 22:11:17 -04:00
Pete Johanson 1951883def Bump max BT connections for testing. 2020-07-17 23:04:47 -04:00
Pete Johanson 64b9963bca Name each Lily58 side differently. 2020-07-17 23:02:00 -04:00
Pete Johanson 5b61c211ea Tweaks for split Lily58 sync. 2020-07-17 22:44:35 -04:00
Pete Johanson 339a15881a Tweaks for turning off USB for split peripherals. 2020-07-17 22:43:40 -04:00
Pete Johanson eb0bf2337e More cleanup of BLE split code. 2020-07-17 22:43:40 -04:00
Pete Johanson 7778ceec92 One more lingering global behavior bit. 2020-07-17 22:43:40 -04:00
Pete Johanson f4cb3a7cba Clean up old global behavior logic. 2020-07-17 22:43:40 -04:00
Pete Johanson 6701b7babc Working BT settings. 2020-07-17 22:43:40 -04:00
Pete Johanson 0321c490b5 Disable USB on the peripheral size. 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 d1a5c7ee5a Swtich to SYS_INIT. 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 a165db6358 Initial work on split central support. 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 4495aaa7be Minor keymap fix from PR review. 2020-07-17 22:35:33 -04:00
Pete Johanson c3dd7b694d Initial Lily58 shield definition. 2020-07-16 23:41:55 -04:00
Pete Johanson 33d4341320 Code partition size fix for nice!nano. 2020-07-15 23:27:15 -04:00
Pete Johanson 4ab6132f70 Bump the default USB EP write retries. 2020-07-14 10:12:25 -04:00
Pete Johanson fff18dd33e Windows build fixes. 2020-07-13 23:49:36 -04:00
Pete Johanson e448f2d32b kscan: matrix: Remove verbose logging in read. 2020-07-11 13:10:01 -04:00
Pete Johanson c45dbe3c8f boards: nice_nano: Fix i2c usage.
* change conflicting pins usage for uart.
* use i2c0 properly instead.
2020-07-11 13:09:18 -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 6cafa9556c nice!nano fixes for necessary USB CDC ACM UART console. 2020-07-07 10:49:51 -04:00
Pete Johanson 7c5fb7adb5 Use SYS_INIT for BLE and USB init. 2020-07-07 10:20:23 -04:00
Pete Johanson 9bee640ae3 More Planck rev6 fixes. 2020-07-06 10:19:44 -04:00
Pete Johanson a9b949cd94 Fixes for WIP planck board definition. 2020-07-06 00:43:03 -04:00
Pete Johanson 7ce82fbd12 Add ability to have board overlay combined w/ shield keymap. 2020-07-01 22:58:30 -04:00
Pete Johanson 4c5ed99381
Merge pull request #42 from petejohanson/core/event-manager-refactor
Refactor to generic event manager, ditch "global behaviors" as a concept.
2020-06-30 16:42:52 -04:00
Pete Johanson 7bf8621d5b Whitespace fix. 2020-06-30 16:39:29 -04:00
Pete Johanson a62a2f8c5c Cleanup, license headers. 2020-06-30 16:13:03 -04:00
Pete Johanson cb087b54e5 One more lingering global behavior bit. 2020-06-30 15:31:49 -04:00
Pete Johanson c52beb78d4 LIngering "global behavior" bit. 2020-06-30 15:23:21 -04:00
Pete Johanson 57e061ac91 Lots of cleanup of old events/behavior mash. 2020-06-30 15:21:42 -04:00
Pete Johanson b23a73e488 Fix back/forward slash keycodes. 2020-06-30 13:34:24 -04:00
Pete Johanson 96ec16da92 Modifier event, tweaks for linker script. 2020-06-30 10:43:09 -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 5ffd95694f Kyria left/right overlays, matrix transform fixes
* Refactor Kyria into separate left/right "revisions"
  of the Kyria shield, and include central
  kyria.dtsi file with common definition.
* Fixes for keymaps to work fully with matrix
  transforms that override effective rows/columns.
* Add ability for matrix transform to do row/col
  offsets, which is needed for split keyboards.
2020-06-27 00:16:15 -04:00
Pete Johanson f84a41de3e Only test w/ Kyria and handwire. 2020-06-26 11:38:58 -04:00
Pete Johanson 2eb6fbd5a2 Fix the clueboard keymap. 2020-06-26 11:32:32 -04:00
Pete Johanson f8010d046f Add missing semicolon to pro micro nexus. 2020-06-26 11:23:31 -04:00
Pete Johanson 559670b818 Missed removing some preceding 0 padding. 2020-06-26 11:07:42 -04:00
Pete Johanson 2ff217d39e Refactor ProMicro to a/d connector. 2020-06-25 23:21:53 -04:00
Pete Johanson c32c25d3c0 Properly allocate input/output arrays statically. 2020-06-25 23:21:11 -04:00
Pete Johanson cd6bdc336a Enable ZMK USB by default on nano. 2020-06-25 23:20:31 -04:00
Pete Johanson c457d9880d
Merge pull request #32 from petejohanson/core/refactor-keymap-to-behaviors
Refactor keymap to behaviors
2020-06-25 14:39:08 -04:00
Pete Johanson a6a364725d Fix .gitignore, add missing changes. 2020-06-24 10:37:02 -04:00
Pete Johanson 17ef033f00 Tweaks to readme. 2020-06-24 10:19: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 f2f9d45021 Comment out debug settings again. 2020-06-22 11:16:00 -04:00
Pete Johanson 55cf9db564 Fix consumer keys w/ refactored behaviors. 2020-06-22 11:06:01 -04:00
Pete Johanson 8027be106e Fix momentary-layer reference. 2020-06-21 23:20:38 -04:00
Pete Johanson 321d510d02 One more minor fix. 2020-06-21 22:56:13 -04:00
Pete Johanson 037db585c1 Remove unneeded custom keymap code. 2020-06-21 22:52:50 -04:00
Pete Johanson ec663310c1 Clean up after refactor, better HID constants. 2020-06-21 22:46:27 -04:00
Pete Johanson c6625169e5 Refactor to single <behaviors.dtsi> include. 2020-06-21 22:05:11 -04:00
Pete Johanson 93635077e6 Implement momentary layer + transparent behaviors
* Implement "momentary layer" behavior with `&mo`
  reference.
* Implement basic "transparent" behavior with `&trans`
  reference.
2020-06-21 21:56:49 -04:00
Pete Johanson 223edf05ad Refactor global bindings, implement mod-tap.
* Use extra comptible = "zmk,behavior-global" to add
   behaviors to global bindings for event notification.
* Implement mod-tap, as a keymap binding and global one
  to skip tap if other keycode pressed while held.
2020-06-21 21:43:44 -04:00
Pete Johanson 7e659851c8 Refactor matrix transform, positions pervasively
* Do mapping to positions right in kscan handler, and then
  surface positions throughout the API.
2020-06-20 17:54:52 -04:00
Pete Johanson d65629b9a0 Lots more pieces toward HID working again. 2020-06-20 00:11:39 -04:00
Pete Johanson c23d752917 Some initial work on behavior bindings for keymaps 2020-06-19 15:32:33 -04:00
Pete Johanson 6e111f4676
Merge pull request #29 from petejohanson/build/zmk-config-initial-work
Initial refactor to have a shield/board have one default keymap.
2020-06-17 09:40:28 -04:00
Pete Johanson c9b22e55fd
Merge pull request #14 from zmkfirmware/boards/nice-nano-prep
Initial basic work on nice!nano board support.
2020-06-16 23:10:53 -04:00
Pete Johanson 33795b99ca Change the kernel bin name, upload built UF2. 2020-06-16 22:58:26 -04:00
Pete Johanson 8ee9a37498 Tweak the defconfigs for nice_nano and handwire. 2020-06-16 22:35:29 -04:00
Pete Johanson 1659562bb7 Rename keymap-transform to matrix-transform.
* Clearer name to capture essence of the role of the
  transform.
2020-06-16 21:35:44 -04:00
Pete Johanson 6b6ecb3b0c Tweaks to remove "helper macros"
* More direct transform maps were agreed to be clearer.
* Remove helpers, just use simple `RC` macro to map a
  logical location to a row/column pair.
2020-06-16 21:32:11 -04:00
Pete Johanson a65cdea66b Better naming, layout comments for clarity. 2020-06-16 16:21:39 -04:00
Pete Johanson a4885db2bf Use the correct family ID for the AdaFruit bootloader. 2020-06-16 11:40:51 -04:00
Pete Johanson 85e505e06e Build UF2 image for nice!nano board as well. 2020-06-15 23:00:35 -04:00
Pete Johanson 557996bcd0 Fixes for SPI pins for "P1" pins
Co-authored-by: Nick Winans <nick.win999@gmail.com>
2020-06-15 22:38:30 -04:00
Pete Johanson 879ce6fa6b Enable BLE by default as well. 2020-06-15 22:38:30 -04:00
Pete Johanson 75b01869f0 Add (untested) pins for SPI. 2020-06-15 22:38:30 -04:00
Pete Johanson a5ade1f947 Add missing `compatible` entry for the toplevel board. 2020-06-15 22:38:30 -04:00
Pete Johanson 4294b4873e Initial basic work on nice!nano board support. 2020-06-15 22:38:30 -04:00
Pete Johanson 1751470785 Initial work on keymap transforms for non-standard matrixes.
* Allows "gaps" for keyboards like Kyra.
* Allows keyboards with matrixes that don't map the logical key
  locations to have normal looking keymaps when defined.
2020-06-15 17:03:34 -04:00
Pete Johanson 0712dadd29 Tweaks for Proton-C board. 2020-06-15 16:58:18 -04:00
Pete Johanson 583839afce Initial refactor to have a shield/board have one default keymap.
* Start of work of focusing on out-of-tree user keymaps.

Add ZMK_CONFIG support.

* General external configuration supported via ZMK_CONFIG,
  which should point to a configuration directory.
* Priority order of overlay files to select.
  * ${SHIELD}_${BOARD}.overlay
  * ${SHIELD}.overlay
  * ${BOARD}.overlay
  * default.overlay
* Equivalent search order for .conf files for initial Kconfig
  values.
2020-06-14 23:58:43 -04:00
Pete Johanson ed045bee6a Upgrade to Zephyr 2.3.0 (plus small build fix.)
* Closes #27
2020-06-14 23:15:23 -04:00
Pete Johanson 292df586a4 Restore CMSIS. 2020-06-12 10:29:58 -04:00
Pete Johanson caf934792a Exclude some unused Zephyr west submodules.
* Don't waste space/time updating unused modules for architectures
  we aren't targetting (yet).
2020-06-12 09:47:21 -04:00
Pete Johanson 0ee01390bd Initial handwire proton-c shield for testing. 2020-06-11 23:38:04 -04:00
Pete Johanson 7614e7e52b Initial work on Proton-C board definition. 2020-06-11 23:37:47 -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