Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
ab74897
refactor: Move to Zephyr v4.1.0
petejohanson Nov 18, 2024
db4e190
refactor(tests): Move to native_sim for tests.
petejohanson Mar 29, 2025
ac31d21
feat(core): (Optionally) use Zephyr keyboard input devices
petejohanson Mar 29, 2025
995db5b
FIXME: RANDOM Kconfig hacks
petejohanson Mar 29, 2025
64b91be
fix(pointing): Refactor for changes to input API
petejohanson Mar 29, 2025
35ebccb
fix(tests): Fix BLE test to account for Zephyr changes
petejohanson Mar 29, 2025
9684bb3
fix(sensors): Initialize sensor data to 0 before fetching.
petejohanson Mar 30, 2025
9351178
refactor(input): Adjust split input to input API changes.
petejohanson Mar 30, 2025
abe0375
chore(bluetooth): Minor cleanup of split BT code after refactor
petejohanson Mar 30, 2025
f7ea877
refactor: Fix up BLE tests after Zephyr upgrade.
petejohanson Mar 30, 2025
4d04b19
refactor(boards): Move to upstream xiao_ble board ID.
petejohanson Mar 30, 2025
44314b4
chore: Move to Zephyr 4.1.0 branch.
petejohanson May 29, 2025
518648c
refactor: Adjust metadata schema for HWMv2 board IDs w/ qualifiers
petejohanson Sep 5, 2025
57e1e27
refactor!(boards): Move nice!nano to HWMv2, and proper revisioning
petejohanson May 29, 2025
dcf44a8
fix: Disable Nordic dt-bindings header checks.
petejohanson May 29, 2025
e7aca9e
fix(studio): Correct `memset` usage.
petejohanson May 29, 2025
e7db7bf
fix: Refactor for new Zephyr PM API
petejohanson May 29, 2025
0dab901
refactor(ble): Use correct BT opt for connectable.
petejohanson May 29, 2025
7f220f9
refactor(boards): Move MakerDiary M2 board to HWMv2.
petejohanson May 29, 2025
7967ab2
fix(studio): Correct usage of thread analyzer API
petejohanson May 30, 2025
4fda737
chore: Remove nanopb module override.
petejohanson May 30, 2025
6cfa515
feat(core): mapper for magic bootloader values.
petejohanson Dec 2, 2024
83e76c4
feat(behaviors): Add retention boot mode to reset.
petejohanson Dec 2, 2024
8d3f190
feat: Add double tap to enter bootloader functionality
petejohanson Mar 24, 2025
ec65c82
refactor(CI): Move to 4.1 container tags.
petejohanson Jun 1, 2025
cf03e92
refactor(boards): Move nRFMicro to HWMv2
petejohanson Jun 2, 2025
8815f49
refactor(boards): Move QMK Proton-C to HWMv2
petejohanson Jun 2, 2025
f7a3e40
chore(ci): Adjust core coverage for new board IDs.
petejohanson Jun 2, 2025
e4c2303
refactor(boards): Move BDN9 to HWMv2
petejohanson Jun 2, 2025
a6d3d0d
refactor(boards): Move nice!60 to HWMv2
petejohanson Jun 2, 2025
b738e74
refactor: Adjust how we're searching/loading keymap files
petejohanson Jun 4, 2025
a749861
refactor(boards): Move planck rev6 to HWMv2.
petejohanson Jun 4, 2025
dc60cbd
refactor(boards): Move OLKB Preonic to HWMv2
petejohanson Jun 4, 2025
b048aaf
chore(deps): Pull in Zephyr optional group for nanopb.
petejohanson Jun 4, 2025
c8d19f2
fix(ci): Prevent slash characters in artifact names.
petejohanson Jun 4, 2025
12e7999
fix(usb): Adjust Kconfig settings for USB.
petejohanson Jun 13, 2025
ccd1fba
fix(display): Fix setting the small font for the mono theme.
petejohanson Jun 16, 2025
57a0075
REMOVEME: Don't use nice view custom status screen until fixed.
petejohanson Jun 16, 2025
6aeed09
chore(ci): Fix changed board IDs for core coverage.
petejohanson Jun 4, 2025
3c6de55
fix(underglow): Remove use of removed Kconfig WS2812 symbol
petejohanson Jun 16, 2025
4988bca
refactor(boards): Move PW CKP boards to HWMv2
petejohanson Jul 3, 2025
0b1dedd
refactor(boards): Move Puchi BLE to HWMv2
petejohanson Jul 3, 2025
bb5c0be
refactor(boards): Migrate Ferris rev02 to HWMv2.
petejohanson Jul 3, 2025
8e52747
refactor(boards): Move Pillbug to HWMv2
petejohanson Jul 3, 2025
88d9be6
refactor(boards): Migrate s40nc to HWMv2
petejohanson Jul 3, 2025
f651ca9
refactor(boards): Move bluemicro840 board to HWMv2.
petejohanson Jul 3, 2025
da833f0
fix(boards): Retore bootloader support on XIAO BLE.
petejohanson Jul 9, 2025
06edf61
REMOVEME: Verbose testing to see errors.
petejohanson Aug 5, 2025
c751647
refactor(boards): Move Adv360 Pro to HWMv2.
petejohanson Aug 6, 2025
99d503f
refactor(boards): Move Glove80 to HMWv2
petejohanson Aug 6, 2025
04b9c4b
refactor(boards): Move Mikoto to HMWv2.
petejohanson Aug 6, 2025
9165c7c
refactor(boards): Move kbdfans Tofu65 2.0 to HMWv2
petejohanson Aug 6, 2025
c6e9b3a
refactor(boards): Remove dz60rgb board
petejohanson Aug 6, 2025
03e77c5
refactor(boards): Move Corneish Zen to HMWv2
petejohanson Aug 10, 2025
34b1abd
refactor(boards): Migrate Corne-ish Zen status screen
caksoylar Aug 12, 2025
3998bbd
refactor(boards): Add boot mode to the nice!nano using common dtsi
petejohanson Aug 19, 2025
8acd01b
refactor(boards): Add boot mode support to nice!60 board
petejohanson Aug 19, 2025
ff80787
refactor(boards): Adjust Zephyr board metadata file locations
petejohanson Aug 28, 2025
ab226a8
fix: Don't enable ZMK Display by default for a few shields
petejohanson Sep 5, 2025
107ec86
fix: Remove usage of renamed Kconfig from core coverage.
petejohanson Sep 5, 2025
3458578
refactor(boards): Adjust XIAO RP2040 override names, bootloader support
petejohanson Sep 6, 2025
af9a6bc
fix(display): Adjust stack sizes for display usage.
petejohanson Sep 6, 2025
cdfaf82
feat(display): Add thread name to dedicated display queue.
petejohanson Sep 6, 2025
0e1b05e
docs(blog): Add Zephyr upgrade post
nmunnich Sep 6, 2025
672c134
docs(wip): Add boot retention page
nmunnich Sep 6, 2025
2684b94
port nice!view display code
snoyer Sep 13, 2025
0174e69
remove `lv_` prefix from old LVGL methods
snoyer Sep 13, 2025
28221ba
doc: Update local setup docs to use `west packages pip`
petejohanson Oct 2, 2025
cb25e9c
refactor(split): Adjust BT split code for newer Zephyr APIs.
petejohanson Oct 4, 2025
5af4493
refactor(boards): Adjust upstream RP2040 boards for boot mode retention
petejohanson Oct 6, 2025
6ccb6b3
docs: Update Zephyr docs links to 4.1.0 version.
petejohanson Oct 13, 2025
2b99650
docs: Add a note about using CMake v3 for maximum compatibility.
petejohanson Oct 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM docker.io/zmkfirmware/zmk-dev-arm:3.5
FROM docker.io/zmkfirmware/zmk-dev-arm:4.1-branch

COPY .bashrc tmp
RUN mv /tmp/.bashrc ~/.bashrc
2 changes: 1 addition & 1 deletion .github/workflows/ble-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
test: ${{ fromJSON(needs.collect-tests.outputs.test-dirs) }}
runs-on: ubuntu-latest
container:
image: docker.io/zmkfirmware/zmk-build-arm:3.5
image: docker.io/zmkfirmware/zmk-build-arm:4.1
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build-user-config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ jobs:
echo "build_dir=$(mktemp -d)" >> $GITHUB_ENV

- name: Prepare variables
shell: sh -x {0}
shell: bash -x {0}
env:
board: ${{ matrix.board }}
shield: ${{ matrix.shield }}
Expand All @@ -81,7 +81,7 @@ jobs:
echo "extra_west_args=${extra_west_args}" >> $GITHUB_ENV
echo "extra_cmake_args=${shield:+-DSHIELD=\"$shield\"}${zmk_load_arg}" >> $GITHUB_ENV
echo "display_name=${shield:+$shield - }${board}" >> $GITHUB_ENV
echo "artifact_name=${artifact_name:-${shield:+$shield-}${board}-zmk}" >> $GITHUB_ENV
echo "artifact_name=${artifact_name:-${shield:+$shield-}${board//\//_}-zmk}" >> $GITHUB_ENV

- name: Copy config files to isolated temporary directory
run: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
if: ${{ always() }}
runs-on: ubuntu-latest
container:
image: docker.io/zmkfirmware/zmk-build-arm:3.5
image: docker.io/zmkfirmware/zmk-build-arm:4.1
needs: compile-matrix
strategy:
matrix:
Expand Down Expand Up @@ -123,7 +123,7 @@ jobs:
}

const cmakeName = shieldArgs['cmake-args'] ? '-' + (shieldArgs.nickname || shieldArgs['cmake-args'].split(' ').join('')) : '';
const artifactName = `${{ matrix.board }}${shieldArgs.shield ? '-' + shieldArgs.shield : ''}${cmakeName}-zmk`;
const artifactName = `${{ matrix.board }}${shieldArgs.shield ? '-' + shieldArgs.shield : ''}${cmakeName}-zmk`.replaceAll('/', '_');

await artifact.uploadArtifact(artifactName, files, rootDirectory, options);
} catch (e) {
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/hardware-metadata-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
validate-metadata:
runs-on: ubuntu-latest
container:
image: docker.io/zmkfirmware/zmk-dev-arm:3.5
image: docker.io/zmkfirmware/zmk-dev-arm:4.1
steps:
- uses: actions/checkout@v4
- name: Install dependencies
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
test: ${{ fromJSON(needs.collect-tests.outputs.test-dirs) }}
runs-on: ubuntu-latest
container:
image: docker.io/zmkfirmware/zmk-build-arm:3.5
image: docker.io/zmkfirmware/zmk-build-arm:4.1
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down Expand Up @@ -66,7 +66,7 @@ jobs:
run: west zephyr-export
- name: Test ${{ matrix.test }}
working-directory: app
run: west test tests/${{ matrix.test }}
run: ZMK_TESTS_VERBOSE=1 west test tests/${{ matrix.test }}
- name: Archive artifacts
if: ${{ always() }}
uses: actions/upload-artifact@v4
Expand Down
1 change: 1 addition & 0 deletions app/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ zephyr_syscall_header(${APPLICATION_SOURCE_DIR}/include/drivers/ext_power.h)
# Add your source file to the "app" target. This must come after
# find_package(Zephyr) which defines the target.
target_include_directories(app PRIVATE include)
add_subdirectory(src/boot)
target_sources(app PRIVATE src/stdlib.c)
target_sources(app PRIVATE src/activity.c)
target_sources(app PRIVATE src/behavior.c)
Expand Down
20 changes: 16 additions & 4 deletions app/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,9 @@ config ZMK_USB_BOOT
select USB_HID_BOOT_PROTOCOL
select USB_DEVICE_SOF

config USB_DEVICE_INITIALIZE_AT_BOOT
default n

if ZMK_USB

config USB_NUMOF_EP_WRITE_RETRIES
Expand Down Expand Up @@ -186,8 +189,8 @@ config BT_CTLR_PHY_2M
default n if ZMK_BLE_EXPERIMENTAL_CONN

# BT_TINYCRYPT_ECC is required for BT_SMP_SC_PAIR_ONLY when using HCI
config BT_TINYCRYPT_ECC
default y if BT_HCI && !BT_CTLR
# config BT_TINYCRYPT_ECC
# default y if BT_HCI && !BT_CTLR

config ZMK_BLE_THREAD_STACK_SIZE
int "BLE notify thread stack size"
Expand Down Expand Up @@ -478,13 +481,15 @@ endmenu

menu "Advanced"

rsource "src/boot/Kconfig"

menu "Initialization Priorities"

if USB_DEVICE_STACK

config ZMK_USB_INIT_PRIORITY
int "USB Init Priority"
default 94
default 96

config ZMK_USB_HID_INIT_PRIORITY
int "USB HID Init Priority"
Expand Down Expand Up @@ -653,6 +658,13 @@ endmenu # Advanced

endmenu # ZMK

if SOC_FAMILY_NORDIC_NRF

config NRF_SOC_VALIDATE_HEADERS_DISABLED
default y

endif

config KERNEL_BIN_NAME
default "zmk"

Expand Down Expand Up @@ -705,7 +717,7 @@ rsource "boards/shields/*/Kconfig.shield"
# Duplicated from Kconfig.zephyr
osource "$(KCONFIG_BINARY_DIR)/Kconfig.shield.defconfig"

source "$(BOARD_DIR)/Kconfig.defconfig"
# source "$(BOARD_DIR)/Kconfig.defconfig"

# This loads board and shield Kconfigs found under zmk-config/config/
osource "$(ZMK_CONFIG)/boards/shields/*/Kconfig.defconfig"
Expand Down
2 changes: 2 additions & 0 deletions app/Kconfig.defaults
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

config SYSTEM_WORKQUEUE_STACK_SIZE
default 2048 if SOC_RP2040
default 3072 if ZMK_DISPLAY
default 2048 if ZMK_BLE

# HID
Expand Down Expand Up @@ -110,4 +111,5 @@ config ZMK_BATTERY_REPORT_INTERVAL
default 60

# Imports
rsource "src/boot/Kconfig.defaults"
rsource "src/split/Kconfig.defaults"
4 changes: 4 additions & 0 deletions app/boards/adafruit_kb2040.conf
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,7 @@ CONFIG_CONSOLE=n
CONFIG_SERIAL=n
CONFIG_UART_CONSOLE=n
CONFIG_ZMK_USB=y

CONFIG_RETAINED_MEM=y
CONFIG_RETENTION=y
CONFIG_RETENTION_BOOT_MODE=y
2 changes: 2 additions & 0 deletions app/boards/adafruit_kb2040.overlay
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,6 @@
* SPDX-License-Identifier: MIT
*/

#include <arm/raspberrypi/rp2040-boot-mode-retention.dtsi>

&pro_micro_serial { status = "disabled"; };
4 changes: 4 additions & 0 deletions app/boards/adafruit_qt_py_rp2040.conf
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,7 @@ CONFIG_CONSOLE=n
CONFIG_SERIAL=n
CONFIG_UART_CONSOLE=n
CONFIG_ZMK_USB=y

CONFIG_RETAINED_MEM=y
CONFIG_RETENTION=y
CONFIG_RETENTION_BOOT_MODE=y
2 changes: 2 additions & 0 deletions app/boards/adafruit_qt_py_rp2040.overlay
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,6 @@
* SPDX-License-Identifier: MIT
*/

#include <arm/raspberrypi/rp2040-boot-mode-retention.dtsi>

&xiao_serial { status = "disabled"; };
7 changes: 0 additions & 7 deletions app/boards/arm/adv360pro/Kconfig

This file was deleted.

12 changes: 0 additions & 12 deletions app/boards/arm/adv360pro/Kconfig.board

This file was deleted.

8 changes: 0 additions & 8 deletions app/boards/arm/bdn9/Kconfig.board

This file was deleted.

11 changes: 0 additions & 11 deletions app/boards/arm/bdn9/bdn9_rev2.yml

This file was deleted.

8 changes: 0 additions & 8 deletions app/boards/arm/bluemicro840/Kconfig.board

This file was deleted.

7 changes: 0 additions & 7 deletions app/boards/arm/bt60/Kconfig

This file was deleted.

12 changes: 0 additions & 12 deletions app/boards/arm/bt60/Kconfig.board

This file was deleted.

13 changes: 0 additions & 13 deletions app/boards/arm/bt60/bt60_v1.zmk.yml

This file was deleted.

15 changes: 0 additions & 15 deletions app/boards/arm/bt60/bt60_v1_hs.yaml

This file was deleted.

8 changes: 0 additions & 8 deletions app/boards/arm/ckp/Kconfig

This file was deleted.

16 changes: 0 additions & 16 deletions app/boards/arm/ckp/Kconfig.board

This file was deleted.

28 changes: 0 additions & 28 deletions app/boards/arm/ckp/Kconfig.defconfig

This file was deleted.

10 changes: 0 additions & 10 deletions app/boards/arm/corneish_zen/Kconfig

This file was deleted.

24 changes: 0 additions & 24 deletions app/boards/arm/corneish_zen/Kconfig.board

This file was deleted.

Loading
Loading