PA Power Conversions#

Modules#

sl_rail_pa_descriptor_t

sl_rail_tx_power_table_config_t

Variables#

The PA table to be used for transmission.

Functions#

void

Initialize PA dBm conversion for transmit.

sl_rail_util_pa_post_init(sl_rail_handle_t rail_handle, sl_rail_tx_pa_mode_t pa_mode)

Establish PA mode and related parameters from the PA configuration post sl_rail_init().

sl_rail_util_pa_get_tx_power_limits(sl_rail_handle_t rail_handle, sl_rail_tx_pa_mode_t pa_mode, sl_rail_tx_power_t *p_min_ddbm, sl_rail_tx_power_t *p_max_ddbm, sl_rail_tx_power_t *p_step_ddbm)

Get the TX PA power conversion limits for the indicated PA mode.

sl_rail_util_pa_convert_power_to_actual(sl_rail_handle_t rail_handle, sl_rail_tx_pa_mode_t pa_mode, sl_rail_tx_power_t *p_ddbm)

Convert requested power to actual power achievable for the indicated PA mode.

Returns a RAIL 2.x compatible power configuration for the default 2.4 GHz PA selection on platforms that support the 2.4 GHz band, or NULL otherise.

Returns a RAIL 2.x compatible power configuration for the default Sub-GHz PA selection on platforms that support the Sub-GHz band, or NULL otherise.

Returns a RAIL 2.x compatible power configuration for the default OFDM PA selection on platforms that support OFDM, or NULL otherise.

sl_rail_util_pa_init_tx_power_table(sl_rail_handle_t radio_handle, const sl_rail_tx_power_table_config_t *p_tx_power_table_config)

Initialize Transmit power tables.

void
sl_rail_util_pa_on_channel_config_change(sl_rail_handle_t rail_handle, const sl_rail_channel_config_entry_t *p_entry)

Provide a channel config change callback capable of configuring the PA correctly.

sl_rail_util_pa_get_power_setting_table(sl_rail_handle_t rail_handle, sl_rail_tx_power_mode_t mode, sl_rail_tx_power_t *p_min_ddbm, sl_rail_tx_power_t *p_max_ddbm, sl_rail_tx_power_t *p_step_ddbm)

Get the TX PA power setting table and related values.

Variable Documentation#

sl_rail_util_pa_tx_power_table#

const sl_rail_tx_power_table_config_t sl_rail_util_pa_tx_power_table

The PA table to be used for transmission.


Function Documentation#

sl_rail_util_pa_init#

void sl_rail_util_pa_init (void )

Initialize PA dBm conversion for transmit.

Parameters
TypeDirectionArgument NameDescription
voidN/A

sl_rail_util_pa_post_init#

sl_rail_status_t sl_rail_util_pa_post_init (sl_rail_handle_t rail_handle, sl_rail_tx_pa_mode_t pa_mode)

Establish PA mode and related parameters from the PA configuration post sl_rail_init().

Parameters
TypeDirectionArgument NameDescription
sl_rail_handle_t[in]rail_handle

A real RAIL instance handle.

sl_rail_tx_pa_mode_t[in]pa_mode

The PA mode to establish.

Returns

  • Status code indicating success of the function call.

This function should be called soon after sl_rail_init() when the application is not using the Callbacks Utility component.


sl_rail_util_pa_get_tx_power_limits#

sl_rail_status_t sl_rail_util_pa_get_tx_power_limits (sl_rail_handle_t rail_handle, sl_rail_tx_pa_mode_t pa_mode, sl_rail_tx_power_t * p_min_ddbm, sl_rail_tx_power_t * p_max_ddbm, sl_rail_tx_power_t * p_step_ddbm)

Get the TX PA power conversion limits for the indicated PA mode.

Parameters
TypeDirectionArgument NameDescription
sl_rail_handle_t[in]rail_handle

A real RAIL instance handle.

sl_rail_tx_pa_mode_t[in]pa_mode

The PA mode to use for the conversion. If this is SL_RAIL_TX_PA_MODE_INVALID then the PA mode associated with the current channel configuration is used.

sl_rail_tx_power_t *[out]p_min_ddbm

A pointer to a sl_rail_tx_power_t; may be NULL.

sl_rail_tx_power_t *[out]p_max_ddbm

A pointer to a sl_rail_tx_power_t; may be NULL.

sl_rail_tx_power_t *[out]p_step_ddbm

A pointer to a sl_rail_tx_power_t; may be NULL.

Returns

  • Status code indicating success of the function call.


sl_rail_util_pa_convert_power_to_actual#

sl_rail_status_t sl_rail_util_pa_convert_power_to_actual (sl_rail_handle_t rail_handle, sl_rail_tx_pa_mode_t pa_mode, sl_rail_tx_power_t * p_ddbm)

Convert requested power to actual power achievable for the indicated PA mode.

Parameters
TypeDirectionArgument NameDescription
sl_rail_handle_t[in]rail_handle

A real RAIL instance handle.

sl_rail_tx_pa_mode_t[in]pa_mode

The PA mode to use for the conversion. If this is SL_RAIL_TX_PA_MODE_INVALID then the PA mode associated with the current channel configuration is used.

sl_rail_tx_power_t *[inout]p_ddbm

A non-NULL pointer to the deci-dBm value to convert, which the function updates with the resulting actual power based on the power conversion algorithm for the currently selected PA when returning success.

Returns

  • Status code indicating success of the function call.

Note

  • This function does not take into account any channel configuration power restrictions.


sl_rail_util_pa_get_tx_power_config_2p4ghz#

RAIL_TxPowerConfig_t * sl_rail_util_pa_get_tx_power_config_2p4ghz (void )

Returns a RAIL 2.x compatible power configuration for the default 2.4 GHz PA selection on platforms that support the 2.4 GHz band, or NULL otherise.

Parameters
TypeDirectionArgument NameDescription
voidN/A

Returns

  • A pointer to the TX Power Config stucture.

DeprecatedThis RAIL 2.x function should be replaced in RAIL 3 by use of sl_rail_util_pa_post_init().


sl_rail_util_pa_get_tx_power_config_subghz#

RAIL_TxPowerConfig_t * sl_rail_util_pa_get_tx_power_config_subghz (void )

Returns a RAIL 2.x compatible power configuration for the default Sub-GHz PA selection on platforms that support the Sub-GHz band, or NULL otherise.

Parameters
TypeDirectionArgument NameDescription
voidN/A

Returns

  • A pointer to the TX Power Config stucture.

DeprecatedThis RAIL 2.x function should be replaced in RAIL 3 by use of sl_rail_util_pa_post_init().


sl_rail_util_pa_get_tx_power_config_ofdm#

RAIL_TxPowerConfig_t * sl_rail_util_pa_get_tx_power_config_ofdm (void )

Returns a RAIL 2.x compatible power configuration for the default OFDM PA selection on platforms that support OFDM, or NULL otherise.

Parameters
TypeDirectionArgument NameDescription
voidN/A

Returns

  • A pointer to the TX Power Config stucture.

DeprecatedThis RAIL 2.x function should be replaced in RAIL 3 by use of sl_rail_util_pa_post_init().


sl_rail_util_pa_init_tx_power_table#

sl_rail_status_t sl_rail_util_pa_init_tx_power_table (sl_rail_handle_t radio_handle, const sl_rail_tx_power_table_config_t * p_tx_power_table_config)

Initialize Transmit power tables.

Parameters
TypeDirectionArgument NameDescription
sl_rail_handle_t[in]radio_handle

A radio-generic RAIL handle.

const sl_rail_tx_power_table_config_t *[in]p_tx_power_table_config

A pointer to the TX power table to use.

Returns

  • Status code indicating success of the function call.


sl_rail_util_pa_on_channel_config_change#

void sl_rail_util_pa_on_channel_config_change (sl_rail_handle_t rail_handle, const sl_rail_channel_config_entry_t * p_entry)

Provide a channel config change callback capable of configuring the PA correctly.

Parameters
TypeDirectionArgument NameDescription
sl_rail_handle_t[in]rail_handle

The real RAIL handle being passed into this callback.

const sl_rail_channel_config_entry_t *[in]p_entry

A pointer to the channel config entry being switched to by hardware.


sl_rail_util_pa_get_power_setting_table#

const sl_rail_pa_power_setting_t * sl_rail_util_pa_get_power_setting_table (sl_rail_handle_t rail_handle, sl_rail_tx_power_mode_t mode, sl_rail_tx_power_t * p_min_ddbm, sl_rail_tx_power_t * p_max_ddbm, sl_rail_tx_power_t * p_step_ddbm)

Get the TX PA power setting table and related values.

Parameters
TypeDirectionArgument NameDescription
sl_rail_handle_t[in]rail_handle

A real RAIL instance handle.

sl_rail_tx_power_mode_t[in]mode

PA mode for which to get the powersetting table.

sl_rail_tx_power_t *[out]p_min_ddbm

A pointer to a sl_rail_tx_power_t.

sl_rail_tx_power_t *[out]p_max_ddbm

A pointer to a sl_rail_tx_power_t.

sl_rail_tx_power_t *[out]p_step_ddbm

A pointer to a sl_rail_tx_power_t.

Returns

  • Power setting table start address. When NULL is returned all out params above won't be set.

The number of entries in the table can be calculated based on output *p_min_ddbm, *p_max_ddbm, and *p_step_ddbm parameters. For example, for *p_min_ddbm = 115 (11.5 dBm), *p_max_ddbm = 300 (30 dBm), and *p_step_ddbm = 1, the number of entries in table would be 186.