224 lines
6.4 KiB
C
224 lines
6.4 KiB
C
/* USER CODE BEGIN Header */
|
|
/**
|
|
******************************************************************************
|
|
* @file radio_board_if.h
|
|
* @author MCD Application Team
|
|
* @brief Header for Radio interface configuration
|
|
******************************************************************************
|
|
* @attention
|
|
*
|
|
* Copyright (c) 2021 STMicroelectronics.
|
|
* All rights reserved.
|
|
*
|
|
* This software is licensed under terms that can be found in the LICENSE file
|
|
* in the root directory of this software component.
|
|
* If no LICENSE file comes with this software, it is provided AS-IS.
|
|
*
|
|
******************************************************************************
|
|
*/
|
|
/* USER CODE END Header */
|
|
|
|
/* Define to prevent recursive inclusion -------------------------------------*/
|
|
#ifndef RADIO_BOARD_IF_H
|
|
#define RADIO_BOARD_IF_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Includes ------------------------------------------------------------------*/
|
|
#include "platform.h"
|
|
/* USER CODE BEGIN include */
|
|
|
|
/* USER CODE END include */
|
|
|
|
/* Exported defines ----------------------------------------------------------*/
|
|
#if defined(USE_BSP_DRIVER)
|
|
/* code generated by STM32CubeMX does not support BSP */
|
|
/* In order to use BSP driver, add the correspondent files in the IDE workspace */
|
|
/* and define USE_BSP_DRIVER in the preprocessor definitions or in platform.h */
|
|
#define RBI_CONF_RFO_LP_HP RADIO_CONF_RFO_LP_HP
|
|
#define RBI_CONF_RFO_LP RADIO_CONF_RFO_LP
|
|
#define RBI_CONF_RFO_HP RADIO_CONF_RFO_HP
|
|
#else
|
|
/* USER CODE BEGIN Board Definition */
|
|
|
|
/* USER CODE END Board Definition */
|
|
#define RBI_CONF_RFO_LP_HP 0
|
|
#define RBI_CONF_RFO_LP 1
|
|
#define RBI_CONF_RFO_HP 2
|
|
/* USER CODE BEGIN Board Definition_2 */
|
|
|
|
/* USER CODE END Board Definition_2 */
|
|
#endif /* USE_BSP_DRIVER */
|
|
|
|
#if defined(USE_BSP_DRIVER)
|
|
/* code generated by STM32CubeMX does not support BSP */
|
|
/* In order to use BSP driver, add the correspondent files in the IDE workspace */
|
|
/* and define USE_BSP_DRIVER in the preprocessor definitions or in platform.h */
|
|
|
|
#else
|
|
/* USER CODE BEGIN Exported Parameters */
|
|
|
|
/* USER CODE END Exported Parameters */
|
|
/* Indicates the type of switch between the ones proposed by CONFIG Constants
|
|
*/
|
|
#define RBI_CONF_RFO RBI_CONF_RFO_LP_HP
|
|
|
|
/* Indicates whether or not TCXO is supported by the board
|
|
* 0: TCXO not supported
|
|
* 1: TCXO supported
|
|
*/
|
|
#define IS_TCXO_SUPPORTED 1U
|
|
|
|
/* Indicates whether or not DCDC is supported by the board
|
|
* 0: DCDC not supported
|
|
* 1: DCDC supported
|
|
*/
|
|
#define IS_DCDC_SUPPORTED 1U
|
|
|
|
/* USER CODE BEGIN Exported Parameters_2 */
|
|
|
|
/* USER CODE END Exported Parameters_2 */
|
|
#endif /* USE_BSP_DRIVER */
|
|
|
|
#if defined(USE_BSP_DRIVER)
|
|
/* code generated by STM32CubeMX does not support BSP */
|
|
/* In order to use BSP driver, add the correspondent files in the IDE workspace */
|
|
/* and define USE_BSP_DRIVER in the preprocessor definitions or in platform.h */
|
|
|
|
#else
|
|
/* USER CODE BEGIN Exported PinMapping */
|
|
#warning user to provide its board definitions pins
|
|
/* USER CODE END Exported PinMapping */
|
|
#endif /* USE_BSP_DRIVER */
|
|
|
|
/* USER CODE BEGIN ED */
|
|
|
|
/* USER CODE END ED */
|
|
|
|
/* Exported types ------------------------------------------------------------*/
|
|
|
|
#if defined(USE_BSP_DRIVER)
|
|
/* code generated by STM32CubeMX does not support BSP */
|
|
/* In order to use BSP driver, add the correspondent files in the IDE workspace */
|
|
/* and define USE_BSP_DRIVER in the preprocessor definitions or in platform.h */
|
|
typedef enum
|
|
{
|
|
RBI_SWITCH_OFF = RADIO_SWITCH_OFF,
|
|
RBI_SWITCH_RX = RADIO_SWITCH_RX,
|
|
RBI_SWITCH_RFO_LP = RADIO_SWITCH_RFO_LP,
|
|
RBI_SWITCH_RFO_HP = RADIO_SWITCH_RFO_HP,
|
|
} RBI_Switch_TypeDef;
|
|
|
|
typedef enum
|
|
{
|
|
RBI_RFO_LP_MAXPOWER = RADIO_RFO_LP_MAXPOWER,
|
|
RBI_RFO_HP_MAXPOWER = RADIO_RFO_HP_MAXPOWER,
|
|
} RBI_RFOMaxPowerConfig_TypeDef;
|
|
|
|
#else
|
|
/* USER CODE BEGIN Exported Types */
|
|
|
|
/* USER CODE END Exported Types */
|
|
typedef enum
|
|
{
|
|
RBI_SWITCH_OFF = 0,
|
|
RBI_SWITCH_RX = 1,
|
|
RBI_SWITCH_RFO_LP = 2,
|
|
RBI_SWITCH_RFO_HP = 3,
|
|
} RBI_Switch_TypeDef;
|
|
|
|
typedef enum
|
|
{
|
|
RBI_RFO_LP_MAXPOWER = 0,
|
|
RBI_RFO_HP_MAXPOWER = 1,
|
|
} RBI_RFOMaxPowerConfig_TypeDef;
|
|
/* USER CODE BEGIN Exported Types_2 */
|
|
|
|
/* USER CODE END Exported Types_2 */
|
|
#endif /* USE_BSP_DRIVER */
|
|
|
|
/* USER CODE BEGIN ET */
|
|
|
|
/* USER CODE END ET */
|
|
|
|
/* Exported constants --------------------------------------------------------*/
|
|
/* USER CODE BEGIN EC */
|
|
|
|
/* USER CODE END EC */
|
|
|
|
/* External variables --------------------------------------------------------*/
|
|
/* USER CODE BEGIN EV */
|
|
|
|
/* USER CODE END EV */
|
|
|
|
/* Exported macro ------------------------------------------------------------*/
|
|
/* USER CODE BEGIN EM */
|
|
|
|
/* USER CODE END EM */
|
|
|
|
/* Exported functions ------------------------------------------------------- */
|
|
/**
|
|
* @brief Init Radio Switch
|
|
* @return BSP status
|
|
*/
|
|
int32_t RBI_Init(void);
|
|
|
|
/**
|
|
* @brief DeInit Radio Switch
|
|
* @return BSP status
|
|
*/
|
|
int32_t RBI_DeInit(void);
|
|
|
|
/**
|
|
* @brief Configure Radio Switch.
|
|
* @param Config: Specifies the Radio RF switch path to be set.
|
|
* This parameter can be one of following parameters:
|
|
* @arg RADIO_SWITCH_OFF
|
|
* @arg RADIO_SWITCH_RX
|
|
* @arg RADIO_SWITCH_RFO_LP
|
|
* @arg RADIO_SWITCH_RFO_HP
|
|
* @return BSP status
|
|
*/
|
|
int32_t RBI_ConfigRFSwitch(RBI_Switch_TypeDef Config);
|
|
|
|
/**
|
|
* @brief Return Board Configuration
|
|
* @retval RBI_CONF_RFO_LP_HP
|
|
* @retval RBI_CONF_RFO_LP
|
|
* @retval RBI_CONF_RFO_HP
|
|
*/
|
|
int32_t RBI_GetTxConfig(void);
|
|
|
|
/**
|
|
* @brief Get If TCXO is to be present on board
|
|
* @note never remove called by MW,
|
|
* @retval return 1 if present, 0 if not present
|
|
*/
|
|
int32_t RBI_IsTCXO(void);
|
|
|
|
/**
|
|
* @brief Get If DCDC is to be present on board
|
|
* @note never remove called by MW,
|
|
* @retval return 1 if present, 0 if not present
|
|
*/
|
|
int32_t RBI_IsDCDC(void);
|
|
|
|
/**
|
|
* @brief Return RF Output Max Power Configuration of matching circuit
|
|
* @note never remove called by MW,
|
|
* @retval return Max Power configuration of matching circuit for Low Power or High Power mode in dBm
|
|
*/
|
|
int32_t RBI_GetRFOMaxPowerConfig(RBI_RFOMaxPowerConfig_TypeDef Config);
|
|
|
|
/* USER CODE BEGIN EFP */
|
|
|
|
/* USER CODE END EFP */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* RADIO_BOARD_IF_H */
|