Commit Graph

1313 Commits

Author SHA1 Message Date
Peter Johanson
c28ef1b61e refactor(drivers): Use proper init stage/priority.
* Avoid APPLICATION stage and use the proper earlier stage for
  kscan drivers.
2023-09-16 11:52:40 -07:00
Peter Johanson
690bc1bb44 refactor: Move drivers into properly module.
* Align our driver module layout to properly match Zephyr conventions,
  allowing proper CMake setup to amend the library for each type of driver.
2023-09-16 11:52:40 -07:00
Cem Aksoylar
7f9e9f8c64 fix(boards): Disable QSPI for Xiao BLE
The GD25Q16 flash connected via QSPI seems to be causing issues
with excessive battery use and inability to sleep. Since ZMK doesn't
use it, disable it.

Resolves #1901
2023-09-05 22:40:25 -07:00
Peter Johanson
718500543b feat(split): Use directed advertising.
* Split centrals to scan with their identity so they receive direct
  advertising packets.
* Split peripherals to use direct advertising if they have an existing
  bond to a split central.
2023-09-04 13:54:07 -07:00
Peter Johanson
647945d9f8 feat(shields): Add splitkb.com Aurora Helix
* Add new shield for splitkb.com Aurora Helix, supporting
  keys, encoder(s), displays, and RGB.
2023-09-03 22:39:10 -07:00
フィルターペーパー
ac0691471f feat(shields): Add Bluetooth bindings to kyria keymaps
Bluetooth bindings are useful for handling pairings with hosts. This
change adds the header and a few default commands as template for
new users to work with.
2023-09-02 23:08:17 -07:00
Xudong Zheng
544612c8c0 fix(split): reserve peripheral slot before stopping scanning
In the event that the peripheral MAC address does not match, this allows
scanning to continue.
2023-09-02 23:06:41 -07:00
Mikhail Stralenia
185457bc11
fix(shields): leeloo - proper encoder status for split encoders. 2023-08-29 08:53:30 -07:00
Peter Johanson
a92a4967aa fix(sensors): Only accept data once per behavior.
* Don't accept data for the same behavior on multiple layers more than
  once, to avoid duplicate/extraneous triggers.
2023-08-27 19:52:03 -07:00
Stephen Wan
9d44229800 feature(split): add support for sensors from peripheral
This commit adds a new GATT characteristics on the peripheral side
and wires it up to read sensor values. The central side subscribes
to this new characteristics and replays sensor values on its side.

Co-authored-by: Peter Johanson <peter@peterjohanson.com>
2023-08-27 19:52:03 -07:00
Xudong Zheng
e65a7e3075 fix(battery): change nRF52 ADC gain
With ADC pin, maximum 3.6V input needs gain 1/6 to be less than the 0.6V
reference.

With VDDHDIV5, maximum 6V input corresponds to 1.2V so gain 1/2 will be less
than the 0.6V reference and be slightly more precise.
2023-07-29 23:04:35 -07:00
Xudong Zheng
cb9c573b53 refactor(underglow): turn underglow off in low priority work queue 2023-07-24 17:04:51 -07:00
Xudong Zheng
9a963abfc8 refactor: use low priority workqueue for underglow and battery reporting
Blocking operations on the high priority system workqueue may result in
deadlocks, particularly when Bluetooth is in use.
2023-07-24 17:04:51 -07:00
Peter Johanson
f743d57ff1 feat(shields): Add splitkb.com Aurora Sofle
* Add new shield for splitkb.com Aurora Sofle, supporting
  keys, encoder(s), displays, and RGB.

Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2023-07-22 23:16:49 -07:00
Peter Johanson
147f7f23dc fix(shields): Make settings_reset more flexible.
* Don't reference `pro_micro` nexus node in settings_reset
  so it can be used with other controllers.
* Use mock kscan node instead.
2023-07-21 10:41:23 -07:00
Peter Johanson
5f6a13413b fix(bluetooth): Split improvements
* Proper usage of bt_uuid_cmp.
* Central's don't start scanning for peripherals if
  `ZMK_BLE_CLEAR_BONDS_ON_START` is enabled.
* Split peripherals don't advertize if
  `ZMK_BLE_CLEAR_BONDS_ON_START` is enabled.
2023-07-21 10:41:23 -07:00
Peter Johanson
54c2e8e155 feat: Add more logging to peripheral settings. 2023-07-21 10:41:23 -07:00
Peter Johanson
ed400c4feb fix(bluetooth): Corrected use of bt_addr_le_cmp
* Properly compare to zero when comparing LE addresses.
2023-07-21 10:41:23 -07:00
Peter Johanson
73e1b526d5 fix(bluetooth): Properly clear peripheral slots
* When the clear bonds Kconfig is set, also clear peripheral
  address slots addresses from settings as well.
2023-07-21 10:41:23 -07:00
Cem Aksoylar
ee1e135104
fix: Proper battery sensor Kconfig dependencies.
Properly make the battery sensor Kconfig symbols depend
on `SENSOR` config, and minor battery reporting Kconfig
symbol dependency fix.
2023-07-19 02:21:09 -04:00
Nick Winans
51a4be8935 fix(displays): Don't enable built-in widget configs by default 2023-07-19 00:13:16 -06:00
Nick Winans
18a2b76bf0 feat(nice!view): Custom widgets 2023-07-19 00:13:16 -06:00
ClicketySplit
aaf9958d86
feat(boards): Leeloo v2 and V2 Zephyr 3.2 fixes
* Add Leeloo v2
* Leeloo-Micro v1 updates to support Zephyr 3.2
* Refactored for new Encoder Configuration

Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2023-07-17 17:26:27 -04:00
Kyle McCreery
3772ecb04e
fix(boards): Update pillbug_defconfig to enable pinctrl 2023-07-05 10:50:19 -06:00
Peter Johanson
b259d5a22e fix(sensors): Sensor rotate behavior fix for layers.
* Properly return transparent value when processing mode
  for higher disabled layers means the processing is ignored.
2023-06-20 17:36:37 -06:00
Peter Johanson
805dd4a53b feat(behaviors): Support parameterized macros.
* Add two new compatibles for macros that
  take one or two parameters when bound in
  a keymap.
* Use `&macro_param_1to1`, `&macro_param_1to2`, `&macro_param_2to1`,
  and `&macro_param_2to2` control entries in the bindings for the macro
  to have the next binding entry have it's values substituted.

Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2023-06-20 11:19:28 -06:00
Xudong Zheng
e686fce4d9 refactor(split): allow central to define connection parameters
Fixes #1614
2023-06-19 20:48:31 -06:00
Peter Johanson
753802cd79 fix(sensors): Clean ups based on code review. 2023-06-18 20:45:06 -06:00
Peter Johanson
3a91b32513 refactor(sensors): Use "sensor index" consistently 2023-06-18 20:45:06 -06:00
Peter Johanson
8b29f6d345 refactor(sensors): Split data handling from triggers.
* All sensor behaviors should see sensor data, then selectively
  only have some trigger their behaviors.
2023-06-18 20:45:06 -06:00
Peter Johanson
d781ec795b refactor(bluetooth): Add battery reporting config.
* Add dedicated battery reporting Kconfig that is `imply`d by
  enabling ZMK_BLE.
2023-06-18 20:45:06 -06:00
Peter Johanson
f8aaaff556 refactor(shields): Updated ZMK Uno encoder config.
* Move to new steps/triggers-per-rotation config.
* Leverage QDEC Nordic driver when used on Nordic DK.
2023-06-18 20:45:06 -06:00
Peter Johanson
621d946d29 refactor(bluetooth): Bump HoG stack size.
* Bump the default stack size for the HoG processing thread
  to avoid issues w/ some pathways.
2023-06-18 20:45:06 -06:00
Peter Johanson
f0f7e2081b refactor(config): Select SENSOR as needed.
* Don't force on SENSOR Kconfig setting unless
  needed based on the detected DT.
2023-06-18 20:45:06 -06:00
Peter Johanson
295ed83409 refactor(sensors): ec11 rotation sensor value in degrees.
* Add new `steps` property to the `aips,ec11` binding, to make
  the driver properly report degrees in the rotation delta channel.
* Handle old sensor values in sensor rotate behavior.
2023-06-18 20:45:06 -06:00
Peter Johanson
2244bd3d81 refactor(sensors): Sensor event channel data, resolution tweaks.
* Refactor sensor events to include channel data,
  necessary for prop split encoders, and avoiding duplicate calls,
  to fetch channel data twice, etc.
* More consistent behavior driver API.
* Allow setting triggers per resolution at the behavior level optionally.
2023-06-18 20:45:06 -06:00
Joel Spadin
dcf5e75fa6 fix(boards): Bump nRF5340 DK I2C buffer size
Increased the I2C buffer size again, since it needs to be at least 641
to support 128x64 displays.
2023-06-18 14:57:06 -06:00
Joel Spadin
9ff1eaeb5a fix: Enable BT_TINYCRYPT_ECC when using HCI
BT_TINYCRYPT_ECC is required for BT_SMP_SC_PAIR_ONLY to work on setups
that use BT HCI like the nRF5340.
2023-06-18 14:52:45 -06:00
Xudong Zheng
5d9ae8fffa feat(split): allow central to connect to multiple peripherals 2023-06-05 16:22:41 -06:00
Peter Johanson
f08802eaa7 fix(boards): Proper i2c pinctrl for BlueMicro840
* Use the proper pin assignmets after the move to pinctrl for the
  Zephyr 3.2 migration.
2023-06-05 00:05:44 -06:00
Peter Johanson
19d883cdfe fix(bluetooth): Passkey pairing improvements.
* Capture the last 6 entered digits, and then require pressing
   Enter/Return to submit the entered digits. This matches the
   messaging shown on hosts regarding how to complete pairing.
* Fix the wording on the Kconfig menu item to accurately describe
  the feature.
2023-06-05 00:01:44 -06:00
Joel Spadin
b276a3bfb0 refactor(kscan): batch GPIO reads by port
Changed the GPIO matrix and direct GPIO key scan drivers to do a single
read per port instead of one read per pin. This is much more efficient
for some types of GPIO drivers, such as I2C GPIO expanders.

To accomplish this with minimal overhead, we now sort input pins by port
at driver init. if we iterate through the pins in the sorted order, all
pins on the same port are consecutive, so we only need to read each port
once the first time we see it.
2023-05-28 23:33:34 -06:00
Xudong Zheng
1adfcf92bf refactor(split): fix inconsistency in Kconfig names 2023-05-28 22:58:31 -06:00
Peter Johanson
5aac2743b1 fix(bluetooth): Improved checking for conn status.
* Check the actual connection status before considering
  a discovered connection as connected.
2023-05-22 23:09:40 -06:00
Cem Aksoylar
864394b40a feat(display): Add setting to invert display colors
Add CONFIG_ZMK_DISPLAY_INVERT Kconfig to invert colors
(black-on-white to white-on-black) on monochrome screens.
Currently applies only if CONFIG_LV_USE_THEME_MONO is selected,
which is the default unless user overrides it.
2023-05-21 21:51:36 -06:00
Cem Aksoylar
7e29166c6c refactor(display): Clean up unused theme Kconfig 2023-05-21 21:51:36 -06:00
Cem Aksoylar
b021d19255 fix(display): Imply LVGL mono theme when display is enabled
All displays currently used with ZMK are monochrome so it makes sense
to enable the mono theme by default, which can be disabled by the user
since we use the "imply" statement.

Without this theme setting, the small font size selection for widgets
at the bottom of the stock status screen does not work.
2023-05-21 21:51:36 -06:00
digger vermont
89d71ed2c2
feat(boards): Add KBDfans Tofu65 2.0 board
* Initial commit of Tofu65 2.0 board

---------

Co-authored-by: Pete Johanson <peter@peterjohanson.com>
2023-05-18 17:47:36 -06:00
Alexander Krikun
94789a092c fix(boards): unify board I2C configuration, use TWI driver 2023-05-04 22:51:54 -07:00
Cem Aksoylar
0239f18b61 feat(boards): Add Corne-ish Zen v1 2023-04-25 23:57:16 -07:00
Cem Aksoylar
39d7f86f70 refactor(boards): Make Zen dtsi non-v2 specific 2023-04-25 23:57:16 -07:00
Cem Aksoylar
4a9c59317f refactor(boards): Add back default matrix transform to Zen v2 chosen node 2023-04-25 23:57:16 -07:00
Cem Aksoylar
2c70048bee refactor(boards): Remove duplicated Zen v2 Kconfigs and unused font size 2023-04-25 23:57:16 -07:00
Cem Aksoylar
ab65ffc114 refactor(boards): Fix Zen v2 DTS spacing inconsistencies 2023-04-25 23:57:16 -07:00
Peter Johanson
a6787b08c7 refactor(underglow): Tad more logging. 2023-04-25 23:53:17 -07:00
ReFil
db08e041c6
feat(boards): Polarity works CKP Series
Adds support for the CKP family of boards
BT60V2 ANSIHotswap, ISO Hotswap, ANSI Lowpro and soldered
BT65 ANSI Hotswap, ISO Hotswap and soldered
BT75 ANSI Hotswap and soldered

The BT65 and BT75 are stylised as btXX_v1 in order to maintain compatibility with customers existing zmk-config setups in the same way the BT60 V1 was handled when merged into main.

CKP boards have identical pinmapping between hotswap and soldered so there's only one set of defconfig, dts, keymap, yaml and yml files per size
2023-04-25 13:37:33 -04:00
Peter Johanson
e52e734480 chore: Fix formatting of Kconfig setting. 2023-04-24 23:01:48 -07:00
Peter Johanson
de152fe741 fix(bluetooth): Revert to Legacy LLCP
* Reports of constant/frequent disconnects, with HCI err 0x28,
  "instant passed", seem linked to newer LLCP that became default
  in Zephyr 3.2, so revert to the Legacy LLCP for now until a
  proper fix for new LLCP can be found.
2023-04-24 22:41:03 -07:00
Joel Spadin
5b07c86d05 chore: Update Prettier
Added a workaround to select the latest version of Prettier with
pre-commit, since the pre-commit mirror repo started tracking alpha
releases and doesn't have anything beyond 2.7.1.
2023-04-24 16:07:04 -07:00
Joel Spadin
94061bb916 refactor: Replace tabs with spaces
Standardized indentation to use spaces with a new pre-commit hook.
2023-04-24 16:07:04 -07:00
Joel Spadin
32ae776c42 refactor: Add more checks to pre-commit
Updated existing pre-commit hooks and added some new hooks:

- Remove trailing whitespace
- Ensure every non-empty file ends with a new line
- Check YAML file validity
- Prevent adding large files
- Ensure any scripts with shebangs are executable

Added a GitHub action to run pre-commit on every commit. Removed any
existing actions which duplicate pre-commit.

Ran pre-commit on the codebase.
2023-04-24 16:07:04 -07:00
Peter Johanson
53dea223b7 feat(shields): Add splitkb.com Kyria Rev3. 2023-04-24 01:20:51 -07:00
Nick Conway
3db163aa2c feat(behaviors): Add reusable sensor behaviors.
* Add new sensor behaviors that either take full bindings
  add definition, or accept parameters when bound in the
  keymap.
* Remove existing hard-coded key press sensor behavior
  and instead leverage new generic sensor behaviors to
  achieve the same functionality.

Co-authored-by: nick@conway.dev
2023-04-21 21:13:31 -07:00
Peter Johanson
9a73650041 fix(boards): Move nice!60 to SPI3 for underglow
* Move to SPI3 for underglow peripheral, needed after the
  move to pinctrl.
2023-04-21 11:41:10 -05:00
Joel Spadin
5c6f21b0e0 fix: Fix compiler warnings in sensor code 2023-04-18 00:20:57 -07:00
Joel Spadin
e7a6e4016d feat(behaviors): Add key position to key events
Extended the virtual key position system from combos so that each sensor
also gets a virtual key position. This allows sensor behaviors to use
the behavior queue API.
2023-04-16 23:53:12 -07:00
Cem Aksoylar
f1b138cbf0 fix(boards): Fix Zen logo alignment 2023-04-14 14:39:54 -07:00
Purdea Andrei
309359b32f
fix(keymaps): fix keypresses that are not in the transform
Before this change, if a matrix position was not present in the transform,
various incorrect behaviors would happen:

1) In some cases out-of-bounds accesses:

Note that the size of the`transform[]` array does not necessarily match
the size of the matrix. So for example if key position
(ZMK_MATRIX_COLS-1, ZMK_MATRIX_ROWS-1) is not present in the transform,
but ends up being pressed, then the array will be accessed beyond its
size, and any data could be returned.

2) In other cases the 0th position in the keymap will be used because
the `transform[]` array is initialized to all zeros.
2023-04-10 03:27:19 -04:00
Xudong Zheng
ee9fcec3c9 feat(core): Process log every 100ms 2023-04-09 23:29:22 -07:00
Xudong Zheng
a20b9502bc feat(core): Add RTT logging Kconfig option 2023-04-09 23:29:22 -07:00
Xudong Zheng
3f48062225 feat(core): Add Kconfig option to exclude debug log messages 2023-04-09 23:29:22 -07:00
nguyendown
702d79c108
test(behaviors): add unit tests for sticky key quick-release
Duplicate the existing tests with `quick-release` enabled:
- 8-lsk-osk-combination-quick-release
- 10-callum-mods-quick-release
2023-04-10 01:50:57 -04:00
Cem Aksoylar
3c8f55ede0 fix(display): Do not override font size in status screen 2023-04-09 21:36:43 -07:00
Joel Spadin
064aff6bc0 fix(behaviors): Fix use after free in sticky key
Fixed an issue where the sticky key behavior would call
ZMK_EVENT_RAISE_AFTER(), which would free the provided event, but then
it would keep using that now-freed event data.
2023-04-09 20:17:40 -07:00
Peter Johanson
374104dec6 fix(underglow): Move to spi3 for underglow bus.
* Workaround Zephyr bug for Nordic SPI(M) driver after the
  pinctrl refactor by using spi3 peripheral for the SPI bus for
  the WS2812 led_strip driver.
2023-04-09 14:41:00 -07:00
Joel Spadin
b31b42018a fix: Remove deprecated labels from zmk_uno 2023-04-08 15:37:48 -07:00
Cem Aksoylar
7434a6b99b fix(shields): Fix nice!view for deep sleep 2023-04-08 00:41:19 -07:00
Hooky
9dcc3ac375
fix(shields): Fixup nice!view adapter pinctrl props.
`pinctrl-0` setting missing `<>`.
2023-04-07 06:53:10 -07:00
Peter Johanson
313ed6adb6 fix(display): Tweak EPD driver init/blanking.
Ensure we only clear the display when turning blanking off the
first time, not every time, to avoid duplicate clears.
2023-04-05 22:55:38 -07:00
Peter Johanson
1493620bf7 refactor(boards): Move to pinctrl. 2023-04-05 22:55:38 -07:00
Peter Johanson
518f9a550f fix(underglow): Use DT_HAS_CHOSEN properly. 2023-04-05 22:55:38 -07:00
Peter Johanson
198daaf524 fix(shields): Don't try to disable xiao_i2c on Hummingbird. 2023-04-05 22:55:38 -07:00
Peter Johanson
c3d06b22c8 fix(core): Bump system work queue stack on RP2040. 2023-04-05 22:55:38 -07:00
Peter Johanson
a6ebdb7180 fix(kscan): Default wait between outputs on RP2040. 2023-04-05 22:55:38 -07:00
Peter Johanson
2f9bc2f1f7 fix(logging): Disable USB driver logging.
When enabling our high level USB logging, disable the USB driver
logging itself entirely, to avoid logging in the driver causing
errors when USB isn't up yet to send the logs.
2023-04-05 22:55:38 -07:00
Peter Johanson
31f664ffec fix(boards): Base config/overlay for rp2040 boards
Baseline config and overlay for the following:

* `rpi_pico`
* `adafruit_kb2040`
* `sparkfun_pro_micro_rp2040`
* `adafruit_qt_py_rp2040`
* `seeeduino_xiao_rp2040`
* `boardsource_blok`
* `01space_rp2040_042lcd`

Co-authored-by: Joel Spadin <joelspadin@gmail.com>
2023-04-05 22:55:38 -07:00
Peter Johanson
09ed79a867 refactor: Move away from deprecated label usages.
* Move away from DT_LABEL.
* Move to DEVICE_DT_GET for non-behavior device access.
* Move various drivers to `gpio_spec_dt` and `DT` related macros.
* Remove mcp23017 while at it, since better upstream driver is
  available.
2023-04-05 22:55:38 -07:00
Peter Johanson
062f94d014 refactor: Remove v1 logging vestiges. 2023-04-05 22:55:38 -07:00
Peter Johanson
e84b4299b5 refactor: Remove deprecated Kconfig override. 2023-04-05 22:55:38 -07:00
Peter Johanson
3a958c667f refactor: Move to zephyr/ include paths.
* Zephyr moved to properly namespaced headers, so major "rip
  the bandaid" commit to move us to those everywhere.
2023-04-05 22:55:38 -07:00
Peter Johanson
35a1c5a3d4 refactor(behaviors): Rename reset behavior.
* Upstream now has a node w/ label `reset` on many boards, so
  renaming our reset behavior node label to `sys_reset`.
2023-04-05 22:55:38 -07:00
Peter Johanson
4f2f9db1d4 refactor(ble): New callback API for pairing complete. 2023-04-05 22:55:38 -07:00
Peter Johanson
d513dc1766 refactor: Move to new PM API. 2023-04-05 22:55:38 -07:00
Peter Johanson
243a227ff9 refactor: Move to LISTIFY/DT_FOREACH_PROP_ELEM macros. 2023-04-05 22:55:38 -07:00
Peter Johanson
69a4c3200d refactor(display): Updates for LVGL v8.x changes.
* LV_ prefix from new LVGL official Kconfig now used.
* API changes for themes, container object removal, etc.
* Add our own Kconfig and code for theme default small font.
* Remove some hardcoded sizes.
2023-04-05 22:55:38 -07:00
Peter Johanson
168b32b828 refactor: Move to Zephyr 3.2 branch. 2023-04-05 22:55:38 -07:00
Peter Johanson
ae8299edb3 fix(boards): Move the CDC ACM node under the USBD.
* Ferris board's CDC ACM node was accidentally nested under the wrong
  node, causing USB logging builds to fail with cryptic error.
2023-03-25 13:14:12 -07:00
prdktntwcklr
cd64c59b39 fix(tests): ignore line endings 2023-03-21 17:44:49 -07:00
chrissicool
56299ba5dc
fix(boards): Disable CDC by default for CiZ
The default configuration for corneish-zen enables a USB CDC endpoint by
default. This is most probably a debugging left-over. Disable that
endpoint. CONFIG_ZMK_USB_LOGGING depends on it anyway, so it will be
enabled again with that config option set.
2023-03-21 20:42:11 -04:00
Robert U
6cb42a8060
feat(behaviors): On-release option for positional-hold-taps 2023-03-12 12:24:00 -04:00
Xudong Zheng
8904407983 feat(underglow): use float for HSB to RGB calculation 2023-02-25 01:44:00 -05:00
Cem Aksoylar
1d65661efa fix(keymap): Fix tidbit keymap 2023-02-25 00:53:18 -05:00
Cem Aksoylar
3eee53676f fix(shields): Fix missing binding in eek keymap 2023-02-21 23:49:56 -05:00
Cem Aksoylar
0c0ebda65b fix(keymap): Fix default Ergodash keymap 2023-02-21 23:49:10 -05:00
Cem Aksoylar
5d22d76d72 fix(shields): Fix Kyria five column transforms 2023-02-21 23:47:10 -05:00
Cem Aksoylar
72624a41fa fix(shields): Add missing col-offsets for extra transforms 2023-02-21 23:47:10 -05:00
Omri Kaplan
c065d451cb
fix(shields): Fix keycodes that differ from the default keymap (#1590)
- Asterisk in layer 1 was mapped to 8
- Underscore in layer 1 was mapped to minus
- Right GUI in layer 0 was mapped to right Alt
- Space in layer 1 was mapped to Return
- Plus was mapped with KP_PLUS
2023-02-07 20:29:38 -05:00
Martí Bolívar
9d1070a140 chore(build): update west.yml syntax
West has supported a 'name-blocklist' replacement for 'name-blacklist'
since v0.9.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2023-02-01 11:36:55 -05:00
zhiayang
41830ce19a fix formatting 2023-01-19 22:30:27 -05:00
zhiayang
fbdb24c6fe fix(driver): Fix potentially buggy read/write routines for max7318 driver 2023-01-19 22:30:27 -05:00
Peter Johanson
a82a0ec496 feat(shields): Add splitkb.com Aurora Lily58. 2023-01-06 20:10:53 -06:00
Peter Johanson
c23443a086 feat(docs): Generate new shield interconnect docs.
* Add to metadata schema for interconnects.
* New conventional location for pinout diagrams/pics.
* New component to generate the tabs for the new shield
  doc section on interconnects.
* Add XIAO and arduino uno pinout diagram.

Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2022-12-23 02:41:35 -06:00
byran.tech
14324390e8
fix(boards): replace nRF3840 with nRF5340 2022-12-22 20:42:57 -06:00
Ladislav Benc
58f8c97d3c
feat(shields): Add a Reviung5 shield
Co-authored-by: Pete Johanson <peter@peterjohanson.com>
2022-12-20 20:49:17 -06:00
Nick Coutsos
6e99a48696 fix(behaviors): Mark sticky key release-after-ms required 2022-12-20 20:38:26 -06:00
Joel Spadin
3eb06f137b feat: Add global macro timing configs
Added ZMK_MACRO_DEFAULT_WAIT_MS and ZMK_MACRO_DEFAULT_TAP_MS to set
global defaults for the wait-ms and tap-ms properties of macros.

Also reduced the default timings for macros, since it's been reported
many times that 100 ms is too slow.
2022-12-20 20:34:25 -06:00
Cem Aksoylar
5cbe572f7d fix(display): Re-default to blank on idle for OLEDs 2022-12-18 16:34:27 -06:00
Cem Aksoylar
ebb4cb76d3 fix(boards): Add Zen .conf file for setup script 2022-12-16 17:41:39 -06:00
Darryldh
4a3e783f32
feat(boards): Add Corne-ish zen v2
Co-authored-by: Pete Johanson <peter@peterjohanson.com>
2022-12-16 10:57:25 -06:00
Jerome Olivier
984b16e03b
feat(boards): Add preonic_rev3 board. 2022-12-16 10:52:26 -06:00
hyx0329
4faf6eba97 feat(boards): Add battery sensor for Makerdiary M60 keyboard
Signed-off-by: hyx0329 <hyx0329@163.com>
2022-12-14 12:38:03 -06:00
Peter Johanson
1425d0f2d9 fix(shields): Fix col-offset for splitkb.com corne
Same column offset for both transforms, since we use the same
pins for both, just apply a different transform.

Fixes: 1570
2022-12-13 20:46:26 -06:00
JW2586
617136b45e
feat(shields): Added Waterfowl shield 2022-12-10 23:51:41 -05:00
Joel Spadin
01500b085e
fix(boards): Add nRF5340 DK metadata file (#1579) 2022-12-10 22:21:54 -06:00
Kyle McCreery
70aa4fa824
feat(boards): Add PillBug board, blackpill interconnect.
* Add blackbill interconnect metadata.
* Add config/overlay for upstream blackpill boards to work with ZMK.
* Add pillbug board.
* Updated new shield docs.

Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2022-12-10 22:01:37 -06:00
Joel Spadin
36ee1f4e0a fix(boards): Fix nRF5340 DK issues
- Fixed a stack overflow when enabling Bluetooth.
- Increased the I2C buffer size to support displays.
2022-12-10 21:56:14 -06:00
Pavlos Vinieratos
2b235ae281
fix(boards): Add encoder config to bdn9_rev2.conf 2022-12-10 19:33:50 -06:00
Peter Johanson
63b29ccd32 feat(shields): Add ZMK Uno shield.
* Support underglow, backlight, display, encoder, etc.
2022-12-10 17:40:57 -06:00
Peter Johanson
12329b388e feat(boards): Add Arduino Uno interconnect, nrf52840dk config. 2022-12-10 17:40:57 -06:00
Cem Aksoylar
58eb7a3305 feat(display): Add config to show battery level in percentage 2022-12-10 17:08:37 -06:00
Joel Spadin
593db85378 feat(boards): Add support for nRF5340 DK
Added overlays to support building for the nRF5340 development kit.

Also added some documentation on how to build and flash ZMK for dual-
chip Bluetooth configurations, with an example for the nRF5340.
2022-12-08 01:00:48 -06:00
Albert Y
6550c043c4
refactor: Update cradio keymap with better indentation and additional features 2022-11-25 23:02:28 -06:00
Xudong Zheng
c7fdce863a fix(usb): add USB_DC_CLEAR_HALT to supported states
See https://manpages.debian.org/testing/linux-manual-4.9/usb_clear_halt.9 for
information on halted USB endpoints
2022-11-17 22:52:32 -06:00
Peter Johanson
9f90dd1fc7 fix(boards): Fix XIAO BLE voltage divider config.
* Use proper resistor value for the `output-ohms` property.
2022-11-17 22:46:12 -06:00
jhorology
768fc4a5e5 fix: HID report descriptor 2022-11-10 22:15:06 -06:00
Peter Johanson
a9048956b5 feat(shields): Add splitkb.com Aurora Corne. 2022-11-10 21:05:26 -06:00
Peter Johanson
2364960f84 feat(shields): Add splitkb.com Aurora Sweep. 2022-11-04 12:13:16 -05:00
Okke Formsma
a61eac9139
fix(behaviors): make tap dances work on a combo
* Tap dance event handler goes after combos
* Add test
2022-11-01 15:13:19 -05:00
HookyQR
d393247e15
fix(display): Set bits per pixel and color depth on n!v 2022-10-30 19:50:21 -05:00
Jay Greco
41fdd07315 feat(boards): Add nullbits SNAP shield 2022-10-25 07:50:56 -05:00
Nick Winans
d3d5b8eb8a
fix(displays): Adjust alignment and spacing
* Adjust alignment and spacing
* Fix char array lengths
2022-10-21 23:10:55 -04:00
ebastler
c9eb63199a
feat(keymaps): add NUHS/NUBS alias for Non-US-Backslash/Non-US-Hash 2022-10-17 21:48:19 -04:00
Robert U
ef2e6e9156
feat(behaviors): Add mod-morph keep-mods
* Update docs for mod-morph
* Add unit tests for mod-morph
* Add keep-mods to DT binding

Co-authored-by: Martin Aumüller <aumuell@reserv.at>
Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2022-10-14 20:40:28 -05:00
Nick Winans
18b8b9b3a5
fix(shields): Disable idle blanking on nice!view 2022-10-14 11:39:47 -05:00
Peter Johanson
605d88f266 feat(ble): Default a few configs for DIS GATT svc.
Default values for DIS GATT characteristics for:

* Vendor ID
* Product ID
* Manufacturer
* Model
2022-10-05 11:34:37 -04:00
Pavel Glushkov
1e25ee77d2
fear(boards): Add nrfmicro_13_52833 board
* Add nrfmicro_13_52833 board definition.

Co-authored-by: Alexander Krikun <krikun98@gmail.com>
Co-authored-by: Pete Johanson <peter@peterjohanson.com>
2022-10-02 22:01:55 -04:00
zhiayang
cc3d5529fd
feat(drivers): Driver for MAX7318 GPIO expander (#1295)
Add driver for max7318 i2c gpio expander

Co-authored-by: Pete Johanson <peter@peterjohanson.com>
2022-09-29 21:22:01 -04:00
Nick Winans
3d3c45bc80
feature(shields): Add nice!view
* Use two shield system, nice_view, and nice_view_adapter
* Build system fixes for interconnect use.
2022-09-29 21:11:26 -04:00
Peter Johanson
9782518397 feature(drivers): Option for read wait on matrix.
* Add a new Kconfig option, `ZMK_KSCAN_MATRIX_WAIT_BEFORE_INPUTS`
  to delay reading inputs after setting an output active.
2022-09-29 01:06:54 -04:00
ReFil
b655554b03
refactor(boards): CRBN and Planck keymap fixes
* Update planck_rev6.keymap

Third layer was causing problems so i moved reset and bootloader to second layer

* BT_sel functions

A customer requested this so we added it

* Update crbn.keymap

Co-authored-by: Nick Winans <nick@winans.codes>
2022-09-22 15:14:09 -04:00
ReFil
cc6dd5fc49 chore(lighting): fix deprecation
Removed deprecated macros, replace with correct Zephyr 3 implementation
2022-09-13 09:51:46 -04:00
John Drogo
6124d254f9 fix(usb): add USB_DC_RESUME to supported states
All credit for this one goes to @xudongzheng (thanks for helping debug
this!). Should fix the issue where keyboards go unresponsive after their
host machine wakes from sleep due to the USB driver entering an error
state. I was able to both reliably reproduce the issue before the patch
goes in and confirmed it no longer occurs post patch.

The `USB_DC_RESUME` state indicates the host event has resumed the connection.
Adding it to the list of valid connection states to prevent the error
when waking from sleep.

Zephyr API Link:
https://docs.zephyrproject.org/apidoc/latest/group____usb__device__controller__api.html#gac09e3e0af1a2b41a5bfbad91f900baf7

fixes #1372
2022-09-11 13:00:20 -04:00
Ben
41bfc56e13
feat(board): add puchi_ble_v1 to boards
* feat(board): Add Puchi-BLE v1 board
2022-09-05 18:15:24 -04:00
Elliot Pahl
ce7a0e2b6c
feat(shields): Add Eternal Keypad
* Add Eternal Keypad

Co-authored-by: Duccio <ducciobreschi@gmail.com>
2022-09-05 18:07:02 -04:00
Shreyas
391f80f069
feat(hid): Add C_AC_DESKTOP_SHOW_ALL_APPLICATIONS
* support for C_AC_DESKTOP_SHOW_ALL_APPLICATIONS

Co-authored-by: Shreyas Kale <shreyaskale@Shreyass-MacBook-Pro.local>
2022-08-22 00:27:47 -04:00
Pete Johanson
fc511e40cc
fix(behaviors): Fixing erroneous combo triggering, hold-taps sticking
* This is a very simple fix to a rather complicated issue. Essentially,
hold-taps will "release" (raise) their captured keys before actually
telling the event manager they have captured a key. This means the event
manager ends up assigning the `last_listener_index` to the hold-tap
subscription rather than the combo. So when the combo calls
`ZMK_EVENT_RELEASE` it raises after the hold-tap instead of after the
combo as the combo code expects.
* The corresponding test (which fails without this change) has also been added.
* An event can be captured and released in the same event handler, before
the last_listener_index would have been updated. This causes some handlers
to be triggered multiple times.
* The solution is to update the last_listener_index before calling the next
event handler, so capturing and releasing within an event handler is harmless.
* Also see discussion at https://github.com/zmkfirmware/zmk/pull/1401
* If our handler dedides our undedided hold-tap,
  return early before continuing.
* Fix incorrect pointer logic, resulting in combo
  candidate filtering leaving incorrect timeout details.

Co-authored-by: Andrew Rae <ajrae.nv@gmail.com>
Co-authored-by: okke <okke@formsma.nl>
2022-08-03 20:09:50 -04:00
Jason Hazel
be0d49b62d
feat(shields) add support for Spaceman Pancake (#1400)
* add support for Spaceman Pancake

Co-authored-by: Pete Johanson <peter@peterjohanson.com>
Co-authored-by: Jason Hazel <jhazel@matrixmediaservices.com>
Co-authored-by: Pete Johanson <peter@peterjohanson.com>
2022-07-27 11:39:42 -04:00
Peter Johanson
90b45a1284 feat(display): Blank on idle optionally.
* Add new defaulted-on Kconfig option to control if displays
  are blanked/unblanked on idle/activity.
2022-07-26 14:12:38 -04:00
Peter Johanson
e3efffa9a8 refactor(display): Move clear to unblank for EPD driver. 2022-07-26 14:12:38 -04:00
Peter Johanson
c4a47c08de fix(display): Initialize display on queue as well. 2022-07-26 14:12:38 -04:00
Peter Johanson
08c43feaaf feat(kscan): Kconfig for optional scan delay.
Add optional Kconfig setting to delay scanning after each
output column is set, and inputs are read, to allow inputs
to "settle" after the last column is set back to inactive.
2022-07-15 11:07:08 -04:00
Cem Aksoylar
6180643581 fix(shields): Remove uses of deprecated pro_micro_a/d nodes 2022-07-03 09:11:23 -04:00
Nick Conway
edec4595ae fix(behaviors): Fix mod morph description 2022-07-03 09:11:00 -04:00
Kurtis Lew
ef3eb339ed feat(shields): Add RGB support to 2% Milk
Co-Authored-By: treezoob <98245530+treezoob@users.noreply.github.com>
2022-06-26 12:07:54 -07:00
Peter Johanson
da209c453e refactor(shields): Remove res max Kconfigs
* Horizontal/Vertical resolution max is now defaulted
  from the DTS chosen display automatically, so
  remove the duplication in our shield Kconfig.
2022-06-26 00:27:04 -04:00
ReFil
90e070b427
feat(underglow): Add RGB auto off timeout on idle and on usb disconnect
Two new options for functionality to enable/disable RGB for
USB status or idle events.

Co-authored-by: Pete Johanson <peter@peterjohanson.com>
Co-authored-by: ReFil <harryherring@gmail.com>
2022-06-25 10:56:36 -04:00
ReFil
38e079ef37 fix(backlight): Improve initial power on behaviour 2022-06-25 00:37:00 -04:00
Peter Johanson
709441412a fix: Don't exclude segger, needed for DKs. 2022-06-22 16:37:22 -04:00
Peter Johanson
d7bd81e5c4 fix(usb): Correctly detect USB connection status.
* Fix detection of USB power vs. configuration, to ensure endpoint
  selection works properly with power-only USB attached.
2022-06-16 00:50:04 -04:00
Kurtis Lew
db43757461 fix(shields): Fix indentation in two_percent_milk.keymap 2022-06-14 19:51:35 -04:00
Peter Johanson
3d2bd01747 fix(split): Raise release events on disconnect.
* When a peripheral disconnects from a centraly, raise position events
  to release any active positions from that
  peripheral.
2022-06-12 22:53:02 -04:00
WSTRN
53bec710d8
fix(displays): Proper battery charge icon sizing 2022-06-09 13:54:36 -04:00
Peter Johanson
4af3d272fc fix(keymaps): Handle matching then-layers.
* Proporly handle multiple  conditonal layers w/ the same target
  `then-layer` values.
* Move handling to work callback, to avoid re-entrance for cascading
  layers enabling other layers.
2022-06-07 23:41:52 -04:00
Peter Johanson
11ac8c4782 fix(build): Fix for proper string variable check.
* Properly load variable for comparison for shield name substring
  calculations.
2022-06-07 19:43:23 -04:00
Peter Johanson
b5e73204e8 fix(drivers): Avoid build failures for GPIO driver
* Avoid defining the ZMK GPIO drivers lib if none of the drivers  are
  selected.
2022-06-05 17:57:35 -04:00
Peter Johanson
505c481f6a fix: Fixed conf file loading.
* Properly locate conf files for the shield dir name.
2022-06-05 01:45:22 -04:00
Peter Johanson
1e8224c296 feat(behaviors): Add DEL/BSPC to continue list.
* Continue caps word on delete/backspace by
  default now.

Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2022-06-04 01:38:42 -04:00
Peter Johanson
b3c9c18fee feat(behaviors): Continue on mods in caps word.
* Continue caps word when mods are changed, and
  match the continue list on combination of
    explicit and implicit modifiers.
2022-06-04 01:38:42 -04:00
Peter Johanson
d01bc6afc6 fix(build): Another check w/ upstrream shields.
* Properly handle not finding a shield in the board roots.
2022-06-04 05:26:14 +00:00
Peter Johanson
9a9aef78c7 refactor: Remove unneeded left/right conf files. 2022-06-04 00:44:13 -04:00
Peter Johanson
02a85e5d54 chore: Add Hummingbiard/XIAO BLE to core coverage. 2022-06-04 00:44:13 -04:00
Peter Johanson
532c4b9267 refactor(build): Fixes for config/overlay loading.
* Move to ZephyrBuildConfig package based on Zephyr best practices.
* Support multiple shields properly, e.g. -DSHIELD="foo bar", which
  allows using existing upstream shields like `ssd1306_128x64` along
  with another ZMK shield.
* Properly *add* the "ZMK config" .conf file to the conf file list,
  so that existing board .conf files in `app/boards/<board>.conf` are
  properly honored still. Needed for overrides to usptream boards when
  combined with a local `<shield>.conf` file.
2022-06-04 00:44:13 -04:00
Peter Johanson
6a86cd0547 feat(gpio): Add 595 shift register driver.
* Use SPI for sending serial data.
* Supports 1-4 shift registers chained together by
  setting `ngios` property appropriately.
2022-06-03 22:45:04 -04:00
Caleb Goates
6dc436cb23 test(behavior): Add alt-tab test and modded alpha test for toggle key
Uses multiple toggles of modifier keys overlapping each other.
2022-06-03 00:04:41 -04:00
Caleb Goates
0d5bb100ba feat(behavior): Add key toggle 2022-06-03 00:04:41 -04:00
Okke Formsma
c5922fae56 refactor(hid): add mask to HID_USAGE_PAGE macro 2022-06-03 00:04:41 -04:00
Okke Formsma
57fca34dc0 refactor(hid): Move hid logic into hid.c
Move the logic for picking the correct hid function into hid.c.
2022-06-03 00:04:41 -04:00
ClicketySplit
9f79cc2c7b
fix(shields): Add 'chosen' display node for leeloo, README path fix.
* Update to include 'chosen' node for OLEDs.
* Updated to correct direction of folder separators.
2022-05-29 23:55:06 -04:00
Peter Johanson
4f503246a3 refactor(split): cmake split clean up.
* Cleaner cmake setup for split build.
2022-05-29 19:18:09 -04:00
Peter Johanson
2b9a0ce2a5 refactor(shields): Move to generic central role config.
* Use new `ZMK_SPLIT_ROLE_CENTRAL` config instead of BLE
  specific Kconfig setting.
2022-05-29 19:18:09 -04:00
Peter Johanson
6539b3ae25 refactor(split): Clean up Kconfig organization.
* Seperated configs for split role (central/peripheral)
  and transport (BLE only for now).
* Split the configs to align on structure.
2022-05-29 19:18:09 -04:00
Kurtis Lew
0bde987ae2 Update kscan_gpio_get_extra_flags 2022-05-19 11:24:01 -04:00
Kurtis Lew
6f1adfbe14 Address further review by @petejohanson 2022-05-19 11:24:01 -04:00
Kurtis Lew
4dfcadb1ed Remove unnecessary LOG_DBG 2022-05-19 11:24:01 -04:00
Kurtis Lew
fec99c7d5e Update kscan_direct_gpio.c
- Fix logic in getting pulls from ACTIVE_LOW vs. ACTIVE_HIGH DT flags
- Add pulls on init
2022-05-19 11:24:01 -04:00
Kurtis Lew
f39c821d19 Simplify kscan_gpio_get_flags
Co-authored-by: Pete Johanson <peter@peterjohanson.com>
2022-05-19 11:24:01 -04:00
Kurtis Lew
f369f2cc46 feat(kscan): Add toggle-mode to updated direct-wire kscan 2022-05-19 11:24:01 -04:00
Peter Johanson
5b5b3ff2eb fix(tests): Fix hex formatting. 2022-05-19 10:55:23 -04:00
Peter Johanson
64dadfb336 refactor(tests): Move remaining tests to posix 64.
* Update docs and fix up a few lingering tests
  to consistently use native_posix_64 target.
2022-05-19 10:55:23 -04:00
Peter Johanson
16ab6df18d feat(display): Add new peripheral status/display
* Add new API/status to track state of the
  peripheral connection to the central.
* Add new peripheral status widget for displaying
  the current status of the connection to
  the central.
2022-05-17 13:09:21 -04:00
Peter Johanson
0a40f922b5 refactor(split): Seperate peripheral BLE handling.
* Move foundational BLE code for split
  peripherals to a dedicated file to avoid
  tons of conditionals and awkward code.
2022-05-17 13:09:21 -04:00
Cem Aksoylar
25f89ee6ab feat(battery): Add Kconfig setting for battery level report interval 2022-05-17 12:03:57 -04:00
Joel Spadin
0738b4b2b0 refactor(kscan): Match direct GPIO driver to matrix driver
Rewrote the direct GPIO kscan driver to match the improvements made to
the matrix driver in 82cb762698 and
f946dc6893. It now uses the same
debouncing system as the matrix driver.
2022-05-17 01:20:20 -04:00
Nick Winans
54747a52f9 fix(sleep): use pm_power_state_force for proper device power management 2022-05-17 00:30:47 -04:00
Stefán Páll Sturluson
d7ba7a1bee
fix(codes): typo in C_SUBTITLES. 2022-05-17 00:29:53 -04:00
zhiayang
19cc96b86d fix(boards): Fix battery ADC channel for Mikoto 2022-05-09 11:31:58 -04:00
Peter Johanson
eca37b6219 fix(boards): Add flash/settings for XIAO BLE
* Ensure flash/NVS/settings configs are enabled.
2022-05-08 17:19:18 -04:00
Peter Johanson
41dc774848 fix(boards): Fix key position 4 flakiness w/ RGB
* Remove MISO pin from pinctrl for BDN9 rev2 board, to avoid
  the 4th switch being set up for an alternate function, which
  was causing spurious key press events to be triggered.
2022-05-05 22:58:56 -04:00
Nick Winans
d33b35513b feat(usb): Set default HID interval to 1ms (1000Hz) 2022-04-29 21:51:38 -04:00
Andrew Rae
b5efc7a7eb
feat(behaviors): Add global-quick-tap 2022-04-27 13:33:22 +01:00
Joel Spadin
11ab52582c refactor(battery): Auto enable battery drivers
CONFIG_ZMK_BATTERY_NRF_VDDH and CONFIG_ZMK_BATTERY_VOLTAGE_DIVIDER are
now automatically enabled if a DT node with the matching "compatible"
property is present and enabled, so they no longer need to be manually
set for each board.
2022-04-25 22:34:04 -04:00
Joel Spadin
6d6efa32f5 refactor(kscan): Auto enable kscan drivers
The key scanning drivers are now automatically enabled when a DT node
with the matching "compatible" property is present and enabled, so they
no longer need to be manually set for each board.
2022-04-25 22:28:53 -04:00
Joel Spadin
a3a9510e47 refactor(kscan): Use GPIO DT spec macros in matrix driver 2022-04-25 22:28:53 -04:00
Nick Winans
2c7e5b9232 refactor(ble): Use auto phy/conn for split 2022-04-24 18:29:18 -04:00
Luigi311
13014d3f28 Remove descriptions and defaults for already set variables
Signed-off-by: Luigi311 <luigi311.lg@gmail.com>
2022-04-24 18:29:18 -04:00
Luigi311
7443a917cb Add ble connection interval support
Signed-off-by: Luigi311 <luigi311.lg@gmail.com>
2022-04-24 18:29:18 -04:00
Peter Johanson
486174fc41 fix(split): Raise split notification stack size.
* Larger stack for split peripheral notifications
  to avois stack overflow with logging on.
2022-04-24 15:08:04 -04:00
Peter Johanson
9f222fe700 fix: Exclude sof module to avoid build breakage. 2022-04-19 13:42:24 -04:00
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