Radio Extension#

This module includes the Silicon Labs extension to the openthread platform radio interface.

The functions in this modules provide an API that can be called from SoC or host based openthread applications.

Note

  • Many of the functions defined in this module are wrappers on top of the Silicon Labs RAIL API. For additional information on the RAIl API please refer to the Silicon Labs RAIL API Reference Guide. Those functions that are wrappers to RAIL functions include a reference to the underlying RAIL function.

Enumerations#

enum
OT_PLAT_RADIO_EXTENSION_COEX_EVENT_LO_PRI_REQUESTED
OT_PLAT_RADIO_EXTENSION_COEX_EVENT_HI_PRI_REQUESTED
OT_PLAT_RADIO_EXTENSION_COEX_EVENT_LO_PRI_DENIED
OT_PLAT_RADIO_EXTENSION_COEX_EVENT_HI_PRI_DENIED
OT_PLAT_RADIO_EXTENSION_COEX_EVENT_LO_PRI_TX_ABORTED
OT_PLAT_RADIO_EXTENSION_COEX_EVENT_HI_PRI_TX_ABORTED
OT_PLAT_RADIO_EXTENSION_COEX_EVENT_COUNT
}

This enumeration defines the coex event counters and can be used as an index into the aCoexCounters table returned in a call to otPlatRadioExtensionGetCoexCounters.

Functions#

Get the antenna diversity transmit antenna mode.

Set the antenna diversity transmit antenna mode.

Get the antenna diversity receive antenna mode.

Set the antenna diversity receive antenna mode.

Get the antenna diversity active phy state.

Get the coexistence directional priority state and pulse width.

Set the coexistence directional priority state and pulse width.

otPlatRadioExtensionGetGpioInputOverride(uint8_t aGpioIndex, bool *aEnabled)

Get the override input value of a GPIO.

otPlatRadioExtensionSetGpioInputOverride(uint8_t aGpioIndex, bool aEnabled)

Set the override input value of a GPIO.

Get the coexistence active phy state.

Get the coexistence phy select state and timeout.

Set the coexistence phy select state and timeout.

otPlatRadioExtensionGetCoexOptions(uint32_t *aPtaOptions)

Get the coexistence bitmask of features.

Set the coexistence bitmask of features.

Get the coexistence bitmask of constant PTA features that can not be modified using public APIs.

Get the coexistence enabled status.

Set the coexistence enabled status.

otPlatRadioExtensionGetRequestPwmArgs(uint8_t *aPwmReq, uint8_t *aPwmDutyCycle, uint8_t *aPwmPeriodHalfMs)

Get the coexistence PWM configuration.

otPlatRadioExtensionSetRequestPwmArgs(uint8_t aPwmReq, uint8_t aPwmDutyCycle, uint8_t aPwmPeriodHalfMs)

Set the coexistence PWM configuration.

Clear the coexistence counters.

otPlatRadioExtensionGetCoexCounters(uint8_t aNumEntries, uint32_t aCoexCounters[])

Get the coexistence counters.

Set the coexistence radio holdoff status.

otPlatRadioExtensionGetRadioCounters(efr32RadioCounters *aCounters)

Get RAIL debug counter values.

Clear the RAIL debug counters.

Enumeration Documentation#

otPlatRadioExtensionCoexEvent_t#

otPlatRadioExtensionCoexEvent_t

This enumeration defines the coex event counters and can be used as an index into the aCoexCounters table returned in a call to otPlatRadioExtensionGetCoexCounters.

Enumerator
OT_PLAT_RADIO_EXTENSION_COEX_EVENT_LO_PRI_REQUESTED

Low priority request initiated.

OT_PLAT_RADIO_EXTENSION_COEX_EVENT_HI_PRI_REQUESTED

High priority request initiated.

OT_PLAT_RADIO_EXTENSION_COEX_EVENT_LO_PRI_DENIED

Low priority request denied.

OT_PLAT_RADIO_EXTENSION_COEX_EVENT_HI_PRI_DENIED

High priority request denied.

OT_PLAT_RADIO_EXTENSION_COEX_EVENT_LO_PRI_TX_ABORTED

Low priority transmission aborted mid packet.

OT_PLAT_RADIO_EXTENSION_COEX_EVENT_HI_PRI_TX_ABORTED

High priority transmission aborted mid packet.

OT_PLAT_RADIO_EXTENSION_COEX_EVENT_COUNT

Number of coexistence events.


Definition at line 633 of file /mnt/raid/workspaces/ws.X1Vz59oix/overlay/gsdk/protocol/openthread/platform-abstraction/include/radio_extension.h

Function Documentation#

otPlatRadioExtensionGetTxAntennaMode#

otError otPlatRadioExtensionGetTxAntennaMode (uint8_t *aMode)

Get the antenna diversity transmit antenna mode.

Parameters
[out]aMode

A pointer to the location where the current transmit antenna mode will be returned. Antenna modes are defined by the RAIL sl_rail_util_antenna_mode_t enumeration.

Requires the ot_ant_div component.

See Also

  • RAIL API: sl_rail_util_ant_div_get_tx_antenna_mode()

Returns

  • Error code indicating success of the function call.


Definition at line 97 of file /mnt/raid/workspaces/ws.X1Vz59oix/overlay/gsdk/protocol/openthread/platform-abstraction/include/radio_extension.h

otPlatRadioExtensionSetTxAntennaMode#

otError otPlatRadioExtensionSetTxAntennaMode (uint8_t aMode)

Set the antenna diversity transmit antenna mode.

Parameters
[in]aMode

The antenna mode to use for transmit. Antenna modes are defined by the RAIL sl_rail_util_antenna_mode_t enumeration.

Requires the ot_ant_div component.

See Also

  • RAIL API: sl_rail_util_ant_div_set_tx_antenna_mode()

Returns

  • Error code indicating success of the function call.


Definition at line 119 of file /mnt/raid/workspaces/ws.X1Vz59oix/overlay/gsdk/protocol/openthread/platform-abstraction/include/radio_extension.h

otPlatRadioExtensionGetRxAntennaMode#

otError otPlatRadioExtensionGetRxAntennaMode (uint8_t *aMode)

Get the antenna diversity receive antenna mode.

Parameters
[out]aMode

A pointer to the location where the current receive antenna mode will be returned. Antenna modes are defined by the RAIL sl_rail_util_antenna_mode_t enumeration.

Requires the ot_ant_div component.

See Also

  • RAIL API: sl_rail_util_ant_div_get_rx_antenna_mode()

Returns

  • Error code indicating success of the function call.


Definition at line 142 of file /mnt/raid/workspaces/ws.X1Vz59oix/overlay/gsdk/protocol/openthread/platform-abstraction/include/radio_extension.h

otPlatRadioExtensionSetRxAntennaMode#

otError otPlatRadioExtensionSetRxAntennaMode (uint8_t aMode)

Set the antenna diversity receive antenna mode.

Parameters
[in]aMode

The antenna mode to use for receive. Antenna modes are defined by the RAIL sl_rail_util_antenna_mode_t enumeration.

Requires the ot_ant_div component.

See Also

  • RAIL API: sl_rail_util_ant_div_set_rx_antenna_mode()

Returns

  • Error code indicating success of the function call.


Definition at line 164 of file /mnt/raid/workspaces/ws.X1Vz59oix/overlay/gsdk/protocol/openthread/platform-abstraction/include/radio_extension.h

otPlatRadioExtensionGetActivePhy#

otError otPlatRadioExtensionGetActivePhy (uint8_t *aActivePhy)

Get the antenna diversity active phy state.

Parameters
[out]aActivePhy

A pointer to the location where the current phy state will be returned. Phy states are defined by the RAIL sl_rail_util_ieee802154_radio_config_t enumeration.

Requires the ot_ant_div component.

See Also

  • RAIL API: sl_rail_util_ieee802154_get_active_radio_config()

Returns

  • Error code indicating success of the function call.


Definition at line 187 of file /mnt/raid/workspaces/ws.X1Vz59oix/overlay/gsdk/protocol/openthread/platform-abstraction/include/radio_extension.h

otPlatRadioExtensionGetDpState#

otError otPlatRadioExtensionGetDpState (uint8_t *aDpPulse)

Get the coexistence directional priority state and pulse width.

Parameters
[out]aDpPulse

A pointer to the location where the current directional priority state will be returned. If aDpPulse is 0 then directional priority is disabled. If aDpPulse is not 0 then directional priority is enabled and the value is the pulse width in microseconds.

Requires the ot_coex component.

See Also

  • RAIL API: sl_rail_util_coex_get_directional_priority_pulse_width()

Returns

  • Error code indicating success of the function call.


Definition at line 211 of file /mnt/raid/workspaces/ws.X1Vz59oix/overlay/gsdk/protocol/openthread/platform-abstraction/include/radio_extension.h

otPlatRadioExtensionSetDpState#

otError otPlatRadioExtensionSetDpState (uint8_t aDpPulse)

Set the coexistence directional priority state and pulse width.

Parameters
[in]aDpPulse

The directional priority state to set. If aDpPulse is 0 then directional priority will be disabled. If aDpPulse is not 0 then directional priority will be enabled and the value will be the pulse width to use in microseconds.

Requires the ot_coex component.

See Also

  • RAIL API: sl_rail_util_coex_set_directional_priority_pulse_width()

Returns

  • Error code indicating success of the function call.


Definition at line 234 of file /mnt/raid/workspaces/ws.X1Vz59oix/overlay/gsdk/protocol/openthread/platform-abstraction/include/radio_extension.h

otPlatRadioExtensionGetGpioInputOverride#

otError otPlatRadioExtensionGetGpioInputOverride (uint8_t aGpioIndex, bool *aEnabled)

Get the override input value of a GPIO.

Parameters
[in]aGpioIndex

The GPIO index

  • 0x00 = Radio Holdoff GPIO index

  • 0x01 = Request GPIO index

  • 0x02 = Grant GPIO index

  • 0x03 = PHY Select index

[out]aEnabled

A pointer to the location where the boolean override input value will be returned. A TRUE value indicating the override input value is enabled, FALSE disabled. The return is inverted if the selected GPIO is active low.

Requires the ot_coex component.

See Also

  • RAIL API: sl_rail_util_coex_get_gpio_input_override()

Returns

  • Error code indicating success of the function call.


Definition at line 262 of file /mnt/raid/workspaces/ws.X1Vz59oix/overlay/gsdk/protocol/openthread/platform-abstraction/include/radio_extension.h

otPlatRadioExtensionSetGpioInputOverride#

otError otPlatRadioExtensionSetGpioInputOverride (uint8_t aGpioIndex, bool aEnabled)

Set the override input value of a GPIO.

Parameters
[in]aGpioIndex

The GPIO index

  • 0x00 = Radio Holdoff GPIO index

  • 0x01 = Request GPIO index

  • 0x02 = Grant GPIO index

  • 0x03 = PHY Select index

[in]aEnabled

The boolean override input value. A TRUE value indicating the override input value is enabled, FALSE disabled.

Requires the ot_coex component.

See Also

  • RAIL API: sl_rail_util_coex_set_gpio_input_override()

Returns

  • Error code indicating success of the function call.


Definition at line 289 of file /mnt/raid/workspaces/ws.X1Vz59oix/overlay/gsdk/protocol/openthread/platform-abstraction/include/radio_extension.h

otPlatRadioExtensionGetActiveRadio#

otError otPlatRadioExtensionGetActiveRadio (uint8_t *aActivePhy)

Get the coexistence active phy state.

Parameters
[out]aActivePhy

A pointer to the location where the current phy state will be returned. Phy states are defined by the RAIL sl_rail_util_ieee802154_radio_config_t enumeration.

Requires the ot_coex component.

See Also

  • RAIL API: sl_rail_util_ieee802154_get_active_radio_config()

Returns

  • Error code indicating success of the function call.


Definition at line 312 of file /mnt/raid/workspaces/ws.X1Vz59oix/overlay/gsdk/protocol/openthread/platform-abstraction/include/radio_extension.h

otPlatRadioExtensionGetPhySelectTimeout#

otError otPlatRadioExtensionGetPhySelectTimeout (uint8_t *aTimeout)

Get the coexistence phy select state and timeout.

Parameters
[out]aTimeout

A pointer to the location where the current phy select state will be returned. If aTimeout is 0 then phy select is disabled. If aTimeout is not 0 then phy select is enabled and the value is the timeout in milliseconds.

Requires the ot_coex component.

See Also

  • RAIL API: sl_rail_util_coex_get_phy_select_timeout()

Returns

  • Error code indicating success of the function call.


Definition at line 336 of file /mnt/raid/workspaces/ws.X1Vz59oix/overlay/gsdk/protocol/openthread/platform-abstraction/include/radio_extension.h

otPlatRadioExtensionSetPhySelectTimeout#

otError otPlatRadioExtensionSetPhySelectTimeout (uint8_t aTimeout)

Set the coexistence phy select state and timeout.

Parameters
[in]aTimeout

The phy select state to set. If aTimeout is 0 then phy select will be disabled. If aTimeout is not 0 then phy select will be enabled and the value will be the timeout to use in milliseconds.

Requires the ot_coex component.

See Also

  • RAIL API: sl_rail_util_coex_set_phy_select_timeout()

Returns

  • Error code indicating success of the function call.


Definition at line 359 of file /mnt/raid/workspaces/ws.X1Vz59oix/overlay/gsdk/protocol/openthread/platform-abstraction/include/radio_extension.h

otPlatRadioExtensionGetCoexOptions#

otError otPlatRadioExtensionGetCoexOptions (uint32_t *aPtaOptions)

Get the coexistence bitmask of features.

Parameters
[out]aPtaOptions

A pointer to the location where the coexistence feature bitmask will be returned. The feature bitmask is defined by the set of macros making up the RAIL sl_rail_util_coex_options_t type.

Requires the ot_coex component.

See Also

  • RAIL API: sl_rail_util_coex_get_options()

Returns

  • Error code indicating success of the function call.


Definition at line 382 of file /mnt/raid/workspaces/ws.X1Vz59oix/overlay/gsdk/protocol/openthread/platform-abstraction/include/radio_extension.h

otPlatRadioExtensionSetCoexOptions#

otError otPlatRadioExtensionSetCoexOptions (uint32_t aPtaOptions)

Set the coexistence bitmask of features.

Parameters
[in]aPtaOptions

The coexistence feature bitmask to set. The feature bitmask is defined by the set of macros making up the RAIL sl_rail_util_coex_options_t type.

Requires the ot_coex component.

See Also

  • RAIL API: sl_rail_util_coex_set_options()

Returns

  • Error code indicating success of the function call.


Definition at line 405 of file /mnt/raid/workspaces/ws.X1Vz59oix/overlay/gsdk/protocol/openthread/platform-abstraction/include/radio_extension.h

otPlatRadioExtensionGetCoexConstantOptions#

otError otPlatRadioExtensionGetCoexConstantOptions (uint32_t *aPtaOptions)

Get the coexistence bitmask of constant PTA features that can not be modified using public APIs.

Parameters
[out]aPtaOptions

A pointer to the location where the coexistence constant PTA feature bitmask will be returned. The feature bitmask is defined by the set of macros making up the RAIL sl_rail_util_coex_options_t type.

Requires the ot_coex component.

See Also

  • RAIL API: sl_rail_util_coex_get_constant_options()

Returns

  • Error code indicating success of the function call.


Definition at line 428 of file /mnt/raid/workspaces/ws.X1Vz59oix/overlay/gsdk/protocol/openthread/platform-abstraction/include/radio_extension.h

otPlatRadioExtensionIsCoexEnabled#

otError otPlatRadioExtensionIsCoexEnabled (bool *aPtaState)

Get the coexistence enabled status.

Parameters
[out]aPtaState

A pointer to the location where the coexistence enabled status will be returned.

Requires the ot_coex component.

See Also

  • RAIL API: sl_rail_util_coex_is_enabled()

Returns

  • Error code indicating success of the function call.


Definition at line 449 of file /mnt/raid/workspaces/ws.X1Vz59oix/overlay/gsdk/protocol/openthread/platform-abstraction/include/radio_extension.h

otPlatRadioExtensionSetCoexEnable#

otError otPlatRadioExtensionSetCoexEnable (bool aPtaState)

Set the coexistence enabled status.

Parameters
[in]aPtaState

The coexistence enabled status.

Requires the ot_coex component.

See Also

  • RAIL API: sl_rail_util_coex_set_enable()

Returns

  • Error code indicating success of the function call.


Definition at line 469 of file /mnt/raid/workspaces/ws.X1Vz59oix/overlay/gsdk/protocol/openthread/platform-abstraction/include/radio_extension.h

otPlatRadioExtensionGetRequestPwmArgs#

otError otPlatRadioExtensionGetRequestPwmArgs (uint8_t *aPwmReq, uint8_t *aPwmDutyCycle, uint8_t *aPwmPeriodHalfMs)

Get the coexistence PWM configuration.

Parameters
[out]aPwmReq

A pointer to the location where the coexistence PWM request is returned. The value is defined as a bitmap using shift values from the RAIL COEX_Req_t enumeration.

[out]aPwmDutyCycle

A pointer to the location where the coexistence PWM duty cycle value is returned.

[out]aPwmPeriodHalfMs

A pointer to the location where the coexistence PWM period half MS value is returned.

Requires the ot_coex component.

See Also

  • RAIL API: sl_rail_util_coex_get_request_pwm_args()

Returns

  • Error code indicating success of the function call.


Definition at line 497 of file /mnt/raid/workspaces/ws.X1Vz59oix/overlay/gsdk/protocol/openthread/platform-abstraction/include/radio_extension.h

otPlatRadioExtensionSetRequestPwmArgs#

otError otPlatRadioExtensionSetRequestPwmArgs (uint8_t aPwmReq, uint8_t aPwmDutyCycle, uint8_t aPwmPeriodHalfMs)

Set the coexistence PWM configuration.

Parameters
[in]aPwmReq

The coexistence PWM request. The value is defined as a bitmap using shift values from the RAIL COEX_Req_t enumeration.

[in]aPwmDutyCycle

The coexistence PWM duty cycle.

[in]aPwmPeriodHalfMs

The coexistencec PWM period half MS.

Requires the ot_coex component.

See Also

  • RAIL API: sl_rail_util_coex_set_request_pwm()

Returns

  • Error code indicating success of the function call.


Definition at line 521 of file /mnt/raid/workspaces/ws.X1Vz59oix/overlay/gsdk/protocol/openthread/platform-abstraction/include/radio_extension.h

otPlatRadioExtensionClearCoexCounters#

otError otPlatRadioExtensionClearCoexCounters (void)

Clear the coexistence counters.

Parameters
N/A

Requires the ot_coex component.

Returns

  • Error code indicating success of the function call.


Definition at line 537 of file /mnt/raid/workspaces/ws.X1Vz59oix/overlay/gsdk/protocol/openthread/platform-abstraction/include/radio_extension.h

otPlatRadioExtensionGetCoexCounters#

otError otPlatRadioExtensionGetCoexCounters (uint8_t aNumEntries, uint32_t aCoexCounters[])

Get the coexistence counters.

Parameters
[in]aNumEntries

The number of entries in aCoexCounters array where counters will be returned.

[out]aCoexCounters

A pointer to an array where the coexistence counters will be returned. See otPlatRadioExtensionCoexEvent_t which defines what coexistence counter each array element stores.

Requires the ot_coex component.

Returns

  • Error code indicating success of the function call.


Definition at line 562 of file /mnt/raid/workspaces/ws.X1Vz59oix/overlay/gsdk/protocol/openthread/platform-abstraction/include/radio_extension.h

otPlatRadioExtensionSetRadioHoldoff#

otError otPlatRadioExtensionSetRadioHoldoff (bool aEnabled)

Set the coexistence radio holdoff status.

Parameters
[in]aEnabled

The coexistence radio holdoff status.

Requires the ot_coex component.

See Also

  • RAIL API: sl_rail_util_coex_set_radio_holdoff()

Returns

  • Error code indicating success of the function call.


Definition at line 582 of file /mnt/raid/workspaces/ws.X1Vz59oix/overlay/gsdk/protocol/openthread/platform-abstraction/include/radio_extension.h

otPlatRadioExtensionGetRadioCounters#

otError otPlatRadioExtensionGetRadioCounters (efr32RadioCounters *aCounters)

Get RAIL debug counter values.

Parameters
[out]aCounters

Pointer to struct to store counter values.

Requires the ot_efr32_custom_cli component.

Returns

  • Error code indicating success of the function call.


Definition at line 666 of file /mnt/raid/workspaces/ws.X1Vz59oix/overlay/gsdk/protocol/openthread/platform-abstraction/include/radio_extension.h

otPlatRadioExtensionClearRadioCounters#

otError otPlatRadioExtensionClearRadioCounters (void)

Clear the RAIL debug counters.

Parameters
N/A

Requires the ot_efr32_custom_cli component.

Returns

  • Error code indicating success of the function call.


Definition at line 681 of file /mnt/raid/workspaces/ws.X1Vz59oix/overlay/gsdk/protocol/openthread/platform-abstraction/include/radio_extension.h