Commit graph

945 commits

Author SHA1 Message Date
Peter Johanson
d0176f3685 fix(boards): Enable battery driver for XIAO BLE. 2022-04-19 01:28:22 +00:00
Joel Spadin
f91472fbe5 fix(battery): Warn if using deprecated battery label 2022-04-17 11:30:57 -04:00
Joel Spadin
388e345c28 feat(battery)!: Add chosen node for battery
battery.c now uses the zmk,battery chosen node to select a battery
sensor. Using the node labeled "BATTERY" is maintained for backwards
compatibility but is now deprecated. Custom boards should switch to
using the chosen node.

# Conflicts:
#	app/boards/arm/bluemicro840/bluemicro840_v1.dts
#	app/boards/arm/nice60/nice60.dts
#	app/boards/arm/nrfmicro/nrfmicro_13.dts

# Conflicts:
#	app/boards/arm/bluemicro840/bluemicro840_v1.dts
2022-04-17 11:30:57 -04:00
Nick Winans
d08463e483 fix(ble): Restore manual connection params 2022-04-15 12:25:15 -04:00
Peter Johanson
40cd8da743 fix(usb): Split HID from core USB, logging fix.
* Split core USB init from USB HID init.
* Tweak logging to avoid "log loop" causing
  spurious buffer messages on startup.
2022-04-13 13:07:59 -04:00
Peter Johanson
789fd03f8b fix: Properly use zmkfirmware Zephyr version. 2022-04-12 10:55:05 -04:00
Peter Johanson
1dccb7fe50 fix(hid): Use a full valid range for consumer page
* Switch to a logical max for the consumer page
  that avoid signed issue, and still allows
  full range of documented consumer page
  values.
2022-04-10 22:32:09 -04:00
Peter Johanson
22c487f276 feat(boards): Add BDN9 rev2 RGB support 2022-04-09 21:57:22 -04:00
Peter Johanson
b44410ac44 feat(shields): Add Hummingbird shield
* Reference shield for the Seeed(uino) XIAO interconnect.
2022-04-06 16:26:55 -04:00
DoctorNefario
20a72263b2
fix(behaviors): Prevent accidental transparent behavior return values.
Needed because k_work_reschedule can return positive success codes.
2022-04-06 11:00:01 -04:00
Kurtis Lew
7e844bc269 fix(behaviors): Remove behavior_hold_tap_data
Related to discussion during development of tap-dance behavior:
https://github.com/zmkfirmware/zmk/pull/1139#discussion_r810564682

This PR suggests to remove the `struct behavior_hold_tap_data` because is not used to store data for each hold tap.
2022-04-06 09:27:39 -04:00
Peter Johanson
3eb3548a00 refactor(tests): Use GH Actions matrix for tests.
* To parallelize our tests, generate a dynamic matrix
  of tests to run.
2022-04-04 23:36:51 -04:00
Peter Johanson
af4753cae1 fix(behaviors): Missed refactor for PM callback. 2022-04-03 04:37:42 +00:00
Peter Johanson
f4fb5c6fba fix(build): Add local vendor prefix file.
Properly document `zmk` local vendor prefix.
2022-04-03 00:10:29 -04:00
Peter Johanson
953f5212a8 refactor(tests): Move to native_posix_64 target.
* Allows removing multilib from docker images
* Run properly in aarch64 host docker
  containers for testing on Rasberry Pi.
* Small sticky-keys fix to initialize w/ correct
  constant for max uin32_t value.
2022-04-03 00:10:29 -04:00
Peter Johanson
97e62f2da5 feat(boards): Add Seeed(uino) XIAO interconnect
* Document the Seeed(uino) XIAO interconnect
* Add metadata files for two upstream boards, XIAO and XIAO BLE.
* Add conf and overlay files to properly configure the boards
  for ZMK use.
2022-04-03 00:10:29 -04:00
Peter Johanson
9368f6200c fix(display): Add zephyr,display chosen nodes. 2022-04-03 00:10:29 -04:00
Peter Johanson
5015a88545 fix(split): Proper role checking in BT callbacks.
* Properly react to events only for connections
  with the correct role.
2022-04-03 00:10:29 -04:00
Peter Johanson
917c6a0660 fix(power): Fix ext power generic driver.
* Adjust for device API changes to fetch
  ext power driver instance from settings
  callback.
* New PM action callback API.
2022-04-03 00:10:29 -04:00
Peter Johanson
4eb8f8cd23 refactor(boards): Use Zephyr UF2 generation. 2022-04-03 00:10:29 -04:00
Peter Johanson
cc51562f78 fix(boards): Move ARM clock config to DTS. 2022-04-03 00:10:29 -04:00
Peter Johanson
9203ae217b fix(activity): Use proper PM state for sleep. 2022-04-03 00:10:29 -04:00
Peter Johanson
94ac100b6b refactor: Move to Zephyr v3.0.0 + ZMK fixes. 2022-04-03 00:10:29 -04:00
Peter Johanson
df2e993300 feat(ble): Disable BT_GATT_AUTO_SEC_REQ.
* Better compatibility w/ some operating systems, we already
  set security level on connects.
2022-04-03 00:10:29 -04:00
Peter Johanson
ded79ba422 fix: Remove deprecated pinmux code. 2022-04-03 00:10:29 -04:00
Peter Johanson
4df83a9c0d refactor: Move away from deprecated PM callback. 2022-04-03 00:10:29 -04:00
Peter Johanson
bf2fc68070 fix(underglow): Add newly required color-mapping prop. 2022-04-03 00:10:29 -04:00
Peter Johanson
8afe124153 fix(tests): Fix snapshots to account for formatting changes. 2022-04-03 00:10:29 -04:00
Peter Johanson
c5ab8a9444 refactor: Move the DT based CDC ACM setup. 2022-04-03 00:10:29 -04:00
Peter Johanson
2c5d5fde51 refactor: k_work_queue API updates. 2022-04-03 00:10:29 -04:00
Peter Johanson
79ab60dfe5 refactor: Move to new PM API/Kconfig settings. 2022-04-03 00:10:29 -04:00
Peter Johanson
6287819fcc refactor: Move to USB_DEVICE_STACK symbol.
See: https://docs.zephyrproject.org/latest/releases/release-notes-2.7.html#changes-in-this-release
2022-04-03 00:10:29 -04:00
Peter Johanson
3528e1b497 refactor: Move to newer API for IO channels.
See: https://docs.zephyrproject.org/latest/releases/release-notes-2.6.html#api-changes
2022-04-03 00:10:29 -04:00
Peter Johanson
40d8470664 refactor: Handle HID macro/API changes in Zephyr. 2022-04-03 00:10:29 -04:00
Peter Johanson
53dae35710 refactor: Move to k_work_delayable API.
* Move to new `k_work_delayable` APIs introduced in Zephyr 2.6.

See: https://docs.zephyrproject.org/latest/releases/release-notes-2.6.html#api-changes
2022-04-03 00:10:29 -04:00
Peter Johanson
20fcd35026 fix(docs): AVR, not AMR. 2022-03-29 22:01:15 -04:00
Peter Johanson
7453ce20a8 fix(docs): Whitespace clean-up. 2022-03-29 21:46:23 -04:00
rhhub
b6238fa464
fix(docs): Emphasize AMR processor incompatibility with ZMK 2022-03-29 21:45:21 -04:00
ClicketySplit
97e50c39d5 Added BT Configuration Management to Raise Layer
Added Function Keys, and some Navigation Keys to Lower Layer.
2022-03-27 15:52:06 -05:00
ClicketySplit
bbfe4b98dc Updated copyright year. 2022-03-27 15:52:06 -05:00
ClicketySplit
8c66072f93 Updated copyright year. 2022-03-27 15:52:06 -05:00
ClicketySplit
e6a19ab7bc Updated copyright year. 2022-03-27 15:52:06 -05:00
ClicketySplit
7385ef57bb Updated copyright year. 2022-03-27 15:52:06 -05:00
ClicketySplit
fddea99cf4 Updated copyright year. 2022-03-27 15:52:06 -05:00
ClicketySplit
53ac073737 Updated copyright year. 2022-03-27 15:52:06 -05:00
ClicketySplit
89d5c496cb Deleted as recommended. 2022-03-27 15:52:06 -05:00
ClicketySplit
4e4ed73e17 Deleted as recommended. 2022-03-27 15:52:06 -05:00
ClicketySplit
bc0c49b087 Deleted as recommended. 2022-03-27 15:52:06 -05:00
ClicketySplit
c97f7a1044 Update app/boards/shields/leeloo/Kconfig.defconfig
Co-authored-by: Nick Winans <nick@winans.codes>
2022-03-27 15:52:06 -05:00
ClicketySplit
ab5517b858 The inaugural commit for Leeloo's firmware. 2022-03-27 15:52:06 -05:00
Peter Johanson
35e73d40f5 fix(boards): Enable direct polling for BDN9.
* BDN9 Rev2 requires direct polling,
  interrupts don't work as expected.
2022-03-24 03:51:08 +00:00
Peter Johanson
3a6a249ad0 feat(behaviors): Add macro support.
* Fine grainted press/release/tap actions.
* TIming between actions can be controlled.
* Processed async, to avoid blocking.
2022-03-23 23:42:54 -04:00
Kurtis Lew
32ebe2cfb5
feat(behaviors): Add Tap-Dance behavior 2022-03-16 01:08:42 -04:00
okke
ad5a12a7bc fix(behaviors): Fix bug in nested sticky keys
If multiple sticky keys with quick release were nested, only the first one
was properly released. This fix makes sure all of them are released properly.

Fixes https://github.com/zmkfirmware/zmk/issues/1149
2022-03-15 23:04:45 -04:00
Krzysztof Gutkowski
459972fddd fix(boards): Adjust matrix for BT60v1 to fix the broken right Shift key
according to the diagram from the board creators, it should be RC(3,12)
instead of RC(3,13)
2022-03-14 13:01:54 -05:00
Aaron Nunley
d6a2290d5e Added support for 2% Milk (Updated with metadata)
Update app/boards/shields/two_percent_milk/two_percent_milk.overlay

Co-Authored-By: Nick Winans <nick@winans.codes>
2022-03-14 01:26:24 -05:00
Carlos Filoteo
2b4d5dd7d9
feat(shields): Add elephant42 Shield Support (#1009)
* Initial Elephant42 implementation

* Add underglow feature

* Fix keymap

* Copy corne defconfig for OLED and LED

* Fix matrix positions

* Add nice_nano_v2.overlay

* Usability improvements to keymap

* Update LED length

* Delete nice_nano v1 overlay

* Remove unused conf files

* Add copyright/license headers

* PR feedback

* Try fixing formatting again

* Minor format

* More missed tabs

* Format
2022-03-14 00:51:55 -05:00
Nick Winans
a1a8c30f7f Remove deprecated key codes from bat43 keymap 2022-03-14 00:43:03 -05:00
dnaq
745338dc10 feat(shield): Add Bat43 shield
See https://kbd.dailycraft.jp/bat43/ for details.
2022-03-14 00:43:03 -05:00
Kurt
f1b5dc4081
fix(shields): Proper arrow comments in reference keymap
swapped the up and down arrows to reflect the bindings
2022-03-05 13:01:41 -05:00
Peter Johanson
1d5b48cb52 fix(shields): Add missing kyria_rev2.keymap
Needed for setup.sh script, which assumes the shield ID name, not
the shield dir name for downloading.
2022-02-20 16:24:55 +00:00
Peter Johanson
7b1b979461 fix(shields): Proper siblings for Kyria Rev2. 2022-02-20 16:11:50 +00:00
Peter Johanson
b54128331e feat(shields): Add Kyria Rev2 shield.
* New matrix pin selections.
* New encoder pins.
2022-02-19 23:48:06 -05:00
okke
cfd0d3d81a Behaviors: Add 'ignore-modifiers' option to sticky keys
To combine multiple sticky modifiers, the sticky keys must ignore
other (sticky) modifier keypresses.

This behavior is important for "callum-style mods", where all modifiers
are sticky mods.

Fixes #829
2022-02-07 14:45:07 -05:00
Peter Johanson
e2a90974e3 fix(lighting): Proper split backlight support.
Ensure the backlight behavior is run globally.
2022-02-06 21:04:42 -05:00
Alessandro Bortolin
13a4515300 feat(backlight): add command to cycle brightness 2022-02-05 23:40:18 -05:00
Alessandro Bortolin
2c0fe3934d feat(backlight): add tests 2022-02-05 23:40:18 -05:00
Alessandro Bortolin
ce843825e8 refactor(backlight): code cleanup 2022-02-05 23:40:18 -05:00
ReFil
5614a8bb80 feat(backlight): initial split support 2022-02-05 23:40:18 -05:00
Alessandro Bortolin
85b2d30bd5 feat(lighting): add backlight behavior 2022-02-05 23:40:18 -05:00
Lucas Uyezu
4a1254bc27 Add support for Knob Goblin shield 2022-02-03 12:02:45 -06:00
Nick Winans
edbbbc7540
feat(ci): Use metadata for builds
* Build per board
* Nightly builds of all boards
* Detect board changes and build those changed
* Core set of boards/shields built otherwise.
2022-02-03 00:15:50 -05:00
Peter Johanson
7430750428 refactor(splits): Minor cleanups to periph invocation
* Add strlcpy from public domain version.
* Leverage strlcpy to detect truncation of behavior dev strs, and log.
* Use `offsetof` for cleaner detection on peripheral side.
2022-01-31 23:03:34 -05:00
Peter Johanson
b8700eaaa1 fix(split): Fix an off-by-one error in split svc.
* Properly check end of behavior device string for null terminator.
2022-01-31 23:03:34 -05:00
Peter Johanson
dbefe92ea0 fix(split): Slightly improved logging on peripherals. 2022-01-31 23:03:34 -05:00
Peter Johanson
fa110488b0 fix(split): Add define for local source.
* Add `ZMK_POSITION_STATE_CHANGE_SOURCE_LOCAL` and use
  it consinstently to fix bug w/ local `&reset`, `&bootloader`, etc.
2022-01-31 23:03:34 -05:00
Peter Johanson
4d55e60adb refactor(behaviors): Always add reset behaviors.
* Don'd omit unreferenced reset behaviors, so they are always
  available in split peripherals.
2022-01-31 23:03:34 -05:00
Peter Johanson
9297c5f2b4 refactor(splits): Use index for event source.
* Track peripherals by indexes slot, with all appropiate peripheral
  state stored in the slot.
* Event sources tracked by peripheral slot index.
2022-01-31 23:03:34 -05:00
Peter Johanson
e8540f17fc fix: Ensure power and underglow behaviors built.
* Remove `/omit-if-no-ref/` from the behavior nodes.
2022-01-31 23:03:34 -05:00
Peter Johanson
ce3471d4fe fix(split): Add queue for running remote behaviors 2022-01-31 23:03:34 -05:00
Peter Johanson
d486304f79 fix(underglow): Handle cycling effects on splits.
* Convert relative effect cycling to absolute effect selection.
2022-01-31 23:03:34 -05:00
Pete Johanson
0febaa142a refactor(split): Clean up split GATT discovery.
* Use Zephyr auto CCC discovery instead of doing it ourselves.
* Split service versus characteristic discovery into dedicated
  steps in the flow.
* Fix for not searching properly when connecting to a peripheral
  a second time.
2022-01-31 23:03:34 -05:00
Pete Johanson
47f873b038 feature(split): behavior locality support.
* GATT characteristic allowing passng data + behavior
  label to invoke the behavior on the peripheral side.
* Behaviors have a locality setting to specify where they run.
* Build reset/power/RGB on peripheral.
2022-01-31 23:03:34 -05:00
Temur Beissov
c74ae45e17
Lotus58 (#1090)
* lotus58 shield added

* lotus58 default keymap

* lotus58 keymap legend update

* Lotus58 keymap fix

* lotus58 keymap update

* lotus58 kb name fixed

* lotus58 keymap update
PR fix
2022-01-31 13:02:19 -06:00
Peter Johanson
52b1fd5dd3 fix(behaviors): Capture mods for &key_repeat
* When tracking the last keycode, also capture the currently held
  explicit modifiers to use when replaying the key later.
2022-01-30 22:47:34 -05:00
Peter Johanson
70bb7c9334 feat(behaviors): &key_repeat behavior + tests.
* Add new `&key_repeat` behavior that captures and re-sends
  the most recently triggered keycode.

Closes: #853
2022-01-30 22:47:34 -05:00
Peter Johanson
ed48d1ae89 fix(ble): Restore BLE SC passkey entry for pairing.
* Handle capturing numeric inputs while pairing and sending
  final passkey once six digits entered.
2022-01-30 22:41:41 -05:00
Sam Mohr
4c317e0feb
Add support for the Clog (#1092)
* Add support for the Clog

* format DTSI definition

* add a default keymap

* update copyright year, reduce conf to minimum
2022-01-30 14:55:22 -06:00
iangus
4039a50ec3
Add Contra shield (#633)
* Add Contra Shield (#1)

* Add bluetooth control layer to contra keymap (#2)

* fix contra keymap issues

* add bluetooth control layer

* clean up contra files

* add contra.conf file

* add missing bracket for default_layer

* update copyright year to 2021

* add contra metadata file

* refactor pro micro overlay for new syntax
2022-01-30 13:48:35 -06:00
David Fiander
970e63bec6
fix(boards): Properly use dfu-util to flash DZ60 2022-01-12 21:36:08 -05:00
zhiayang
d29236141e
fix(boards): Proper active high and init delay for Mikoto ext-power 2022-01-11 16:07:30 -05:00
okke
f692d64d05 test: print test output immediately and decrease indenting 2022-01-04 23:59:25 -05:00
okke
d59797ba13 test: Change length of fail and pend messages
This makes scanning the output from "west test" easier, as the different states get different output lengths.
2022-01-04 23:59:25 -05:00
okke
f767abe136 chore: make west scripts more pythonic and apply Black 2022-01-04 23:59:25 -05:00
Midge 't Hoen
e0620f1a2d Bump init delay to 50ms for nico-nano 2022-01-03 14:39:42 -06:00
Lucas Yunkyu Lee
2666bd622c fix(keymaps): add row-offset property to matrix-transform 2021-12-20 06:14:35 -05:00
Alexander Krikun
7b023affbd
Add support for the Jiran (#1048)
* initial files to get stuff working

* Keymap by Ladniy

* Format update to new standards

* keymap update

* header

* Fixed transform, removed left and right .conf files

* Apply suggestions from code review

Formatting

Co-authored-by: Nick Winans <nick@winans.codes>

Co-authored-by: Nick Winans <nick@winans.codes>
2021-12-14 11:32:59 -06:00
Peter Johanson
af98a3fd6e fix(shields): Don't enable SSD1306 automatically.
* Fix Murphpad conditional to ensure SSD1306 driver isn't
  enabled whenever `ZMK_DISPLAY` is enabled.
2021-12-13 17:06:46 -05:00
Kyle McCreery
569a2ee2cc
[New Shield] Murphpad (#806)
* initial commit

* initial commit

* Encode, OLED, and RGB Nice Nano support added as well as refining default keymap.

* tweaking keymap

* Prepared murphpad for PR. Includes adding support for second encoder, OLED, and underglow RGB

* Enabled OLED by default.

* removed naked60 config files

* Per PR feedback from ZMK maintainers, added hardware metadata file and renamed Pro Micro pins.

* removed tabs from keymap and replaced with normal spaces

* Update app/boards/shields/murphpad/murphpad.keymap

Co-authored-by: Nick Winans <nick@winans.codes>

* Update app/boards/shields/murphpad/murphpad.zmk.yml

Co-authored-by: Nick Winans <nick@winans.codes>

* Update app/boards/shields/murphpad/murphpad.zmk.yml

Co-authored-by: Nick Winans <nick@winans.codes>

Co-authored-by: honorless <86894501+lesshonor@users.noreply.github.com>
Co-authored-by: Nick Winans <nick@winans.codes>
2021-12-13 14:41:35 -06:00
Felix Sargent
df1ae494c7
Add boardsource5x12 (#1027)
* Initial commit of boardsource5x12

* Added copyright/license header

* Update app/boards/shields/boardsource5x12/Kconfig.defconfig

Co-authored-by: Pete Johanson <peter@peterjohanson.com>

* Update app/boards/shields/boardsource5x12/boardsource5x12.overlay

Co-authored-by: Pete Johanson <peter@peterjohanson.com>

* Update app/boards/shields/boardsource5x12/Kconfig.shield

Co-authored-by: Pete Johanson <peter@peterjohanson.com>

* Update app/boards/shields/boardsource5x12/boardsource5x12.keymap

Co-authored-by: Pete Johanson <peter@peterjohanson.com>

* Swapping keymap for what used in Naked60 as it's another 60 key board, so it keeps it consistent.

* Update app/boards/shields/boardsource5x12/boardsource5x12.keymap

Co-authored-by: Nick Winans <nick@winans.codes>

* renamed layers in boardsource5-12

Co-authored-by: Pete Johanson <peter@peterjohanson.com>
Co-authored-by: Nick Winans <nick@winans.codes>
2021-12-13 14:24:21 -06:00