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 
47 #define APP_LIB_RADIO_CFG_CURRENT_MAX 1000
48 
64 typedef enum
65 {
77 
93 typedef struct
94 {
100  uint32_t pd_to_sby;
106  uint32_t sby_to_tx;
112  uint32_t sby_to_rx;
117 
135 typedef void (*app_lib_radio_cfg_fem_set_power_cb_f)(uint8_t power_index);
136 
151 typedef void (*app_lib_radio_cfg_fem_cmd_cb_f)(uint8_t femcmd);
152 
158 typedef struct
159 {
167 
177 typedef struct
178 {
180  uint32_t tx_power_raw;
184  uint8_t value_set;
186  uint16_t tx_current;
188 
198 typedef struct
199 {
201  uint16_t rx_current;
203  int8_t rx_gain_db;
205  uint8_t power_count;
214 
222  (const app_lib_radio_cfg_fem_t * fem_cfg);
223 
231  (const app_lib_radio_cfg_power_t * power_cfg);
232 
243 typedef app_res_e (*app_lib_radio_cfg_pa_setup_f) (const void * pa_cfg);
244 
252 typedef app_res_e (*app_lib_radio_cfg_band_setup_f) (uint32_t band_mask);
253 
257 typedef struct
258 {
269 
274 
275 #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:151
app_lib_radio_cfg_fem_timings_t::sby_to_tx
uint32_t sby_to_tx
Definition: wms_radio_config.h:106
app_lib_radio_cfg_fem_timings_t::pd_to_sby
uint32_t pd_to_sby
Definition: wms_radio_config.h:100
app_lib_radio_cfg_t::femSetup
app_lib_radio_cfg_fem_setup_f femSetup
Definition: wms_radio_config.h:261
app_lib_radio_cfg_fem_timings_t::delay_values_set
bool delay_values_set
Definition: wms_radio_config.h:115
APP_LIB_RADIO_CFG_FEM_PWR_OFF
@ APP_LIB_RADIO_CFG_FEM_PWR_OFF
Definition: wms_radio_config.h:75
APP_LIB_RADIO_CFG_FEM_STANDBY
@ APP_LIB_RADIO_CFG_FEM_STANDBY
Definition: wms_radio_config.h:71
app_lib_radio_cfg_t::bandSetup
app_lib_radio_cfg_band_setup_f bandSetup
Definition: wms_radio_config.h:272
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:243
app_lib_radio_cfg_fem_t::setPower
app_lib_radio_cfg_fem_set_power_cb_f setPower
Definition: wms_radio_config.h:161
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:158
app_lib_radio_cfg_tx_pwr_lvl_t::tx_current
uint16_t tx_current
Definition: wms_radio_config.h:186
app_lib_radio_cfg_tx_pwr_lvl_t::tx_output_dbm
int8_t tx_output_dbm
Definition: wms_radio_config.h:182
app_lib_radio_cfg_fem_t::femCmd
app_lib_radio_cfg_fem_cmd_cb_f femCmd
Definition: wms_radio_config.h:163
app_lib_radio_cfg_fem_t::femTimings
app_lib_radio_cfg_fem_timings_t femTimings
Definition: wms_radio_config.h:165
wms_app.h
APP_LIB_RADIO_CFG_FEM_PWR_ON
@ APP_LIB_RADIO_CFG_FEM_PWR_ON
Definition: wms_radio_config.h:73
APP_LIB_RADIO_CFG_FEM_RX_ON
@ APP_LIB_RADIO_CFG_FEM_RX_ON
Definition: wms_radio_config.h:67
app_lib_radio_cfg_fem_timings_t::sby_to_rx
uint32_t sby_to_rx
Definition: wms_radio_config.h:112
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:231
app_lib_radio_cfg_power_t::power_count
uint8_t power_count
Definition: wms_radio_config.h:205
app_lib_radio_cfg_fem_timings_t
FEM state transition delays.
Definition: wms_radio_config.h:93
app_lib_radio_cfg_tx_pwr_lvl_t::tx_power_raw
uint32_t tx_power_raw
Definition: wms_radio_config.h:180
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:252
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:222
app_lib_radio_cfg_power_t
Radio FEM configuration structure from application to firmware.
Definition: wms_radio_config.h:198
APP_LIB_RADIO_CFG_FEM_TX_ON
@ APP_LIB_RADIO_CFG_FEM_TX_ON
Definition: wms_radio_config.h:69
app_lib_radio_cfg_t::powerSetup
app_lib_radio_cfg_power_setup_f powerSetup
Definition: wms_radio_config.h:264
app_lib_radio_cfg_power_t::rx_gain_db
int8_t rx_gain_db
Definition: wms_radio_config.h:203
app_lib_radio_cfg_tx_pwr_lvl_t
Definition for single TX power level.
Definition: wms_radio_config.h:177
app_lib_radio_cfg_femcmd_e
app_lib_radio_cfg_femcmd_e
FEM control command from firmware to application.
Definition: wms_radio_config.h:64
app_lib_radio_cfg_tx_pwr_lvl_t::value_set
uint8_t value_set
Definition: wms_radio_config.h:184
app_lib_radio_cfg_t::paSetup
app_lib_radio_cfg_pa_setup_f paSetup
Definition: wms_radio_config.h:268
app_lib_radio_cfg_power_t::rx_current
uint16_t rx_current
Definition: wms_radio_config.h:201
app_lib_radio_cfg_t
List of library functions.
Definition: wms_radio_config.h:257
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:135