PA power conversion functions provided to the customer as source for highest level of customization.
This file contains the curves and logic that convert PA power levels to dBm powers.
License#
Copyright 2020 Silicon Laboratories Inc. www.silabs.com
SPDX-License-Identifier: Zlib
The licensor of this software is Silicon Laboratories Inc.
This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
This notice may not be removed or altered from any source distribution.
Variables#
The curves to be used when battery voltage powers transmission.
The curves to be used when the DC-DC converter powers transmission.
Functions#
Initialize Transmit power curves.
Initialize TxPower curves.
Gets the curve that should be used for conversion functions based on the current PA configuration.
Gets the maximum power in deci-dBm that should be used for calculating the segments and to find right curve segment to convert Dbm to raw power level for a specific PA.
Initialize PA TX Curves.
Get a pointer to the TX Power Config 2.4 GHz structure.
Get a pointer to the TX Power Config Sub-GHz structure.
Get a pointer to the TX Power Config OFDM structure.
Provide a channel config change callback capable of configuring the PA correctly.
Variable Documentation#
RAIL_TxPowerCurvesVbat#
const RAIL_TxPowerCurvesConfigAlt_t RAIL_TxPowerCurvesVbat
The curves to be used when battery voltage powers transmission.
83
of file plugin/pa-conversions/pa_conversions_efr32.h
RAIL_TxPowerCurvesDcdc#
const RAIL_TxPowerCurvesConfigAlt_t RAIL_TxPowerCurvesDcdc
The curves to be used when the DC-DC converter powers transmission.
86
of file plugin/pa-conversions/pa_conversions_efr32.h
Function Documentation#
RAIL_InitTxPowerCurves#
RAIL_Status_t RAIL_InitTxPowerCurves (const RAIL_TxPowerCurvesConfig_t * config)
Initialize Transmit power curves.
[in] | config | A pointer to the custom TX power curves. |
Returns
Status code indicating success of the function call.
Deprecatedfunction is no longer supported. Must use RAIL_InitTxPowerCurvesAlt() instead.
97
of file plugin/pa-conversions/pa_conversions_efr32.h
RAIL_InitTxPowerCurvesAlt#
RAIL_Status_t RAIL_InitTxPowerCurvesAlt (const RAIL_TxPowerCurvesConfigAlt_t * config)
Initialize TxPower curves.
[in] | config | A pointer to the custom TX power curves to use. |
Returns
Status code indicating success of the function call.
105
of file plugin/pa-conversions/pa_conversions_efr32.h
RAIL_GetTxPowerCurve#
RAIL_TxPowerCurves_t const * RAIL_GetTxPowerCurve (RAIL_TxPowerMode_t mode)
Gets the curve that should be used for conversion functions based on the current PA configuration.
[in] | mode | PA mode whose curves are needed. |
Returns
A pointer to the RAIL_TxPowerCurves_t that are used for conversion functions.
Note
: If the mode is not supported by the the chip, then NULL will be returned.
117
of file plugin/pa-conversions/pa_conversions_efr32.h
RAIL_GetTxPowerCurveLimits#
RAIL_Status_t RAIL_GetTxPowerCurveLimits (RAIL_Handle_t railHandle, RAIL_TxPowerMode_t mode, RAIL_TxPower_t * maxpower, RAIL_TxPower_t * increment)
Gets the maximum power in deci-dBm that should be used for calculating the segments and to find right curve segment to convert Dbm to raw power level for a specific PA.
[in] | railHandle | A RAIL instance handle. |
[in] | mode | PA mode whose curves are needed. |
[out] | maxpower | A non-NULL pointer to memory allocated to hold the max power in deci-dBm used in calculation of curve segments. |
[out] | increment | A non-NULL pointer to memory allocated to hold the increment in deci-dBm used in calculation of curve segments. |
Returns
Status code indicating success of the function call.
For the PAs with RAIL_PaConversionAlgorithm_tRAIL_PA_ALGORITHM_PIECEWISE_LINEAR, if the curves are generated with maxPower and increment other than RAIL_TX_POWER_CURVE_DEFAULT_MAX and RAIL_TX_POWER_CURVE_DEFAULT_INCREMENT respectively, then the first RAIL_TxPowerCurveSegment_t has its maxPowerLevel equal to RAIL_TX_POWER_LEVEL_INVALID and its slope and intercept stores the maxPower and increment in deci-dBm respectively.
140
of file plugin/pa-conversions/pa_conversions_efr32.h
sl_rail_util_pa_init#
void sl_rail_util_pa_init (void )
Initialize PA TX Curves.
N/A |
148
of file plugin/pa-conversions/pa_conversions_efr32.h
sl_rail_util_pa_get_tx_power_config_2p4ghz#
RAIL_TxPowerConfig_t * sl_rail_util_pa_get_tx_power_config_2p4ghz (void )
Get a pointer to the TX Power Config 2.4 GHz structure.
N/A |
Returns
A pointer to the TX Power Config stucture.
155
of file plugin/pa-conversions/pa_conversions_efr32.h
sl_rail_util_pa_get_tx_power_config_subghz#
RAIL_TxPowerConfig_t * sl_rail_util_pa_get_tx_power_config_subghz (void )
Get a pointer to the TX Power Config Sub-GHz structure.
N/A |
Returns
A pointer to the TX Power Config stucture.
162
of file plugin/pa-conversions/pa_conversions_efr32.h
sl_rail_util_pa_get_tx_power_config_ofdm#
RAIL_TxPowerConfig_t * sl_rail_util_pa_get_tx_power_config_ofdm (void )
Get a pointer to the TX Power Config OFDM structure.
N/A |
Returns
A pointer to the TX Power Config stucture.
169
of file plugin/pa-conversions/pa_conversions_efr32.h
sl_rail_util_pa_on_channel_config_change#
void sl_rail_util_pa_on_channel_config_change (RAIL_Handle_t rail_handle, const RAIL_ChannelConfigEntry_t * entry)
Provide a channel config change callback capable of configuring the PA correctly.
[in] | rail_handle | The RAIL handle being passed into this callback. |
[in] | entry | A pointer to the channel config entry being switched to by hardware. |
179
of file plugin/pa-conversions/pa_conversions_efr32.h