Peter Johanson
5d4b6df6a7
feat(studio): Log entry into all RPC.
2024-09-25 17:46:50 -06:00
Peter Johanson
21e1b2acad
feat: Add RPC thread analysis support.
2024-09-25 17:46:50 -06:00
ReFil
17f0a4d307
feat(ble): Set device name at runtime
...
This allows for the device name to be set at runtime, possible uses for this include a custom display screen that lets you type it in using the keycode state event, future configuration in zmk studio, or altering it per profile as per #1169
2024-09-25 15:35:42 -04:00
ReFil
58dcf5c285
feat(power): Support multiple ext_power GPIOS
2024-09-25 15:30:45 -04:00
Peter Johanson
33e3b02ddb
feat: Split physical layout selection sync.
...
* Ensure the split peripherals have the same selected physical
layout on connection and change.
2024-09-23 15:12:22 -06:00
Peter Johanson
f992352936
chore: Formatting fix.
2024-09-23 10:31:43 -06:00
Cem Aksoylar
fb18a4d871
refactor: Condition source props on CONFIG_ZMK_SPLIT
2024-09-23 10:17:29 -06:00
Cem Aksoylar
b249135742
feat(sensors): Make sensors always trigger on central (for now)
2024-09-23 10:17:29 -06:00
Cem Aksoylar
4fdfb01b6a
feat(split): Make combos invoke behaviors with locality
...
TODO: Currently the source is hardcoded to central for source local behaviors
2024-09-23 10:17:29 -06:00
Cem Aksoylar
9e36ebd525
feat(split): Make locality work nested behavior invocations
...
Co-authored-by: Tokazio <tokazio@hotmail.com>
2024-09-23 10:17:29 -06:00
Peter Johanson
11f600d9e5
fix(display): Check layer name length too.
2024-09-20 22:59:44 -06:00
Peter Johanson
cca637d66e
fix: Properly calculate highest active layer for display.
2024-09-20 22:59:44 -06:00
Peter Johanson
de38676afd
fix(core): Warn only with layouts + chosen transform
...
* Instead of erroring out, simply ignore physical layouts if we
detect a chosen matrix transform, and warn instead.
2024-09-19 13:12:17 -06:00
Peter Johanson
1baf18d671
chore: Better errno formatting in logs.
2024-09-19 01:15:13 -06:00
Peter Johanson
6ae07d222a
feat: Bit of extra studio keymap logging.
2024-09-18 13:08:35 -06:00
XiNGRZ
62900c62be
fix(studio): Ensure null-termination of layer name read from settings
...
This fixes the string leak when a layer name is changed to a longer one,
but is discarded and reverted to the original shorter one from ZMK Studio.
2024-09-18 10:53:23 -06:00
Andrew Kannan
c8c8835a19
fix(studio): Update position map querying
2024-09-17 23:29:08 -06:00
Peter Johanson
a9167b2275
fix: Reduce RAM usage in the keymap
...
* When not building with runtime keymap support, make the keymap
const.
2024-09-16 23:20:14 -06:00
Peter Johanson
32d0a4bf41
fix: Fix wakeup from kscan wrapped in sideband.
...
* If using a sideband kscan device to wrap a native kscan device,
ensure the inner kscan device is also wakeup enabled to it can
be waken from a deep sleep state by key press.
2024-09-16 15:17:26 -06:00
Abe Nonym
92745903c9
fix(ble): Properly compile with clear bonds on start
2024-09-16 12:06:34 -04:00
Maxime Vincent
67d595f29f
pre-commit: re-format using clang-format hook (v18.1.8)
2024-09-13 16:04:26 -06:00
Peter Johanson
6b4d591c37
fix(bt): Fix compilation failure for clearing bonds.
...
* Refactor broke the build when clearing bonds on start.
2024-09-09 11:26:53 -06:00
Pete Johanson
d52bb04090
Revert "feat: Split physical layout selection sync."
...
This reverts commit 03b5b38bc4 .
2024-09-07 00:22:01 -06:00
Alexander Krikun
cddc92108c
fix(boards): add sleep pinctrl node for nice!60
...
Add spi3_sleep pinctrl node to fix nice!60 builds with
both RGB underglow and sleep enabled.
2024-09-06 13:04:22 -06:00
honorless
a2f32cc12c
refactor(shield): tidbit
...
* Implement alternative matrix-transform.
* Add missing wakeup-source attribute.
* Revise README to provide more appropriate information.
* Remove unnecessary files (partially-functional shield).
2024-09-06 13:02:15 -06:00
Robert U
2a137bb675
fix: Support west test when invoked as module
2024-09-06 14:56:40 -04:00
ReFil
91447ac55c
fix: Correct max brightness in backlight metadata
...
The set brightness function in the backlighting code has a max of 100, as does the zephyr led-pwm driver https://github.com/zephyrproject-rtos/zephyr/blob/main/drivers/led/led_pwm.c
The range for the set brightness function should reflect this max
2024-09-06 14:36:08 -04:00
honorless
eaa8989f37
style: update commented-out obsolete keycodes
2024-09-06 12:22:54 -06:00
honorless
e0ec2ff84d
refactor: update obsolete keycodes
2024-09-06 12:22:54 -06:00
Peter Johanson
03b5b38bc4
feat: Split physical layout selection sync.
...
* Ensure the split peripherals have the same selected physical
layout on connection and change.
2024-09-06 12:20:45 -06:00
Peter Johanson
5176fbea6a
fix: Locking fix for RPC subsystem.
2024-09-05 12:22:08 -06:00
Peter Johanson
782695f4a9
fix: Fixes for CRC16 local IDs.
2024-09-05 12:22:08 -06:00
Peter Johanson
e0339a2a57
feat: Add shared layout .dtsi files to promote reuse.
...
* Add Corne and Ferris shared layouts, and update the respective
shields to use them.
* Add a sample Hummingbird physical layout for testing posix xiao.
* Add Sofle physical layout as an additional reference.
2024-09-05 12:22:08 -06:00
Peter Johanson
b84436e611
feat: Add posix_pro_micro and posix_seeed_xiao shields
...
* Make it easier to test native builds of our shields by adding
`posix_pro_micro` and `posix_seeed_xiao` so you can build posix
target of, e.g. `corne_left` for testing ZMK Studio.
2024-09-05 12:22:08 -06:00
Peter Johanson
fd28eab179
feat: Add the ability to keep/omit behaviors for a given build.
...
* Use defines to keep either all behaviors with omits, or selective behaviors with
explicit kept behavior, before including `behavior.dtsi` in keymaps.
* Default ZMK_BEHAVIORS_KEEP_ALL when building with the studio RPC
endpoint snippet.
2024-09-05 12:22:08 -06:00
Peter Johanson
d77e400eb9
feat(boards): Add posix MiniVan studio tester
...
* New shield to easily test studio using the `native_posix_64` board.
2024-09-05 12:22:08 -06:00
Peter Johanson
c8c19598a7
feat(keymap): Add binding get/set, layer movement
...
* Add keymap API for getting/setting a bindings
in keymap layers.
* Add layer move support via intemediary ordering array.
* Add settings storage for keymap changes.
2024-09-05 12:22:08 -06:00
Mike Szczys
f019524600
fix(display): widgets: increase buffer size for symbols
...
Increase buffer size used for placing LVGL symbols on displays. This
prevents array overflow warnings as discussed in #2444 .
Also convert one sprintf to snprintf to ensure the buffers are always
null terminated and never overflow.
Signed-off-by: Mike Szczys <szczys@hotmail.com>
2024-08-28 00:35:28 -06:00
Peter Johanson
d5061c5d3b
fix: Make CRC behavior local ID select CRC.
2024-08-15 11:45:18 -06:00
Peter Johanson
6ae6bf78b4
fix(boards): BDN9 rev2 tweaks.
...
* Reduce RAM usage, no need for heap any more in ZMK.
* Don't attempt to enable FPU that's not present.
2024-08-15 11:45:18 -06:00
Peter Johanson
fb67e4603a
feat: Add studio core coverage targets.
...
* Cover stm32, RP2040, and nRF52 builds.
2024-08-15 11:45:18 -06:00
Peter Johanson
bafe648425
feat: Add `&studio_unlock` behavior.
...
* New behavior allows unlocking the keyboard to allow ZMK Studio to
make changes.
Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2024-08-15 11:45:18 -06:00
Peter Johanson
b1bcc3e418
feat(studio): Add `studio-rpc-usb-uart` snippet.
...
* Add an easy snippet for enabling USB UART added
to the `zephyr_udc0` standard node.
2024-08-15 11:45:18 -06:00
Peter Johanson
feda96eb40
feat(studio): Initial RPC infrastructure and subsystems.
...
* UART and BLE/GATT transports for a protobuf encoded RPC
request/response protocol.
* Custom framing protocol is used to frame a give message.
* Requests/responses are divided into major "subsystems" which
handle requests and create response messages.
* Notification support, including mapping local events to RPC
notifications by a given subsystem.
* Meta responses for "no response" and "unlock needed".
* Initial basic lock state support in a new core section, and allow specifying
if a given RPC callback requires unlocked state or not.
* Add behavior subsystem with full metadata support and examples of
using callback to serialize a repeated field without extra stack space needed.
Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2024-08-15 11:45:18 -06:00
LostQuasar
b42d06ecf7
chore: Update pancake shield url
2024-08-14 14:38:38 -04:00
down
895f557ae5
fix: no error return in sticky key get_parameter_metadata
2024-08-14 12:34:18 -06:00
Pete Johanson
6d50ba5553
chore: Docs review tweaks.
...
Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2024-08-12 16:57:54 -07:00
Peter Johanson
3fec690def
feat: Add config settings for sticky keys/hold-tap
...
* Add new Kconfig symbols to config max held sticky-keys/hold-taps
and for max captured events during hold-tap resolution.
2024-08-12 16:57:54 -07:00
Peter Johanson
cd25c12ce9
fix: Proper device PM support for composite kscan.
...
* Clean up composite kscan to allow multiple instances properly.
* Implement PM hook and properly suspend/resume the child devices.
Fixes : #2388
2024-08-03 13:45:51 -07:00
Peter Johanson
78ed721c36
fix(pm): Properly configure a wakeup as input.
...
* Other drivers properly disconnect/de-config pins now, so we need
to be sure the wakeup trigger connects the wake pin as input.
2024-08-02 16:37:11 -07:00