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 
39 #define APP_LIB_DECT_BAND_22 (1UL<<22)
40 
41 
50 #define APP_LIB_RADIO_CFG_CURRENT_MAX 20000
51 
67 typedef enum
68 {
80 
96 typedef struct
97 {
103  uint32_t pd_to_sby;
109  uint32_t sby_to_tx;
115  uint32_t sby_to_rx;
120 
138 typedef void (*app_lib_radio_cfg_fem_set_power_cb_f)(uint8_t power_index);
139 
154 typedef void (*app_lib_radio_cfg_fem_cmd_cb_f)(uint8_t femcmd);
155 
161 typedef struct
162 {
170 
180 typedef struct
181 {
183  uint32_t tx_power_raw;
187  uint8_t value_set;
189  uint16_t tx_current;
191 
201 typedef struct
202 {
204  uint16_t rx_current;
206  int8_t rx_gain_db;
208  uint8_t power_count;
217 
225  (const app_lib_radio_cfg_fem_t * fem_cfg);
226 
234  (const app_lib_radio_cfg_power_t * power_cfg);
235 
246 typedef app_res_e (*app_lib_radio_cfg_pa_setup_f) (const void * pa_cfg);
247 
255 typedef app_res_e (*app_lib_radio_cfg_band_setup_f) (uint32_t band_mask);
256 
260 typedef struct
261 {
272 
277 
278 #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:154
app_lib_radio_cfg_fem_timings_t::sby_to_tx
uint32_t sby_to_tx
Definition: wms_radio_config.h:109
app_lib_radio_cfg_fem_timings_t::pd_to_sby
uint32_t pd_to_sby
Definition: wms_radio_config.h:103
app_lib_radio_cfg_t::femSetup
app_lib_radio_cfg_fem_setup_f femSetup
Definition: wms_radio_config.h:264
app_lib_radio_cfg_fem_timings_t::delay_values_set
bool delay_values_set
Definition: wms_radio_config.h:118
APP_LIB_RADIO_CFG_FEM_PWR_OFF
@ APP_LIB_RADIO_CFG_FEM_PWR_OFF
Definition: wms_radio_config.h:78
APP_LIB_RADIO_CFG_FEM_STANDBY
@ APP_LIB_RADIO_CFG_FEM_STANDBY
Definition: wms_radio_config.h:74
app_lib_radio_cfg_t::bandSetup
app_lib_radio_cfg_band_setup_f bandSetup
Definition: wms_radio_config.h:275
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:246
app_lib_radio_cfg_fem_t::setPower
app_lib_radio_cfg_fem_set_power_cb_f setPower
Definition: wms_radio_config.h:164
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:161
app_lib_radio_cfg_tx_pwr_lvl_t::tx_current
uint16_t tx_current
Definition: wms_radio_config.h:189
app_lib_radio_cfg_tx_pwr_lvl_t::tx_output_dbm
int8_t tx_output_dbm
Definition: wms_radio_config.h:185
app_lib_radio_cfg_fem_t::femCmd
app_lib_radio_cfg_fem_cmd_cb_f femCmd
Definition: wms_radio_config.h:166
app_lib_radio_cfg_fem_t::femTimings
app_lib_radio_cfg_fem_timings_t femTimings
Definition: wms_radio_config.h:168
wms_app.h
APP_LIB_RADIO_CFG_FEM_PWR_ON
@ APP_LIB_RADIO_CFG_FEM_PWR_ON
Definition: wms_radio_config.h:76
APP_LIB_RADIO_CFG_FEM_RX_ON
@ APP_LIB_RADIO_CFG_FEM_RX_ON
Definition: wms_radio_config.h:70
app_lib_radio_cfg_fem_timings_t::sby_to_rx
uint32_t sby_to_rx
Definition: wms_radio_config.h:115
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:234
app_lib_radio_cfg_power_t::power_count
uint8_t power_count
Definition: wms_radio_config.h:208
app_lib_radio_cfg_fem_timings_t
FEM state transition delays.
Definition: wms_radio_config.h:96
app_lib_radio_cfg_tx_pwr_lvl_t::tx_power_raw
uint32_t tx_power_raw
Definition: wms_radio_config.h:183
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:255
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:225
app_lib_radio_cfg_power_t
Radio FEM configuration structure from application to firmware.
Definition: wms_radio_config.h:201
APP_LIB_RADIO_CFG_FEM_TX_ON
@ APP_LIB_RADIO_CFG_FEM_TX_ON
Definition: wms_radio_config.h:72
app_lib_radio_cfg_t::powerSetup
app_lib_radio_cfg_power_setup_f powerSetup
Definition: wms_radio_config.h:267
app_lib_radio_cfg_power_t::rx_gain_db
int8_t rx_gain_db
Definition: wms_radio_config.h:206
app_lib_radio_cfg_tx_pwr_lvl_t
Definition for single TX power level.
Definition: wms_radio_config.h:180
app_lib_radio_cfg_femcmd_e
app_lib_radio_cfg_femcmd_e
FEM control command from firmware to application.
Definition: wms_radio_config.h:67
app_lib_radio_cfg_tx_pwr_lvl_t::value_set
uint8_t value_set
Definition: wms_radio_config.h:187
app_lib_radio_cfg_t::paSetup
app_lib_radio_cfg_pa_setup_f paSetup
Definition: wms_radio_config.h:271
app_lib_radio_cfg_power_t::rx_current
uint16_t rx_current
Definition: wms_radio_config.h:204
app_lib_radio_cfg_t
List of library functions.
Definition: wms_radio_config.h:260
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:138