Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -62,3 +62,4 @@ compliance.xml

tools/provision/*.hex
tools/provision/*.bin
tools/provision/certificate.json
28 changes: 28 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,34 @@
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
#

# Sidewalk-specific nrf7002eb2 overlays live under boards/shields/nrf7002eb2/.
# Do not map state-notifier-time-sync to &led1 in board overlays; add it here only
# when the nrf7002eb2 shield is not used, and drop the alias from the shield overlay
# when it is.
if(DEFINED BOARD AND BOARD MATCHES "^nrf54l15dk_nrf54l15_cpuapp(_ns)?$")
set(nrf7002eb2_shield_dir ${CMAKE_CURRENT_LIST_DIR}/boards/shields/nrf7002eb2)
set(nrf7002eb2_shield_selected FALSE)

if(DEFINED SHIELD)
string(REPLACE " " ";" shield_list "${SHIELD}")
foreach(shield_name IN LISTS shield_list)
if(shield_name MATCHES "^nrf7002eb2")
set(nrf7002eb2_shield_selected TRUE)
set(shield_overlay ${nrf7002eb2_shield_dir}/boards/${BOARD}.overlay)
if(EXISTS "${shield_overlay}")
list(APPEND EXTRA_DTC_OVERLAY_FILE "${shield_overlay}")
endif()
break()
endif()
endforeach()
endif()

if(NOT nrf7002eb2_shield_selected)
list(APPEND EXTRA_DTC_OVERLAY_FILE
"${nrf7002eb2_shield_dir}/nrf54l15_state_notifier_time_sync.overlay")
endif()
endif()

if(CONFIG_SIDEWALK_BUILD)
if (CONFIG_SIDEWALK_USE_PREBUILT_LIBRARIES)
add_subdirectory(lib)
Expand Down
2 changes: 2 additions & 0 deletions Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,8 @@ config SIDEWALK_USE_PREBUILT_LIBRARIES
Building from sources requires additional dependencies,
not released with nRF Connect SDK.

rsource "subsys/nrf70_location/Kconfig"

rsource "Kconfig.dependencies"
rsource "utils/Kconfig"
rsource "boards/shields/*/Kconfig.shield"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
/*
* Copyright (c) 2026 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
*/

#include "../nrf54l15.overlay"
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
/*
* Copyright (c) 2026 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
*/

#include "../nrf54l15.overlay"
11 changes: 11 additions & 0 deletions boards/shields/nrf7002eb2/nrf54l15.overlay
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/*
* Copyright (c) 2026 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
*/

/ {
aliases {
/delete-property/ state-notifier-time-sync;
};
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/*
* Copyright (c) 2026 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
*/

/ {
aliases {
state-notifier-time-sync = &led1;
};
};
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,9 @@
/{
aliases {
state-notifier-connected = &led0;
state-notifier-time-sync = &led1;
state-notifier-registered = &led2;
state-notifier-working = &led3;
};

};

&cpuapp_rram {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
/{
aliases {
state-notifier-connected = &led0;
state-notifier-time-sync = &led1;
state-notifier-registered = &led2;
state-notifier-working = &led3;
};
Expand Down
12 changes: 12 additions & 0 deletions samples/sid_end_device/sample.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,18 @@ tests:
- cli
- lr1110

sample.sidewalk.dut.nrf7002eb2:
platform_exclude:
- nrf54l15dk/nrf54l15/cpuapp/ns
extra_args:
- OVERLAY_CONFIG="overlay-dut.conf"
- SHIELD=nrf7002eb2
extra_configs:
- CONFIG_SIDEWALK_APPLICATION_NAME="dut.nrf7002"
tags:
- cli
- nrf70

sample.sidewalk.dut.nrf_sidewalk_eb:
platform_exclude:
- nrf54l15dk/nrf54l15/cpuapp/ns
Expand Down
2 changes: 1 addition & 1 deletion samples/sid_end_device/src/sidewalk_events.c
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ void sidewalk_event_platform_init(sidewalk_ctx_t *sid, void *ctx)
void sidewalk_event_autostart(sidewalk_ctx_t *sid, void *ctx)
{
if (sid->handle != NULL) {
LOG_INF("Sidewlak is already running");
LOG_INF("Sidewalk is already running");
return;
}
if (app_mfg_cfg_is_empty()) {
Expand Down
4 changes: 4 additions & 0 deletions subsys/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

add_subdirectory(sal)


if (CONFIG_SIDEWALK_USE_PREBUILT_LIBRARIES)
add_subdirectory(app_utils)
add_subdirectory(semtech)
Expand All @@ -15,4 +16,7 @@ if (CONFIG_SIDEWALK_USE_PREBUILT_LIBRARIES)
endif()
endif()

add_subdirectory_ifdef(CONFIG_SIDEWALK_WIFI_LOCATION_NRF70 nrf70_location)


add_subdirectory_ifdef(CONFIG_SIDEWALK_DEMO_PARSER demo)
29 changes: 29 additions & 0 deletions subsys/nrf70_location/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#
# Copyright (c) 2026 Nordic Semiconductor ASA
#
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
#

zephyr_library_named(sid_pal_wifi_nrf70_impl)

target_sources(sid_pal_wifi_nrf70_impl PRIVATE
nrf70_wifi_scan.c
sid_pal_wifi_nrf70_impl.c
)

if(NOT CONFIG_SIDEWALK_SUBGHZ_RADIO_LR1110)
target_sources(sid_pal_wifi_nrf70_impl PRIVATE
sid_pal_gnss_stub.c
)
target_link_libraries(sid_pal_wifi_nrf70_impl PRIVATE
sid_pal_gnss_ifc
)
endif()

target_include_directories(sid_pal_wifi_nrf70_impl PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
)

target_link_libraries(sid_pal_wifi_nrf70_impl PRIVATE
sid_pal_wifi_ifc
)
65 changes: 65 additions & 0 deletions subsys/nrf70_location/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
#
# Copyright (c) 2026 Nordic Semiconductor ASA
#
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
#

config SIDEWALK_WIFI_LOCATION_NRF70
bool "nRF70 Wi-Fi location PAL"
default y if SHIELD_NRF7002EB2
select NET_MGMT
select NET_MGMT_EVENT
select NET_MGMT_EVENT_INFO
select WIFI
select NETWORKING
select WIFI_NRF70
help
Wi-Fi PAL for Sidewalk location using nRF70 net_mgmt scan.

if SIDEWALK_WIFI_LOCATION_NRF70

choice NRF70_OPER_MODES
default NRF70_SCAN_ONLY
endchoice

config SIDEWALK_WIFI_LOCATION_NRF70_SCAN_TIMEOUT_MS
int "nRF70 Wi-Fi scan timeout (ms)"
default 20000
range 1000 60000
help
Backstop timeout for a single nRF70 Wi-Fi scan.

choice SIDEWALK_WIFI_LOCATION_NRF70_SCAN_BAND_FILTER
prompt "nRF70 Wi-Fi location scan band filter"
default SIDEWALK_WIFI_LOCATION_NRF70_SCAN_BAND_2_4GHZ if SHIELD_NRF7002EB2
default SIDEWALK_WIFI_LOCATION_NRF70_SCAN_BAND_2_4_AND_5_GHZ
help
Select which Wi-Fi frequency bands the nRF70 location scan covers.

config SIDEWALK_WIFI_LOCATION_NRF70_SCAN_BAND_2_4GHZ
bool "2.4 GHz only"

config SIDEWALK_WIFI_LOCATION_NRF70_SCAN_BAND_2_4_AND_5_GHZ
bool "2.4 and 5 GHz"

config SIDEWALK_WIFI_LOCATION_NRF70_SCAN_BAND_ALL
bool "All regulatory bands (2.4/5/6 GHz)"

endchoice

choice SIDEWALK_WIFI_LOCATION_NRF70_SCAN_TYPE
prompt "nRF70 Wi-Fi location scan type"
default SIDEWALK_WIFI_LOCATION_NRF70_SCAN_PASSIVE if SHIELD_NRF7002EB2
default SIDEWALK_WIFI_LOCATION_NRF70_SCAN_ACTIVE
help
Scan type hint passed to the nRF70 driver.

config SIDEWALK_WIFI_LOCATION_NRF70_SCAN_ACTIVE
bool "Active"

config SIDEWALK_WIFI_LOCATION_NRF70_SCAN_PASSIVE
bool "Passive"

endchoice

endif # SIDEWALK_WIFI_LOCATION_NRF70
Loading
Loading