Wirepas SDK
wms_radio_config.h
Go to the documentation of this file.
1 /* Copyright 2020 Wirepas Ltd. All Rights Reserved.
2  *
3  * See file LICENSE.txt for full license details.
4  *
5  */
6 
17 #ifndef APP_LIB_RADIO_CONFIG_H_
18 #define APP_LIB_RADIO_CONFIG_H_
19 
20 #include <stdlib.h>
21 #include <stdint.h>
22 #include <stdbool.h>
23 
24 #include "wms_app.h"
25 
27 #define APP_LIB_RADIO_CFG_NAME 0x6e080bb7
28 
29 
30 #define APP_LIB_RADIO_CFG_VERSION 0x201
31 
33 #define APP_LIB_RADIO_CFG_POWER_MAX_CNT 10
34 
36 #define APP_LIB_RADIO_CFG_CURRENT_MIN 1
37 
38 
40 #define APP_LIB_DECT_BAND_1 (1UL<<1)
41 
42 #define APP_LIB_DECT_BAND_2 (1UL<<2)
43 
44 #define APP_LIB_DECT_BAND_4 (1UL<<4)
45 
46 #define APP_LIB_DECT_BAND_22 (1UL<<22)
47 
48 
57 #define APP_LIB_RADIO_CFG_CURRENT_MAX 20000
58 
74 typedef enum
75 {
87 
103 typedef struct
104 {
110  uint32_t pd_to_sby;
116  uint32_t sby_to_tx;
122  uint32_t sby_to_rx;
127 
145 typedef void (*app_lib_radio_cfg_fem_set_power_cb_f)(uint8_t power_index);
146 
161 typedef void (*app_lib_radio_cfg_fem_cmd_cb_f)(uint8_t femcmd);
162 
168 typedef struct
169 {
177 
187 typedef struct
188 {
190  uint32_t tx_power_raw;
194  uint8_t value_set;
196  uint16_t tx_current;
198 
208 typedef struct
209 {
211  uint16_t rx_current;
213  int8_t rx_gain_db;
215  uint8_t power_count;
224 
232  (const app_lib_radio_cfg_fem_t * fem_cfg);
233 
241  (const app_lib_radio_cfg_power_t * power_cfg);
242 
253 typedef app_res_e (*app_lib_radio_cfg_pa_setup_f) (const void * pa_cfg);
254 
262 typedef app_res_e (*app_lib_radio_cfg_band_setup_f) (uint32_t band_mask);
263 
267 typedef struct
268 {
287 
288 #endif /* APP_LIB_RADIO_CONFIG_H_ */
app_lib_radio_cfg_fem_cmd_cb_f
void(* app_lib_radio_cfg_fem_cmd_cb_f)(uint8_t femcmd)
Callback function to control FEM state.
Definition: wms_radio_config.h:161
app_lib_radio_cfg_fem_timings_t::sby_to_tx
uint32_t sby_to_tx
Definition: wms_radio_config.h:116
app_lib_radio_cfg_fem_timings_t::pd_to_sby
uint32_t pd_to_sby
Definition: wms_radio_config.h:110
app_lib_radio_cfg_t::femSetup
app_lib_radio_cfg_fem_setup_f femSetup
Definition: wms_radio_config.h:271
app_lib_radio_cfg_fem_timings_t::delay_values_set
bool delay_values_set
Definition: wms_radio_config.h:125
APP_LIB_RADIO_CFG_FEM_PWR_OFF
@ APP_LIB_RADIO_CFG_FEM_PWR_OFF
Definition: wms_radio_config.h:85
APP_LIB_RADIO_CFG_FEM_STANDBY
@ APP_LIB_RADIO_CFG_FEM_STANDBY
Definition: wms_radio_config.h:81
app_lib_radio_cfg_t::bandSetup
app_lib_radio_cfg_band_setup_f bandSetup
Definition: wms_radio_config.h:285
app_lib_radio_cfg_pa_setup_f
app_res_e(* app_lib_radio_cfg_pa_setup_f)(const void *pa_cfg)
Setup radio PA configuration, relevant only for platforms that require PA configuration (e....
Definition: wms_radio_config.h:253
app_lib_radio_cfg_fem_t::setPower
app_lib_radio_cfg_fem_set_power_cb_f setPower
Definition: wms_radio_config.h:171
app_res_e
app_res_e
Definition: wms_app.h:201
app_lib_radio_cfg_fem_t
Radio FEM configuration structure from application to firmware.
Definition: wms_radio_config.h:168
app_lib_radio_cfg_tx_pwr_lvl_t::tx_current
uint16_t tx_current
Definition: wms_radio_config.h:196
app_lib_radio_cfg_tx_pwr_lvl_t::tx_output_dbm
int8_t tx_output_dbm
Definition: wms_radio_config.h:192
app_lib_radio_cfg_fem_t::femCmd
app_lib_radio_cfg_fem_cmd_cb_f femCmd
Definition: wms_radio_config.h:173
app_lib_radio_cfg_fem_t::femTimings
app_lib_radio_cfg_fem_timings_t femTimings
Definition: wms_radio_config.h:175
wms_app.h
APP_LIB_RADIO_CFG_FEM_PWR_ON
@ APP_LIB_RADIO_CFG_FEM_PWR_ON
Definition: wms_radio_config.h:83
APP_LIB_RADIO_CFG_FEM_RX_ON
@ APP_LIB_RADIO_CFG_FEM_RX_ON
Definition: wms_radio_config.h:77
app_lib_radio_cfg_fem_timings_t::sby_to_rx
uint32_t sby_to_rx
Definition: wms_radio_config.h:122
APP_LIB_RADIO_CFG_POWER_MAX_CNT
#define APP_LIB_RADIO_CFG_POWER_MAX_CNT
Maximum amount of configurable power levels.
Definition: wms_radio_config.h:33
app_lib_radio_cfg_power_setup_f
app_res_e(* app_lib_radio_cfg_power_setup_f)(const app_lib_radio_cfg_power_t *power_cfg)
Setup radio configuration / power level settings.
Definition: wms_radio_config.h:241
app_lib_radio_cfg_power_t::power_count
uint8_t power_count
Definition: wms_radio_config.h:215
app_lib_radio_cfg_fem_timings_t
FEM state transition delays.
Definition: wms_radio_config.h:103
app_lib_radio_cfg_tx_pwr_lvl_t::tx_power_raw
uint32_t tx_power_raw
Definition: wms_radio_config.h:190
app_lib_radio_cfg_band_setup_f
app_res_e(* app_lib_radio_cfg_band_setup_f)(uint32_t band_mask)
Setup radio band configuration, relevant only for DECT platforms.
Definition: wms_radio_config.h:262
app_lib_radio_cfg_fem_setup_f
app_res_e(* app_lib_radio_cfg_fem_setup_f)(const app_lib_radio_cfg_fem_t *fem_cfg)
Setup FEM control.
Definition: wms_radio_config.h:232
app_lib_radio_cfg_power_t
Radio FEM configuration structure from application to firmware.
Definition: wms_radio_config.h:208
APP_LIB_RADIO_CFG_FEM_TX_ON
@ APP_LIB_RADIO_CFG_FEM_TX_ON
Definition: wms_radio_config.h:79
app_lib_radio_cfg_t::powerSetup
app_lib_radio_cfg_power_setup_f powerSetup
Definition: wms_radio_config.h:274
app_lib_radio_cfg_power_t::rx_gain_db
int8_t rx_gain_db
Definition: wms_radio_config.h:213
app_lib_radio_cfg_tx_pwr_lvl_t
Definition for single TX power level.
Definition: wms_radio_config.h:187
app_lib_radio_cfg_femcmd_e
app_lib_radio_cfg_femcmd_e
FEM control command from firmware to application.
Definition: wms_radio_config.h:74
app_lib_radio_cfg_tx_pwr_lvl_t::value_set
uint8_t value_set
Definition: wms_radio_config.h:194
app_lib_radio_cfg_t::paSetup
app_lib_radio_cfg_pa_setup_f paSetup
Definition: wms_radio_config.h:278
app_lib_radio_cfg_power_t::rx_current
uint16_t rx_current
Definition: wms_radio_config.h:211
app_lib_radio_cfg_t
List of library functions.
Definition: wms_radio_config.h:267
app_lib_radio_cfg_fem_set_power_cb_f
void(* app_lib_radio_cfg_fem_set_power_cb_f)(uint8_t power_index)
Callback function to set radio TX power.
Definition: wms_radio_config.h:145