Skip to content

Commit ef7a502

Browse files
committed
config: refactor radio config getter
use void pointer and cast to radio struct in init function. Signed-off-by: Krzysztof Taborowski <[email protected]>
1 parent 7b12a6f commit ef7a502

File tree

7 files changed

+25
-244
lines changed

7 files changed

+25
-244
lines changed

samples/sid_end_device/src/sidewalk_events.c

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,7 @@ void sidewalk_event_platform_init(sidewalk_ctx_t *sid, void *ctx)
6464
.mfg_store_region.addr_start = APP_MFG_CFG_FLASH_START,
6565
.mfg_store_region.addr_end = APP_MFG_CFG_FLASH_END,
6666
#ifdef CONFIG_SIDEWALK_SUBGHZ_SUPPORT
67-
.platform_init_parameters.radio_cfg =
68-
#if defined(CONFIG_SIDEWALK_SUBGHZ_RADIO_SX126X)
69-
(radio_sx126x_device_config_t *)get_radio_cfg(),
70-
#elif defined(CONFIG_SIDEWALK_SUBGHZ_RADIO_LR1110)
71-
(radio_lr1110_device_config_t *)get_radio_cfg(),
72-
#endif /* CONFIG_SIDEWALK_SUBGHZ_RADIO */
67+
.platform_init_parameters.radio_cfg = get_radio_cfg(),
7368
#endif
7469
};
7570

subsys/config/common/include/app_subGHz_config.h

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,14 @@
1616
#ifndef APP_900_CONFIG_H
1717
#define APP_900_CONFIG_H
1818

19-
#if defined(CONFIG_SIDEWALK_SUBGHZ_RADIO_SX126X)
20-
#include <sx126x_config.h>
21-
#elif defined(CONFIG_SIDEWALK_SUBGHZ_RADIO_LR1110)
22-
#include <lr1110_config.h>
23-
#endif /* CONFIG_SIDEWALK_SUBGHZ_RADIO */
2419
#include <sid_pal_mfg_store_ifc.h>
2520
#include <sid_900_cfg.h>
2621

2722
#ifdef __cplusplus
2823
extern "C" {
2924
#endif
3025

31-
#if defined(CONFIG_SIDEWALK_SUBGHZ_RADIO_SX126X)
32-
const radio_sx126x_device_config_t* get_radio_cfg(void);
33-
#elif defined(CONFIG_SIDEWALK_SUBGHZ_RADIO_LR1110)
34-
const radio_lr1110_device_config_t* get_radio_cfg(void);
35-
#endif /* CONFIG_SIDEWALK_SUBGHZ_RADIO */
26+
const void* get_radio_cfg(void);
3627
const sid_pal_mfg_store_region_t* get_mfg_cfg(void);
3728
struct sid_sub_ghz_links_config* app_get_sub_ghz_config(void);
3829

subsys/config/common/src/app_subGHz_config.c

Lines changed: 0 additions & 197 deletions
This file was deleted.

subsys/config/common/src/app_subGHz_config_lr11xx.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ static radio_lr1110_device_config_t radio_lr1110_cfg = {
201201
},
202202
};
203203

204-
const radio_lr1110_device_config_t *get_radio_cfg(void)
204+
const void *get_radio_cfg(void)
205205
{
206206
radio_lr1110_cfg.gpios.power =
207207
sid_gpio_utils_register_gpio((struct gpio_dt_spec)GPIO_DT_SPEC_GET_OR(

subsys/config/common/src/app_subGHz_config_sx126x.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ static radio_sx126x_device_config_t radio_sx1262_cfg = {
148148
},
149149
};
150150

151-
const radio_sx126x_device_config_t *get_radio_cfg(void)
151+
const void *get_radio_cfg(void)
152152
{
153153
radio_sx1262_cfg.gpio_power =
154154
sid_gpio_utils_register_gpio((struct gpio_dt_spec)GPIO_DT_SPEC_GET_OR(

subsys/sal/common/sid_pal_types/sid_pal_platform_init_types.h

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,9 @@
1616
#ifndef SID_PAL_PLATFORM_INIT_TYPES_H
1717
#define SID_PAL_PLATFORM_INIT_TYPES_H
1818

19-
#if defined(CONFIG_SIDEWALK_SUBGHZ_RADIO_SX126X)
20-
#include <sx126x_config.h>
21-
#elif defined(CONFIG_SIDEWALK_SUBGHZ_RADIO_LR1110)
22-
#include <lr1110_config.h>
23-
#endif /* CONFIG_SIDEWALK_SUBGHZ_RADIO */
24-
2519
typedef struct {
26-
//place holder for platform specific init parameters
2720
#if defined(CONFIG_SIDEWALK_SUBGHZ_SUPPORT)
28-
#if defined(CONFIG_SIDEWALK_SUBGHZ_RADIO_SX126X)
29-
radio_sx126x_device_config_t * radio_cfg;
30-
#elif defined(CONFIG_SIDEWALK_SUBGHZ_RADIO_LR1110)
31-
radio_lr1110_device_config_t * radio_cfg;
32-
#endif /* CONFIG_SIDEWALK_SUBGHZ_RADIO */
21+
const void * radio_cfg;
3322
#endif /* CONFIG_SIDEWALK_SUBGHZ_SUPPORT */
3423
} platform_specific_init_parameters_t;
3524

subsys/sal/sid_pal/src/sid_common.c

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,35 +10,38 @@
1010
#if defined(CONFIG_SIDEWALK_SUBGHZ_SUPPORT) && defined(CONFIG_SOC_SERIES_NRF53X)
1111
#include <zephyr/bluetooth/bluetooth.h>
1212
#endif /* defined(CONFIG_SOC_SERIES_NRF53X) && defined(CONFIG_SIDEWALK_SUBGHZ_SUPPORT) */
13-
#if defined(CONFIG_SIDEWALK_SUBGHZ_SUPPORT)
14-
#if defined(CONFIG_SIDEWALK_SUBGHZ_RADIO_SX126X)
15-
#include <sx126x_config.h>
16-
#elif defined(CONFIG_SIDEWALK_SUBGHZ_RADIO_LR1110)
17-
#include <lr1110_config.h>
18-
#endif /* CONFIG_SIDEWALK_SUBGHZ_RADIO */
19-
#endif /* CONFIG_SIDEWALK_SUBGHZ_SUPPORT */
2013

2114
#include <zephyr/kernel.h>
2215
#include <zephyr/storage/flash_map.h>
2316
#include <zephyr/logging/log.h>
2417

2518
LOG_MODULE_REGISTER(sid_common, CONFIG_SIDEWALK_LOG_LEVEL);
2619

20+
#if defined(CONFIG_SIDEWALK_SUBGHZ_RADIO_SX126X)
21+
#include <sx126x_config.h>
22+
static void set_radio_config(const void *cfg)
23+
{
24+
set_radio_sx126x_device_config((const radio_sx126x_device_config_t *)cfg);
25+
}
26+
#elif defined(CONFIG_SIDEWALK_SUBGHZ_RADIO_LR1110)
27+
#include <lr1110_config.h>
28+
static void set_radio_config(const void *cfg)
29+
{
30+
set_radio_lr1110_device_config((const radio_lr1110_device_config_t *)cfg);
31+
}
32+
#endif /* CONFIG_SIDEWALK_SUBGHZ_RADIO */
33+
2734
sid_error_t sid_pal_common_init(const platform_specific_init_parameters_t *platform_init_parameters)
2835
{
29-
if (!platform_init_parameters
30-
#if defined(CONFIG_SIDEWALK_SUBGHZ_SUPPORT)
31-
|| !platform_init_parameters->radio_cfg
32-
#endif
33-
) {
36+
if (!platform_init_parameters) {
3437
return SID_ERROR_INCOMPATIBLE_PARAMS;
3538
}
39+
3640
#if defined(CONFIG_SIDEWALK_SUBGHZ_SUPPORT)
37-
#if defined(CONFIG_SIDEWALK_SUBGHZ_RADIO_SX126X)
38-
set_radio_sx126x_device_config(platform_init_parameters->radio_cfg);
39-
#elif defined(CONFIG_SIDEWALK_SUBGHZ_RADIO_LR1110)
40-
set_radio_lr1110_device_config(platform_init_parameters->radio_cfg);
41-
#endif /* CONFIG_SIDEWALK_SUBGHZ_RADIO */
41+
if (!platform_init_parameters->radio_cfg) {
42+
return SID_ERROR_INCOMPATIBLE_PARAMS;
43+
}
44+
set_radio_config(platform_init_parameters->radio_cfg);
4245
#if defined(CONFIG_SOC_SERIES_NRF53X)
4346
(void)bt_enable(NULL);
4447
(void)bt_disable();

0 commit comments

Comments
 (0)