lorawan: rename region Kconfig symbols to be backend-agnostic

Move and rename the region Kconfig symbols from LORAMAC_REGION_* to
LORAWAN_REGION_* to make them backend-agnostic.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
This commit is contained in:
Carlo Caione
2026-01-10 16:48:25 +01:00
committed by Fabio Baltieri
parent 5eab8eb693
commit d6dce1ca51
15 changed files with 122 additions and 100 deletions

View File

@@ -69,25 +69,25 @@ Related configuration options can be found under
* :kconfig:option:`CONFIG_LORAWAN_SYSTEM_MAX_RX_ERROR`
* :kconfig:option:`CONFIG_LORAMAC_REGION_AS923`
* :kconfig:option:`CONFIG_LORAWAN_REGION_AS923`
* :kconfig:option:`CONFIG_LORAMAC_REGION_AU915`
* :kconfig:option:`CONFIG_LORAWAN_REGION_AU915`
* :kconfig:option:`CONFIG_LORAMAC_REGION_CN470`
* :kconfig:option:`CONFIG_LORAWAN_REGION_CN470`
* :kconfig:option:`CONFIG_LORAMAC_REGION_CN779`
* :kconfig:option:`CONFIG_LORAWAN_REGION_CN779`
* :kconfig:option:`CONFIG_LORAMAC_REGION_EU433`
* :kconfig:option:`CONFIG_LORAWAN_REGION_EU433`
* :kconfig:option:`CONFIG_LORAMAC_REGION_EU868`
* :kconfig:option:`CONFIG_LORAWAN_REGION_EU868`
* :kconfig:option:`CONFIG_LORAMAC_REGION_KR920`
* :kconfig:option:`CONFIG_LORAWAN_REGION_KR920`
* :kconfig:option:`CONFIG_LORAMAC_REGION_IN865`
* :kconfig:option:`CONFIG_LORAWAN_REGION_IN865`
* :kconfig:option:`CONFIG_LORAMAC_REGION_US915`
* :kconfig:option:`CONFIG_LORAWAN_REGION_US915`
* :kconfig:option:`CONFIG_LORAMAC_REGION_RU864`
* :kconfig:option:`CONFIG_LORAWAN_REGION_RU864`
API Reference
*************

View File

@@ -615,6 +615,24 @@ Modem HL78XX
Applications depending on the previous defaults must update their configuration.
LoRaWAN
*******
* The LoRaWAN region Kconfig symbols have been renamed from ``LORAMAC_REGION_*`` to
``LORAWAN_REGION_*`` to make them backend-agnostic. Applications using any of the following
symbols must update their configuration files:
* ``CONFIG_LORAMAC_REGION_AS923``:kconfig:option:`CONFIG_LORAWAN_REGION_AS923`
* ``CONFIG_LORAMAC_REGION_AU915``:kconfig:option:`CONFIG_LORAWAN_REGION_AU915`
* ``CONFIG_LORAMAC_REGION_CN470``:kconfig:option:`CONFIG_LORAWAN_REGION_CN470`
* ``CONFIG_LORAMAC_REGION_CN779``:kconfig:option:`CONFIG_LORAWAN_REGION_CN779`
* ``CONFIG_LORAMAC_REGION_EU433``:kconfig:option:`CONFIG_LORAWAN_REGION_EU433`
* ``CONFIG_LORAMAC_REGION_EU868``:kconfig:option:`CONFIG_LORAWAN_REGION_EU868`
* ``CONFIG_LORAMAC_REGION_KR920``:kconfig:option:`CONFIG_LORAWAN_REGION_KR920`
* ``CONFIG_LORAMAC_REGION_IN865``:kconfig:option:`CONFIG_LORAWAN_REGION_IN865`
* ``CONFIG_LORAMAC_REGION_US915``:kconfig:option:`CONFIG_LORAWAN_REGION_US915`
* ``CONFIG_LORAMAC_REGION_RU864``:kconfig:option:`CONFIG_LORAWAN_REGION_RU864`
Other subsystems
****************
* The DAP subsystem initialization and configuration has changed. Please take a look at

View File

@@ -63,27 +63,27 @@ zephyr_library_sources_ifdef(CONFIG_HAS_SEMTECH_LORAMAC
${ZEPHYR_LORAMAC_NODE_MODULE_DIR}/src/mac/region/Region.c
${ZEPHYR_LORAMAC_NODE_MODULE_DIR}/src/mac/region/RegionCommon.c
)
zephyr_library_sources_ifdef(CONFIG_LORAMAC_REGION_EU868
zephyr_library_sources_ifdef(CONFIG_LORAWAN_REGION_EU868
${ZEPHYR_LORAMAC_NODE_MODULE_DIR}/src/mac/region/RegionEU868.c
)
zephyr_library_sources_ifdef(CONFIG_LORAMAC_REGION_US915
zephyr_library_sources_ifdef(CONFIG_LORAWAN_REGION_US915
${ZEPHYR_LORAMAC_NODE_MODULE_DIR}/src/mac/region/RegionBaseUS.c
${ZEPHYR_LORAMAC_NODE_MODULE_DIR}/src/mac/region/RegionUS915.c
)
zephyr_library_sources_ifdef(CONFIG_LORAMAC_REGION_CN779
zephyr_library_sources_ifdef(CONFIG_LORAWAN_REGION_CN779
${ZEPHYR_LORAMAC_NODE_MODULE_DIR}/src/mac/region/RegionCN779.c
)
zephyr_library_sources_ifdef(CONFIG_LORAMAC_REGION_EU433
zephyr_library_sources_ifdef(CONFIG_LORAWAN_REGION_EU433
${ZEPHYR_LORAMAC_NODE_MODULE_DIR}/src/mac/region/RegionEU433.c
)
zephyr_library_sources_ifdef(CONFIG_LORAMAC_REGION_AU915
zephyr_library_sources_ifdef(CONFIG_LORAWAN_REGION_AU915
${ZEPHYR_LORAMAC_NODE_MODULE_DIR}/src/mac/region/RegionBaseUS.c
${ZEPHYR_LORAMAC_NODE_MODULE_DIR}/src/mac/region/RegionAU915.c
)
zephyr_library_sources_ifdef(CONFIG_LORAMAC_REGION_AS923
zephyr_library_sources_ifdef(CONFIG_LORAWAN_REGION_AS923
${ZEPHYR_LORAMAC_NODE_MODULE_DIR}/src/mac/region/RegionAS923.c
)
zephyr_library_sources_ifdef(CONFIG_LORAMAC_REGION_CN470
zephyr_library_sources_ifdef(CONFIG_LORAWAN_REGION_CN470
${ZEPHYR_LORAMAC_NODE_MODULE_DIR}/src/mac/region/RegionBaseUS.c
${ZEPHYR_LORAMAC_NODE_MODULE_DIR}/src/mac/region/RegionCN470.c
${ZEPHYR_LORAMAC_NODE_MODULE_DIR}/src/mac/region/RegionCN470A20.c
@@ -91,13 +91,13 @@ zephyr_library_sources_ifdef(CONFIG_LORAMAC_REGION_CN470
${ZEPHYR_LORAMAC_NODE_MODULE_DIR}/src/mac/region/RegionCN470B20.c
${ZEPHYR_LORAMAC_NODE_MODULE_DIR}/src/mac/region/RegionCN470B26.c
)
zephyr_library_sources_ifdef(CONFIG_LORAMAC_REGION_KR920
zephyr_library_sources_ifdef(CONFIG_LORAWAN_REGION_KR920
${ZEPHYR_LORAMAC_NODE_MODULE_DIR}/src/mac/region/RegionKR920.c
)
zephyr_library_sources_ifdef(CONFIG_LORAMAC_REGION_IN865
zephyr_library_sources_ifdef(CONFIG_LORAWAN_REGION_IN865
${ZEPHYR_LORAMAC_NODE_MODULE_DIR}/src/mac/region/RegionIN865.c
)
zephyr_library_sources_ifdef(CONFIG_LORAMAC_REGION_RU864
zephyr_library_sources_ifdef(CONFIG_LORAWAN_REGION_RU864
${ZEPHYR_LORAMAC_NODE_MODULE_DIR}/src/mac/region/RegionRU864.c
)

View File

@@ -1,6 +1,6 @@
CONFIG_LOG=y
CONFIG_LORA=y
CONFIG_LORAWAN=y
CONFIG_LORAMAC_REGION_IN865=y
CONFIG_LORAWAN_REGION_IN865=y
CONFIG_MAIN_STACK_SIZE=2048
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048

View File

@@ -12,35 +12,35 @@ sample:
tests:
sample.lorawan.class_a.as923:
extra_configs:
- CONFIG_LORAMAC_REGION_AS923=y
- CONFIG_LORAWAN_REGION_AS923=y
sample.lorawan.class_a.au915:
extra_configs:
- CONFIG_LORAMAC_REGION_AU915=y
- CONFIG_LORAWAN_REGION_AU915=y
sample.lorawan.class_a.cn470:
extra_configs:
- CONFIG_LORAMAC_REGION_CN470=y
- CONFIG_LORAWAN_REGION_CN470=y
sample.lorawan.class_a.cn779:
extra_configs:
- CONFIG_LORAMAC_REGION_CN779=y
- CONFIG_LORAWAN_REGION_CN779=y
sample.lorawan.class_a.eu433:
extra_configs:
- CONFIG_LORAMAC_REGION_EU433=y
- CONFIG_LORAWAN_REGION_EU433=y
sample.lorawan.class_a.eu868:
extra_configs:
- CONFIG_LORAMAC_REGION_EU868=y
- CONFIG_LORAWAN_REGION_EU868=y
sample.lorawan.class_a.kr920:
extra_configs:
- CONFIG_LORAMAC_REGION_KR920=y
- CONFIG_LORAWAN_REGION_KR920=y
sample.lorawan.class_a.in865:
extra_configs:
- CONFIG_LORAMAC_REGION_IN865=y
- CONFIG_LORAWAN_REGION_IN865=y
sample.lorawan.class_a.us915:
extra_configs:
- CONFIG_LORAMAC_REGION_US915=y
- CONFIG_LORAWAN_REGION_US915=y
sample.lorawan.class_a.ru864:
extra_configs:
- CONFIG_LORAMAC_REGION_RU864=y
- CONFIG_LORAWAN_REGION_RU864=y
sample.lorawan.class_a.multiregion:
extra_configs:
- CONFIG_LORAMAC_REGION_EU868=y
- CONFIG_LORAMAC_REGION_US915=y
- CONFIG_LORAWAN_REGION_EU868=y
- CONFIG_LORAWAN_REGION_US915=y

View File

@@ -65,7 +65,7 @@ int main(void)
return 0;
}
#if defined(CONFIG_LORAMAC_REGION_EU868)
#if defined(CONFIG_LORAWAN_REGION_EU868)
/* If more than one region Kconfig is selected, app should set region
* before calling lorawan_start()
*/

View File

@@ -16,7 +16,7 @@ CONFIG_ENTROPY_GENERATOR=y
# LoRaWAN application layer
CONFIG_LORAWAN=y
CONFIG_LORAMAC_REGION_EU868=y
CONFIG_LORAWAN_REGION_EU868=y
CONFIG_LORAWAN_NVM_SETTINGS=y
# LoRaWAN services required for FUOTA

View File

@@ -17,6 +17,40 @@ module = LORAWAN
module-str = lorawan
source "subsys/logging/Kconfig.template.log_config"
menu "LoRaWAN Regions"
config LORAWAN_REGION_AS923
bool "Asia 923MHz Frequency band"
config LORAWAN_REGION_AU915
bool "Australia 915MHz Frequency band"
config LORAWAN_REGION_CN470
bool "China 470MHz Frequency band"
config LORAWAN_REGION_CN779
bool "China 779MHz Frequency band"
config LORAWAN_REGION_EU433
bool "Europe 433MHz Frequency band"
config LORAWAN_REGION_EU868
bool "Europe 868MHz Frequency band"
config LORAWAN_REGION_KR920
bool "South Korea 920MHz Frequency band"
config LORAWAN_REGION_IN865
bool "India 865MHz Frequency band"
config LORAWAN_REGION_US915
bool "North America 915MHz Frequency band"
config LORAWAN_REGION_RU864
bool "Russia 864MHz Frequency band"
endmenu
rsource "loramac-node/Kconfig"
rsource "emul/Kconfig"

View File

@@ -12,16 +12,16 @@ endif()
# Add include path for local headers (lw_priv.h)
zephyr_library_include_directories(${CMAKE_CURRENT_SOURCE_DIR})
zephyr_compile_definitions_ifdef(CONFIG_LORAMAC_REGION_AS923 REGION_AS923)
zephyr_compile_definitions_ifdef(CONFIG_LORAMAC_REGION_AU915 REGION_AU915)
zephyr_compile_definitions_ifdef(CONFIG_LORAMAC_REGION_CN470 REGION_CN470)
zephyr_compile_definitions_ifdef(CONFIG_LORAMAC_REGION_CN779 REGION_CN779)
zephyr_compile_definitions_ifdef(CONFIG_LORAMAC_REGION_EU433 REGION_EU433)
zephyr_compile_definitions_ifdef(CONFIG_LORAMAC_REGION_EU868 REGION_EU868)
zephyr_compile_definitions_ifdef(CONFIG_LORAMAC_REGION_KR920 REGION_KR920)
zephyr_compile_definitions_ifdef(CONFIG_LORAMAC_REGION_IN865 REGION_IN865)
zephyr_compile_definitions_ifdef(CONFIG_LORAMAC_REGION_US915 REGION_US915)
zephyr_compile_definitions_ifdef(CONFIG_LORAMAC_REGION_RU864 REGION_RU864)
zephyr_compile_definitions_ifdef(CONFIG_LORAWAN_REGION_AS923 REGION_AS923)
zephyr_compile_definitions_ifdef(CONFIG_LORAWAN_REGION_AU915 REGION_AU915)
zephyr_compile_definitions_ifdef(CONFIG_LORAWAN_REGION_CN470 REGION_CN470)
zephyr_compile_definitions_ifdef(CONFIG_LORAWAN_REGION_CN779 REGION_CN779)
zephyr_compile_definitions_ifdef(CONFIG_LORAWAN_REGION_EU433 REGION_EU433)
zephyr_compile_definitions_ifdef(CONFIG_LORAWAN_REGION_EU868 REGION_EU868)
zephyr_compile_definitions_ifdef(CONFIG_LORAWAN_REGION_KR920 REGION_KR920)
zephyr_compile_definitions_ifdef(CONFIG_LORAWAN_REGION_IN865 REGION_IN865)
zephyr_compile_definitions_ifdef(CONFIG_LORAWAN_REGION_US915 REGION_US915)
zephyr_compile_definitions_ifdef(CONFIG_LORAWAN_REGION_RU864 REGION_RU864)
# Don't build the real implementation when the emulator is used
if(NOT CONFIG_LORAWAN_EMUL)

View File

@@ -27,34 +27,4 @@ config LORAWAN_PUBLIC_NETWORK
Enable this option to use a public LoRaWAN network.
Disable for private LoRaWAN networks.
config LORAMAC_REGION_AS923
bool "Asia 923MHz Frequency band"
config LORAMAC_REGION_AU915
bool "Australia 915MHz Frequency band"
config LORAMAC_REGION_CN470
bool "China 470MHz Frequency band"
config LORAMAC_REGION_CN779
bool "China 779MHz Frequency band"
config LORAMAC_REGION_EU433
bool "Europe 433MHz Frequency band"
config LORAMAC_REGION_EU868
bool "Europe 868MHz Frequency band"
config LORAMAC_REGION_KR920
bool "South Korea 920MHz Frequency band"
config LORAMAC_REGION_IN865
bool "India 865MHz Frequency band"
config LORAMAC_REGION_US915
bool "North America 915MHz Frequency band"
config LORAMAC_REGION_RU864
bool "Russia 864MHz Frequency band"
endif # LORA_MODULE_BACKEND_LORAMAC_NODE

View File

@@ -15,34 +15,34 @@
#include <Region.h>
#include "../nvm/lorawan_nvm.h"
#ifdef CONFIG_LORAMAC_REGION_AS923
#ifdef CONFIG_LORAWAN_REGION_AS923
#define DEFAULT_LORAWAN_REGION LORAMAC_REGION_AS923
#define DEFAULT_LORAWAN_CHANNELS_MASK_SIZE LORAWAN_CHANNELS_MASK_SIZE_AS923
#elif CONFIG_LORAMAC_REGION_AU915
#elif CONFIG_LORAWAN_REGION_AU915
#define DEFAULT_LORAWAN_REGION LORAMAC_REGION_AU915
#define DEFAULT_LORAWAN_CHANNELS_MASK_SIZE LORAWAN_CHANNELS_MASK_SIZE_AU915
#elif CONFIG_LORAMAC_REGION_CN470
#elif CONFIG_LORAWAN_REGION_CN470
#define DEFAULT_LORAWAN_REGION LORAMAC_REGION_CN470
#define DEFAULT_LORAWAN_CHANNELS_MASK_SIZE LORAWAN_CHANNELS_MASK_SIZE_CN470
#elif CONFIG_LORAMAC_REGION_CN779
#elif CONFIG_LORAWAN_REGION_CN779
#define DEFAULT_LORAWAN_REGION LORAMAC_REGION_CN779
#define DEFAULT_LORAWAN_CHANNELS_MASK_SIZE LORAWAN_CHANNELS_MASK_SIZE_CN779
#elif CONFIG_LORAMAC_REGION_EU433
#elif CONFIG_LORAWAN_REGION_EU433
#define DEFAULT_LORAWAN_REGION LORAMAC_REGION_EU433
#define DEFAULT_LORAWAN_CHANNELS_MASK_SIZE LORAWAN_CHANNELS_MASK_SIZE_EU433
#elif CONFIG_LORAMAC_REGION_EU868
#elif CONFIG_LORAWAN_REGION_EU868
#define DEFAULT_LORAWAN_REGION LORAMAC_REGION_EU868
#define DEFAULT_LORAWAN_CHANNELS_MASK_SIZE LORAWAN_CHANNELS_MASK_SIZE_EU868
#elif CONFIG_LORAMAC_REGION_KR920
#elif CONFIG_LORAWAN_REGION_KR920
#define DEFAULT_LORAWAN_REGION LORAMAC_REGION_KR920
#define DEFAULT_LORAWAN_CHANNELS_MASK_SIZE LORAWAN_CHANNELS_MASK_SIZE_KR920
#elif CONFIG_LORAMAC_REGION_IN865
#elif CONFIG_LORAWAN_REGION_IN865
#define DEFAULT_LORAWAN_REGION LORAMAC_REGION_IN865
#define DEFAULT_LORAWAN_CHANNELS_MASK_SIZE LORAWAN_CHANNELS_MASK_SIZE_IN865
#elif CONFIG_LORAMAC_REGION_US915
#elif CONFIG_LORAWAN_REGION_US915
#define DEFAULT_LORAWAN_REGION LORAMAC_REGION_US915
#define DEFAULT_LORAWAN_CHANNELS_MASK_SIZE LORAWAN_CHANNELS_MASK_SIZE_US915
#elif CONFIG_LORAMAC_REGION_RU864
#elif CONFIG_LORAWAN_REGION_RU864
#define DEFAULT_LORAWAN_REGION LORAMAC_REGION_RU864
#define DEFAULT_LORAWAN_CHANNELS_MASK_SIZE LORAWAN_CHANNELS_MASK_SIZE_RU864
#else
@@ -322,70 +322,70 @@ int lorawan_set_region(enum lorawan_region region)
{
switch (region) {
#if defined(CONFIG_LORAMAC_REGION_AS923)
#if defined(CONFIG_LORAWAN_REGION_AS923)
case LORAWAN_REGION_AS923:
selected_region = LORAMAC_REGION_AS923;
region_channels_mask_size = LORAWAN_CHANNELS_MASK_SIZE_AS923;
break;
#endif
#if defined(CONFIG_LORAMAC_REGION_AU915)
#if defined(CONFIG_LORAWAN_REGION_AU915)
case LORAWAN_REGION_AU915:
selected_region = LORAMAC_REGION_AU915;
region_channels_mask_size = LORAWAN_CHANNELS_MASK_SIZE_AU915;
break;
#endif
#if defined(CONFIG_LORAMAC_REGION_CN470)
#if defined(CONFIG_LORAWAN_REGION_CN470)
case LORAWAN_REGION_CN470:
selected_region = LORAMAC_REGION_CN470;
region_channels_mask_size = LORAWAN_CHANNELS_MASK_SIZE_CN470;
break;
#endif
#if defined(CONFIG_LORAMAC_REGION_CN779)
#if defined(CONFIG_LORAWAN_REGION_CN779)
case LORAWAN_REGION_CN779:
selected_region = LORAMAC_REGION_CN779;
region_channels_mask_size = LORAWAN_CHANNELS_MASK_SIZE_CN779;
break;
#endif
#if defined(CONFIG_LORAMAC_REGION_EU433)
#if defined(CONFIG_LORAWAN_REGION_EU433)
case LORAWAN_REGION_EU433:
selected_region = LORAMAC_REGION_EU433;
region_channels_mask_size = LORAWAN_CHANNELS_MASK_SIZE_EU433;
break;
#endif
#if defined(CONFIG_LORAMAC_REGION_EU868)
#if defined(CONFIG_LORAWAN_REGION_EU868)
case LORAWAN_REGION_EU868:
selected_region = LORAMAC_REGION_EU868;
region_channels_mask_size = LORAWAN_CHANNELS_MASK_SIZE_EU868;
break;
#endif
#if defined(CONFIG_LORAMAC_REGION_KR920)
#if defined(CONFIG_LORAWAN_REGION_KR920)
case LORAWAN_REGION_KR920:
selected_region = LORAMAC_REGION_KR920;
region_channels_mask_size = LORAWAN_CHANNELS_MASK_SIZE_KR920;
break;
#endif
#if defined(CONFIG_LORAMAC_REGION_IN865)
#if defined(CONFIG_LORAWAN_REGION_IN865)
case LORAWAN_REGION_IN865:
selected_region = LORAMAC_REGION_IN865;
region_channels_mask_size = LORAWAN_CHANNELS_MASK_SIZE_IN865;
break;
#endif
#if defined(CONFIG_LORAMAC_REGION_US915)
#if defined(CONFIG_LORAWAN_REGION_US915)
case LORAWAN_REGION_US915:
selected_region = LORAMAC_REGION_US915;
region_channels_mask_size = LORAWAN_CHANNELS_MASK_SIZE_US915;
break;
#endif
#if defined(CONFIG_LORAMAC_REGION_RU864)
#if defined(CONFIG_LORAWAN_REGION_RU864)
case LORAWAN_REGION_RU864:
selected_region = LORAMAC_REGION_RU864;
region_channels_mask_size = LORAWAN_CHANNELS_MASK_SIZE_RU864;

View File

@@ -3,7 +3,7 @@ CONFIG_ZTEST=y
CONFIG_ASSERT=y
CONFIG_LORA=y
CONFIG_LORAWAN=y
CONFIG_LORAMAC_REGION_AS923=y
CONFIG_LORAMAC_REGION_AU915=y
CONFIG_LORAWAN_REGION_AS923=y
CONFIG_LORAWAN_REGION_AU915=y
CONFIG_MAIN_STACK_SIZE=2048
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048

View File

@@ -17,7 +17,7 @@ CONFIG_ENTROPY_GENERATOR=y
# LoRaWAN application layer
CONFIG_LORAWAN=y
CONFIG_LORAWAN_EMUL=y
CONFIG_LORAMAC_REGION_EU868=y
CONFIG_LORAWAN_REGION_EU868=y
# LoRaWAN services required for this test
CONFIG_LORAWAN_SERVICES=y

View File

@@ -17,7 +17,7 @@ CONFIG_ENTROPY_GENERATOR=y
# LoRaWAN application layer
CONFIG_LORAWAN=y
CONFIG_LORAWAN_EMUL=y
CONFIG_LORAMAC_REGION_EU868=y
CONFIG_LORAWAN_REGION_EU868=y
# LoRaWAN services required for this test
CONFIG_LORAWAN_SERVICES=y

View File

@@ -10,7 +10,7 @@ CONFIG_ZCBOR=y
CONFIG_MCUMGR=y
CONFIG_LORA=y
CONFIG_LORAWAN=y
CONFIG_LORAMAC_REGION_EU868=y
CONFIG_LORAWAN_REGION_EU868=y
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=3000
CONFIG_MCUMGR_TRANSPORT_LORAWAN=y
CONFIG_MCUMGR_TRANSPORT_LORAWAN_CONFIRMED_UPLINKS=n