From 1e1d537831cfa32f741b8e60ad5a36745a47849f Mon Sep 17 00:00:00 2001 From: Peter Johanson Date: Mon, 18 Nov 2024 14:55:03 -0700 Subject: [PATCH] refactor: Move to Zephyr v4.1.0 Move to Zephyr v4.1.0, with various build/compilation fixes needed for basic use. --- app/Kconfig | 6 ---- app/boards/shields/sofle/Kconfig.defconfig | 4 +-- .../splitkb_aurora_corne/Kconfig.defconfig | 2 +- .../splitkb_aurora_helix/Kconfig.defconfig | 2 +- .../splitkb_aurora_lily58/Kconfig.defconfig | 2 +- .../splitkb_aurora_sofle/Kconfig.defconfig | 2 +- .../splitkb_aurora_sweep/Kconfig.defconfig | 2 +- app/boards/shields/zmk_uno/Kconfig.defconfig | 2 +- app/keymap-module/modules/modules.cmake | 33 +++++++++++++++---- app/src/behavior.c | 8 ++--- app/src/display/Kconfig | 7 ++-- app/west.yml | 7 ++-- 12 files changed, 45 insertions(+), 32 deletions(-) diff --git a/app/Kconfig b/app/Kconfig index 6b4e3509a..21a32f95f 100644 --- a/app/Kconfig +++ b/app/Kconfig @@ -185,10 +185,6 @@ config BT_SMP_ALLOW_UNAUTH_OVERWRITE 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 ZMK_BLE_THREAD_STACK_SIZE int "BLE notify thread stack size" default 768 @@ -705,8 +701,6 @@ rsource "boards/shields/*/Kconfig.shield" # Duplicated from Kconfig.zephyr osource "$(KCONFIG_BINARY_DIR)/Kconfig.shield.defconfig" -source "$(BOARD_DIR)/Kconfig.defconfig" - # This loads board and shield Kconfigs found under zmk-config/config/ osource "$(ZMK_CONFIG)/boards/shields/*/Kconfig.defconfig" osource "$(ZMK_CONFIG)/boards/shields/*/Kconfig.shield" diff --git a/app/boards/shields/sofle/Kconfig.defconfig b/app/boards/shields/sofle/Kconfig.defconfig index 4eb3d743b..97b0bc548 100644 --- a/app/boards/shields/sofle/Kconfig.defconfig +++ b/app/boards/shields/sofle/Kconfig.defconfig @@ -45,8 +45,8 @@ endif # LVGL if ZMK_RGB_UNDERGLOW -config WS2812_STRIP - default y +# config WS2812_STRIP +# default y endif endif diff --git a/app/boards/shields/splitkb_aurora_corne/Kconfig.defconfig b/app/boards/shields/splitkb_aurora_corne/Kconfig.defconfig index d3ac6c77e..f4011fcfa 100644 --- a/app/boards/shields/splitkb_aurora_corne/Kconfig.defconfig +++ b/app/boards/shields/splitkb_aurora_corne/Kconfig.defconfig @@ -17,7 +17,7 @@ config ZMK_SPLIT default y config ZMK_RGB_UNDERGLOW - select WS2812_STRIP + # select WS2812_STRIP select SPI config ZMK_DISPLAY diff --git a/app/boards/shields/splitkb_aurora_helix/Kconfig.defconfig b/app/boards/shields/splitkb_aurora_helix/Kconfig.defconfig index df32b83b2..91537711e 100644 --- a/app/boards/shields/splitkb_aurora_helix/Kconfig.defconfig +++ b/app/boards/shields/splitkb_aurora_helix/Kconfig.defconfig @@ -17,7 +17,7 @@ config ZMK_SPLIT default y config ZMK_RGB_UNDERGLOW - select WS2812_STRIP + # select WS2812_STRIP select SPI if ZMK_DISPLAY diff --git a/app/boards/shields/splitkb_aurora_lily58/Kconfig.defconfig b/app/boards/shields/splitkb_aurora_lily58/Kconfig.defconfig index 861db44f0..e4e3f6894 100644 --- a/app/boards/shields/splitkb_aurora_lily58/Kconfig.defconfig +++ b/app/boards/shields/splitkb_aurora_lily58/Kconfig.defconfig @@ -17,7 +17,7 @@ config ZMK_SPLIT default y config ZMK_RGB_UNDERGLOW - select WS2812_STRIP + # select WS2812_STRIP select SPI config ZMK_DISPLAY diff --git a/app/boards/shields/splitkb_aurora_sofle/Kconfig.defconfig b/app/boards/shields/splitkb_aurora_sofle/Kconfig.defconfig index 172548e87..8dc5d8081 100644 --- a/app/boards/shields/splitkb_aurora_sofle/Kconfig.defconfig +++ b/app/boards/shields/splitkb_aurora_sofle/Kconfig.defconfig @@ -17,7 +17,7 @@ config ZMK_SPLIT default y config ZMK_RGB_UNDERGLOW - select WS2812_STRIP + # select WS2812_STRIP select SPI if ZMK_DISPLAY diff --git a/app/boards/shields/splitkb_aurora_sweep/Kconfig.defconfig b/app/boards/shields/splitkb_aurora_sweep/Kconfig.defconfig index 6a0e37286..1f429867f 100644 --- a/app/boards/shields/splitkb_aurora_sweep/Kconfig.defconfig +++ b/app/boards/shields/splitkb_aurora_sweep/Kconfig.defconfig @@ -17,7 +17,7 @@ config ZMK_SPLIT default y config ZMK_RGB_UNDERGLOW - select WS2812_STRIP + # select WS2812_STRIP select SPI config ZMK_DISPLAY diff --git a/app/boards/shields/zmk_uno/Kconfig.defconfig b/app/boards/shields/zmk_uno/Kconfig.defconfig index 95602ca73..b348cf4eb 100644 --- a/app/boards/shields/zmk_uno/Kconfig.defconfig +++ b/app/boards/shields/zmk_uno/Kconfig.defconfig @@ -17,7 +17,7 @@ config SHIELD_SSD1306_128X32 select ZMK_DISPLAY config ZMK_RGB_UNDERGLOW - select WS2812_STRIP + # select WS2812_STRIP select SPI config ZMK_PM_SOFT_OFF diff --git a/app/keymap-module/modules/modules.cmake b/app/keymap-module/modules/modules.cmake index 6aa628851..b480657b4 100644 --- a/app/keymap-module/modules/modules.cmake +++ b/app/keymap-module/modules/modules.cmake @@ -65,12 +65,33 @@ if(DEFINED SHIELD) string(REPLACE " " ";" SHIELD_AS_LIST "${SHIELD}") endif() -string(FIND "${BOARD}" "@" REVISION_SEPARATOR_INDEX) -if(NOT (REVISION_SEPARATOR_INDEX EQUAL -1)) - math(EXPR BOARD_REVISION_INDEX "${REVISION_SEPARATOR_INDEX} + 1") - string(SUBSTRING ${BOARD} ${BOARD_REVISION_INDEX} -1 BOARD_REVISION) - string(SUBSTRING ${BOARD} 0 ${REVISION_SEPARATOR_INDEX} BOARD) -endif() +# Helper function for parsing a board's name, revision, and qualifiers, +# from one input variable to three separate output variables. +function(parse_board_components board_in name_out revision_out qualifiers_out) + if(NOT "${${board_in}}" MATCHES "^([^@/]+)(@[^@/]+)?(/[^@]+)?$") + message(FATAL_ERROR + "Invalid revision / qualifiers format for ${board_in} (${${board_in}}). " + "Valid format is: @/" + ) + endif() + string(REPLACE "@" "" board_revision "${CMAKE_MATCH_2}") + + set(${name_out} ${CMAKE_MATCH_1} PARENT_SCOPE) + set(${revision_out} ${board_revision} PARENT_SCOPE) + set(${qualifiers_out} ${CMAKE_MATCH_3} PARENT_SCOPE) +endfunction() + +parse_board_components( + BOARD + BOARD BOARD_REVISION BOARD_QUALIFIERS +) + +# string(FIND "${BOARD}" "@" REVISION_SEPARATOR_INDEX) +# if(NOT (REVISION_SEPARATOR_INDEX EQUAL -1)) +# math(EXPR BOARD_REVISION_INDEX "${REVISION_SEPARATOR_INDEX} + 1") +# string(SUBSTRING ${BOARD} ${BOARD_REVISION_INDEX} -1 BOARD_REVISION) +# string(SUBSTRING ${BOARD} 0 ${REVISION_SEPARATOR_INDEX} BOARD) +# endif() foreach(root ${BOARD_ROOT}) set(shield_dir ${root}/boards/shields) diff --git a/app/src/behavior.c b/app/src/behavior.c index 6d5bbca31..c7899d62e 100644 --- a/app/src/behavior.c +++ b/app/src/behavior.c @@ -41,13 +41,13 @@ const struct device *z_impl_behavior_get_binding(const char *name) { } STRUCT_SECTION_FOREACH(zmk_behavior_ref, item) { - if (z_device_is_ready(item->device) && item->device->name == name) { + if (device_is_ready(item->device) && item->device->name == name) { return item->device; } } STRUCT_SECTION_FOREACH(zmk_behavior_ref, item) { - if (z_device_is_ready(item->device) && strcmp(item->device->name, name) == 0) { + if (device_is_ready(item->device) && strcmp(item->device->name, name) == 0) { return item->device; } } @@ -267,7 +267,7 @@ zmk_behavior_local_id_t zmk_behavior_get_local_id(const char *name) { } STRUCT_SECTION_FOREACH(zmk_behavior_local_id_map, item) { - if (z_device_is_ready(item->device) && strcmp(item->device->name, name) == 0) { + if (device_is_ready(item->device) && strcmp(item->device->name, name) == 0) { return item->local_id; } } @@ -277,7 +277,7 @@ zmk_behavior_local_id_t zmk_behavior_get_local_id(const char *name) { const char *zmk_behavior_find_behavior_name_from_local_id(zmk_behavior_local_id_t local_id) { STRUCT_SECTION_FOREACH(zmk_behavior_local_id_map, item) { - if (z_device_is_ready(item->device) && item->local_id == local_id) { + if (device_is_ready(item->device) && item->local_id == local_id) { return item->device->name; } } diff --git a/app/src/display/Kconfig b/app/src/display/Kconfig index 5d5c81f47..b132243e3 100644 --- a/app/src/display/Kconfig +++ b/app/src/display/Kconfig @@ -29,11 +29,8 @@ choice LV_TXT_ENC endchoice -config LV_MEM_CUSTOM - default y - - config LV_Z_MEM_POOL_SIZE - default 4096 if ZMK_DISPLAY_STATUS_SCREEN_BUILT_IN +config LV_Z_MEM_POOL_SIZE + default 4096 if ZMK_DISPLAY_STATUS_SCREEN_BUILT_IN choice ZMK_DISPLAY_STATUS_SCREEN prompt "Default status screen for displays" diff --git a/app/west.yml b/app/west.yml index ce0785e33..6fe156201 100644 --- a/app/west.yml +++ b/app/west.yml @@ -4,10 +4,12 @@ manifest: url-base: https://github.com/zephyrproject-rtos - name: zmkfirmware url-base: https://github.com/zmkfirmware + - name: ajf58 + url-base: https://github.com/ajf58 projects: - name: zephyr - remote: zmkfirmware - revision: v3.5.0+zmk-fixes + remote: zephyrproject-rtos + revision: v4.1.0 clone-depth: 1 import: name-blocklist: @@ -18,7 +20,6 @@ manifest: - hal_microchip - hal_nxp - hal_openisa - - hal_silabs - hal_xtensa - hal_st - hal_ti