From 554590947f4e6d02ca481be65addd2c494683a2b Mon Sep 17 00:00:00 2001 From: Alexander Poets <47000135+po3ts@users.noreply.github.com> Date: Tue, 10 Mar 2026 08:46:49 +0100 Subject: [PATCH 1/8] Add dev container --- .devcontainer/devcontainer.json | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .devcontainer/devcontainer.json diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..6fc8e30 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,10 @@ +{ + "image": "ghcr.io/zephyrproject-rtos/ci:v0.28.9", + "customizations": { + "vscode": { + "extensions": [ + "ms-vscode.cpptools-extension-pack" + ] + } + } +} \ No newline at end of file From d6c46246cd6acb234557b037f0624bb4f005b22d Mon Sep 17 00:00:00 2001 From: Alexander Poets <47000135+po3ts@users.noreply.github.com> Date: Tue, 10 Mar 2026 08:56:41 +0100 Subject: [PATCH 2/8] Add west manifest --- west.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 west.yml diff --git a/west.yml b/west.yml new file mode 100644 index 0000000..0b4a073 --- /dev/null +++ b/west.yml @@ -0,0 +1,11 @@ +manifest: + remotes: + - name: ncs + url-base: https://github.com/nrfconnect + + projects: + - name: nrf + remote: ncs + repo-path: sdk-nrf + revision: v3.2.3 + import: true From 088db3647bfd8f02fdf62622d08b1c9b0c215292 Mon Sep 17 00:00:00 2001 From: Alexander Poets <47000135+po3ts@users.noreply.github.com> Date: Tue, 10 Mar 2026 10:27:16 +0100 Subject: [PATCH 3/8] Add Zephyr module.yml Added Zephyr module.yml file, as well as top-level CMakeLists.txt and Kconfig files. --- CMakeLists.txt | 4 ++++ Kconfig | 2 ++ drivers/Kconfig | 1 + zephyr/module.yml | 6 ++++++ 4 files changed, 13 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 Kconfig create mode 100644 drivers/Kconfig create mode 100644 zephyr/module.yml diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..742ac18 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,4 @@ +zephyr_include_directories(lib/dect_nrplus/include) + +add_subdirectory_ifdef(CONFIG_NET_L2_DECT_NRPLUS drivers/net/dect_nrplus) +add_subdirectory_ifdef(CONFIG_DECT_NRPLUS_STACK lib) diff --git a/Kconfig b/Kconfig new file mode 100644 index 0000000..a56f2a9 --- /dev/null +++ b/Kconfig @@ -0,0 +1,2 @@ +rsource "drivers/Kconfig" +rsource "lib/Kconfig" diff --git a/drivers/Kconfig b/drivers/Kconfig new file mode 100644 index 0000000..924516a --- /dev/null +++ b/drivers/Kconfig @@ -0,0 +1 @@ +rsource "net/Kconfig" diff --git a/zephyr/module.yml b/zephyr/module.yml new file mode 100644 index 0000000..1ce955b --- /dev/null +++ b/zephyr/module.yml @@ -0,0 +1,6 @@ +name: dect_open_stack_ms +build: + cmake: . + kconfig: Kconfig + settings: + dts_root: . From 3f45b54bb0754abcfec0147211ba9107fbd3f1ec Mon Sep 17 00:00:00 2001 From: Alexander Poets <47000135+po3ts@users.noreply.github.com> Date: Tue, 10 Mar 2026 11:17:31 +0100 Subject: [PATCH 4/8] Update build configuration in lib/ Removed non-existent subdirectories from lib/CMakeLists.txt and lib/Kconfig. Removed lines appear to be remnants from nrfconnect/sdk-nrf. --- lib/CMakeLists.txt | 48 ------------------------------------------- lib/Kconfig | 51 ---------------------------------------------- 2 files changed, 99 deletions(-) diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index dc533ad..c37c5c3 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -4,54 +4,6 @@ # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause # -add_subdirectory(bin) - add_subdirectory_ifdef(CONFIG_DECT_NRPLUS_STACK dect_nrplus) # add_subdirectory(dect_nrplus) -add_subdirectory_ifdef(CONFIG_NRF_MODEM_LIB nrf_modem_lib) -add_subdirectory_ifdef(CONFIG_DK_LIBRARY dk_buttons_and_leds) -add_subdirectory_ifdef(CONFIG_AT_CMD_CUSTOM at_cmd_custom) -add_subdirectory_ifdef(CONFIG_AT_MONITOR at_monitor) -add_subdirectory_ifdef(CONFIG_AT_HOST_LIBRARY at_host) -add_subdirectory_ifdef(CONFIG_AT_CMD_PARSER at_cmd_parser) -add_subdirectory_ifdef(CONFIG_AT_PARSER at_parser) -add_subdirectory_ifdef(CONFIG_LTE_LINK_CONTROL lte_link_control) -add_subdirectory_ifdef(CONFIG_MODEM_BATTERY modem_battery) -add_subdirectory_ifdef(CONFIG_MODEM_INFO modem_info) -add_subdirectory_ifdef(CONFIG_PDN pdn) -add_subdirectory_ifdef(CONFIG_MULTITHREADING_LOCK multithreading_lock) -add_subdirectory_ifdef(CONFIG_ADP536X adp536x) -add_subdirectory_ifdef(CONFIG_ST25R3911B_LIB st25r3911b) -add_subdirectory_ifdef(CONFIG_FPROTECT fprotect) -add_subdirectory(flash_patch) -add_subdirectory_ifdef(CONFIG_RAM_POWER_DOWN_LIBRARY ram_pwrdn) -add_subdirectory(fatal_error) -add_subdirectory_ifdef(CONFIG_MODEM_KEY_MGMT modem_key_mgmt) -add_subdirectory_ifdef(CONFIG_SMS sms) -add_subdirectory_ifdef(CONFIG_GCF_SMS gcf_sms) -add_subdirectory_ifdef(CONFIG_SUPL_CLIENT_LIB supl) -add_subdirectory_ifdef(CONFIG_DATE_TIME date_time) -add_subdirectory_ifdef(CONFIG_HW_ID_LIBRARY hw_id) -add_subdirectory_ifdef(CONFIG_EDGE_IMPULSE edge_impulse) -add_subdirectory_ifdef(CONFIG_WAVE_GEN_LIB wave_gen) -add_subdirectory_ifdef(CONFIG_HW_UNIQUE_KEY_SRC hw_unique_key) -add_subdirectory_ifdef(CONFIG_APP_JWT app_jwt) -add_subdirectory_ifdef(CONFIG_MODEM_JWT modem_jwt) -add_subdirectory_ifdef(CONFIG_MODEM_SLM modem_slm) -add_subdirectory_ifdef(CONFIG_MODEM_ATTEST_TOKEN modem_attest_token) -add_subdirectory_ifdef(CONFIG_LOCATION location) -add_subdirectory_ifdef(CONFIG_AT_SHELL at_shell) -add_subdirectory_ifdef(CONFIG_MODEM_ANTENNA modem_antenna) -add_subdirectory_ifdef(CONFIG_QOS qos) -add_subdirectory_ifdef(CONFIG_IDENTITY_KEY identity_key) -add_subdirectory_ifdef(CONFIG_SFLOAT sfloat) -add_subdirectory_ifdef(CONFIG_CONTIN_ARRAY contin_array) -add_subdirectory_ifdef(CONFIG_PCM_MIX pcm_mix) -add_subdirectory_ifdef(CONFIG_TONE tone) -add_subdirectory_ifdef(CONFIG_PSCM pcm_stream_channel_modifier) -add_subdirectory_ifdef(CONFIG_DATA_FIFO data_fifo) -add_subdirectory_ifdef(CONFIG_FEM_AL_LIB fem_al) -add_subdirectory_ifdef(CONFIG_SAMPLE_RATE_CONVERTER sample_rate_converter) -add_subdirectory_ifdef(CONFIG_NCS_BOOT_BANNER boot_banner) -add_subdirectory_ifdef(CONFIG_UICC_LWM2M uicc_lwm2m) diff --git a/lib/Kconfig b/lib/Kconfig index 9a22096..8226b7a 100644 --- a/lib/Kconfig +++ b/lib/Kconfig @@ -4,56 +4,5 @@ # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause # -menu "Libraries" - rsource "dect_nrplus/Kconfig" -rsource "app_jwt/Kconfig" -rsource "bin/Kconfig" -rsource "nrf_modem_lib/Kconfig" -rsource "adp536x/Kconfig" -rsource "at_monitor/Kconfig" -rsource "st25r3911b/Kconfig" -rsource "flash_patch/Kconfig" -rsource "lte_link_control/Kconfig" -rsource "fprotect/Kconfig" -rsource "at_cmd_custom/Kconfig" -rsource "at_host/Kconfig" -rsource "dk_buttons_and_leds/Kconfig" -rsource "at_cmd_parser/Kconfig" -rsource "at_parser/Kconfig" -rsource "modem_battery/Kconfig" -rsource "modem_info/Kconfig" -rsource "pdn/Kconfig" -rsource "multithreading_lock/Kconfig" -rsource "fatal_error/Kconfig" -rsource "sms/Kconfig" -rsource "gcf_sms/Kconfig" -rsource "modem_key_mgmt/Kconfig" -rsource "supl/Kconfig" -rsource "date_time/Kconfig" -rsource "hw_id/Kconfig" -rsource "ram_pwrdn/Kconfig" -rsource "edge_impulse/Kconfig" -rsource "wave_gen/Kconfig" -rsource "hw_unique_key/Kconfig" -rsource "modem_jwt/Kconfig" -rsource "modem_slm/Kconfig" -rsource "modem_attest_token/Kconfig" -rsource "location/Kconfig" -rsource "at_shell/Kconfig" -rsource "modem_antenna/Kconfig" -rsource "qos/Kconfig" -rsource "identity_key/Kconfig" -rsource "sfloat/Kconfig" -rsource "contin_array/Kconfig" -rsource "pcm_mix/Kconfig" -rsource "tone/Kconfig" -rsource "pcm_stream_channel_modifier/Kconfig" -rsource "data_fifo/Kconfig" -rsource "fem_al/Kconfig" -rsource "sample_rate_converter/Kconfig" -rsource "boot_banner/Kconfig" -rsource "uicc_lwm2m/Kconfig" - -endmenu From 2b7d4b1096f46e75262f4c04e71b74d9b3bb024b Mon Sep 17 00:00:00 2001 From: Alexander Poets <47000135+po3ts@users.noreply.github.com> Date: Tue, 10 Mar 2026 13:11:35 +0100 Subject: [PATCH 5/8] Update Kconfig file include paths in lib/dect_nrplus/ --- lib/dect_nrplus/Kconfig | 4 ++-- lib/dect_nrplus/Kconfig.dect_module | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/dect_nrplus/Kconfig b/lib/dect_nrplus/Kconfig index ff8bf01..d40058e 100644 --- a/lib/dect_nrplus/Kconfig +++ b/lib/dect_nrplus/Kconfig @@ -10,5 +10,5 @@ # CMakeLists.txt that calls zephyr_library(). # Source the main menu and options for the DECT NR+ stack. -source "../nrf/lib/dect_nrplus/Kconfig.dect_module" -source "../nrf/lib/dect_nrplus/Kconfig.dect_nrplus" \ No newline at end of file +rsource "Kconfig.dect_module" +rsource "Kconfig.dect_nrplus" \ No newline at end of file diff --git a/lib/dect_nrplus/Kconfig.dect_module b/lib/dect_nrplus/Kconfig.dect_module index 1c1f0c5..6c02cd0 100644 --- a/lib/dect_nrplus/Kconfig.dect_module +++ b/lib/dect_nrplus/Kconfig.dect_module @@ -182,9 +182,9 @@ endmenu # DECT NR+ Stack Logging Levels # This ensures their main symbols (e.g., DECT_MAC_LAYER) are defined # before being used as dependencies in menus below. -source "../nrf/lib/dect_nrplus/Kconfig.dect_mac" -source "../nrf/lib/dect_nrplus/Kconfig.dect_dlc" -source "../nrf/lib/dect_nrplus/Kconfig.dect_cvg" -source "../nrf/lib/dect_nrplus/Kconfig.dect_cdd" -source "../nrf/lib/dect_nrplus/Kconfig.dect_security" -source "../nrf/drivers/net/dect_nrplus/Kconfig.dect_nrplus" +rsource "Kconfig.dect_mac" +rsource "Kconfig.dect_dlc" +rsource "Kconfig.dect_cvg" +rsource "Kconfig.dect_cdd" +rsource "Kconfig.dect_security" +rsource "../../drivers/net/dect_nrplus/Kconfig.dect_nrplus" From 50b02f24e59a83710fbc58918fb5728351f81f81 Mon Sep 17 00:00:00 2001 From: Alexander Poets <47000135+po3ts@users.noreply.github.com> Date: Tue, 10 Mar 2026 14:05:11 +0100 Subject: [PATCH 6/8] Update SDU_AREA_BUF_SIZE definition to ensure memory alignment Rounded up the block size to the nearest multiple of the slab alignment. --- lib/dect_nrplus/mac/dect_mac_data_path.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/dect_nrplus/mac/dect_mac_data_path.c b/lib/dect_nrplus/mac/dect_mac_data_path.c index fe58aaa..70ebd9d 100644 --- a/lib/dect_nrplus/mac/dect_mac_data_path.c +++ b/lib/dect_nrplus/mac/dect_mac_data_path.c @@ -530,8 +530,11 @@ static void update_security_context_after_tx(dect_mac_context_t* ctx, int ft_tar ctx->send_mac_sec_info_ie_on_next_tx = false; } } + #define SDU_BUFFER_PADDING 10 -#define SDU_AREA_BUF_SIZE (CONFIG_DECT_MAC_SDU_MAX_SIZE + SDU_BUFFER_PADDING) +// Block size must be a multiple of the memory alignment (which is 4 in this case) +// Round up block size to the nearest multiple of the slab alignment +#define SDU_AREA_BUF_SIZE ROUND_UP(CONFIG_DECT_MAC_SDU_MAX_SIZE + SDU_BUFFER_PADDING, 4) K_MEM_SLAB_DEFINE(g_mac_sdu_area_slab, SDU_AREA_BUF_SIZE, 4, 4); static int send_data_mac_sdu_via_phy_internal(dect_mac_context_t* ctx, From 05a693ed601b7a82ecc81ea0786240bfdbf5754e Mon Sep 17 00:00:00 2001 From: Alexander Poets <47000135+po3ts@users.noreply.github.com> Date: Tue, 10 Mar 2026 14:34:05 +0100 Subject: [PATCH 7/8] Add .gitignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..74ae624 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +build/ +twister-out*/ From 97259063683eeb8bbee850d890cf7def5e511742 Mon Sep 17 00:00:00 2001 From: Alexander Poets <47000135+po3ts@users.noreply.github.com> Date: Tue, 10 Mar 2026 14:53:26 +0100 Subject: [PATCH 8/8] Remove redundant Kconfig file Removed a redundant Kconfig file that broke the 'mac_flow' test build. --- lib/dect_nrplus/tests/mac_flow/Kconfig | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 lib/dect_nrplus/tests/mac_flow/Kconfig diff --git a/lib/dect_nrplus/tests/mac_flow/Kconfig b/lib/dect_nrplus/tests/mac_flow/Kconfig deleted file mode 100644 index d865554..0000000 --- a/lib/dect_nrplus/tests/mac_flow/Kconfig +++ /dev/null @@ -1,13 +0,0 @@ -# Kconfig for the DECT NR+ MAC Flow Ztest - -# Copyright (c) 2024 Manulytica Ltd -# -# SPDX-License-Identifier: Apache-2.0 - -config DECT_NRPLUS_TEST_MAC_FLOW - bool "DECT NR+ MAC Flow Integration Test" - default y - depends on ZTEST - help - Enable the Ztest suite for verifying the full MAC layer association, - data transfer, and error recovery flows using a mock PHY. \ No newline at end of file