Radio Configuration#

This module includes the platform abstraction for radio configuration.

Functions#

otPlatRadioGetCaps(otInstance *aInstance)

Get the radio capabilities.

const char *
otPlatRadioGetVersionString(otInstance *aInstance)

Get the radio version string.

int8_t
otPlatRadioGetReceiveSensitivity(otInstance *aInstance)

Get the radio receive sensitivity value.

void
otPlatRadioGetIeeeEui64(otInstance *aInstance, uint8_t *aIeeeEui64)

Gets the factory-assigned IEEE EUI-64 for this interface.

void
otPlatRadioSetPanId(otInstance *aInstance, otPanId aPanId)

Set the PAN ID for address filtering.

void
otPlatRadioSetExtendedAddress(otInstance *aInstance, const otExtAddress *aExtAddress)

Set the Extended Address for address filtering.

void
otPlatRadioSetShortAddress(otInstance *aInstance, otShortAddress aShortAddress)

Set the Short Address for address filtering.

otPlatRadioGetTransmitPower(otInstance *aInstance, int8_t *aPower)

Get the radio's transmit power in dBm.

otPlatRadioSetTransmitPower(otInstance *aInstance, int8_t aPower)

Set the radio's transmit power in dBm.

otPlatRadioGetCcaEnergyDetectThreshold(otInstance *aInstance, int8_t *aThreshold)

Get the radio's CCA ED threshold in dBm measured at antenna connector per IEEE 802.15.4 - 2015 section 10.1.4.

otPlatRadioSetCcaEnergyDetectThreshold(otInstance *aInstance, int8_t aThreshold)

Set the radio's CCA ED threshold in dBm measured at antenna connector per IEEE 802.15.4 - 2015 section 10.1.4.

otPlatRadioGetFemLnaGain(otInstance *aInstance, int8_t *aGain)

Gets the external FEM's Rx LNA gain in dBm.

otPlatRadioSetFemLnaGain(otInstance *aInstance, int8_t aGain)

Sets the external FEM's Rx LNA gain in dBm.

bool
otPlatRadioGetPromiscuous(otInstance *aInstance)

Get the status of promiscuous mode.

void
otPlatRadioSetPromiscuous(otInstance *aInstance, bool aEnable)

Enable or disable promiscuous mode.

void
otPlatRadioSetMacKey(otInstance *aInstance, uint8_t aKeyIdMode, uint8_t aKeyId, const otMacKeyMaterial *aPrevKey, const otMacKeyMaterial *aCurrKey, const otMacKeyMaterial *aNextKey, otRadioKeyType aKeyType)

Update MAC keys and key index.

void
otPlatRadioSetMacFrameCounter(otInstance *aInstance, uint32_t aMacFrameCounter)

Sets the current MAC frame counter value.

void
otPlatRadioSetMacFrameCounterIfLarger(otInstance *aInstance, uint32_t aMacFrameCounter)

Sets the current MAC frame counter value only if the new given value is larger than the current value.

uint64_t
otPlatRadioGetNow(otInstance *aInstance)

Get the current estimated time (in microseconds) of the radio chip.

uint32_t
otPlatRadioGetBusSpeed(otInstance *aInstance)

Get the bus speed in bits/second between the host and the radio chip.

Function Documentation#

otPlatRadioGetCaps#

otRadioCaps otPlatRadioGetCaps (otInstance *aInstance)

Get the radio capabilities.

Parameters
[in]aInstance

The OpenThread instance structure.

Returns

  • The radio capability bit vector (see OT_RADIO_CAP_* definitions).


Definition at line 463 of file include/openthread/platform/radio.h

otPlatRadioGetVersionString#

const char * otPlatRadioGetVersionString (otInstance *aInstance)

Get the radio version string.

Parameters
[in]aInstance

The OpenThread instance structure.

This is an optional radio driver platform function. If not provided by platform radio driver, OpenThread uses the OpenThread version instead (See Also

Returns

  • A pointer to the OpenThread radio version.


Definition at line 476 of file include/openthread/platform/radio.h

otPlatRadioGetReceiveSensitivity#

int8_t otPlatRadioGetReceiveSensitivity (otInstance *aInstance)

Get the radio receive sensitivity value.

Parameters
[in]aInstance

The OpenThread instance structure.

Returns

  • The radio receive sensitivity value in dBm.


Definition at line 486 of file include/openthread/platform/radio.h

otPlatRadioGetIeeeEui64#

void otPlatRadioGetIeeeEui64 (otInstance *aInstance, uint8_t *aIeeeEui64)

Gets the factory-assigned IEEE EUI-64 for this interface.

Parameters
[in]aInstance

The OpenThread instance structure.

[out]aIeeeEui64

A pointer to the factory-assigned IEEE EUI-64.


Definition at line 495 of file include/openthread/platform/radio.h

otPlatRadioSetPanId#

void otPlatRadioSetPanId (otInstance *aInstance, otPanId aPanId)

Set the PAN ID for address filtering.

Parameters
[in]aInstance

The OpenThread instance structure.

[in]aPanId

The IEEE 802.15.4 PAN ID.


Definition at line 504 of file include/openthread/platform/radio.h

otPlatRadioSetExtendedAddress#

void otPlatRadioSetExtendedAddress (otInstance *aInstance, const otExtAddress *aExtAddress)

Set the Extended Address for address filtering.

Parameters
[in]aInstance

The OpenThread instance structure.

[in]aExtAddress

A pointer to the IEEE 802.15.4 Extended Address stored in little-endian byte order.


Definition at line 514 of file include/openthread/platform/radio.h

otPlatRadioSetShortAddress#

void otPlatRadioSetShortAddress (otInstance *aInstance, otShortAddress aShortAddress)

Set the Short Address for address filtering.

Parameters
[in]aInstance

The OpenThread instance structure.

[in]aShortAddress

The IEEE 802.15.4 Short Address.


Definition at line 523 of file include/openthread/platform/radio.h

otPlatRadioGetTransmitPower#

otError otPlatRadioGetTransmitPower (otInstance *aInstance, int8_t *aPower)

Get the radio's transmit power in dBm.

Parameters
[in]aInstance

The OpenThread instance structure.

[out]aPower

The transmit power in dBm.

Note

  • The transmit power returned will be no larger than the power specified in the max power table for the current channel.


Definition at line 539 of file include/openthread/platform/radio.h

otPlatRadioSetTransmitPower#

otError otPlatRadioSetTransmitPower (otInstance *aInstance, int8_t aPower)

Set the radio's transmit power in dBm.

Parameters
[in]aInstance

The OpenThread instance structure.

[in]aPower

The transmit power in dBm.

Note

  • The real transmit power will be no larger than the power specified in the max power table for the current channel.


Definition at line 554 of file include/openthread/platform/radio.h

otPlatRadioGetCcaEnergyDetectThreshold#

otError otPlatRadioGetCcaEnergyDetectThreshold (otInstance *aInstance, int8_t *aThreshold)

Get the radio's CCA ED threshold in dBm measured at antenna connector per IEEE 802.15.4 - 2015 section 10.1.4.

Parameters
[in]aInstance

The OpenThread instance structure.

[out]aThreshold

The CCA ED threshold in dBm.


Definition at line 567 of file include/openthread/platform/radio.h

otPlatRadioSetCcaEnergyDetectThreshold#

otError otPlatRadioSetCcaEnergyDetectThreshold (otInstance *aInstance, int8_t aThreshold)

Set the radio's CCA ED threshold in dBm measured at antenna connector per IEEE 802.15.4 - 2015 section 10.1.4.

Parameters
[in]aInstance

The OpenThread instance structure.

[in]aThreshold

The CCA ED threshold in dBm.


Definition at line 580 of file include/openthread/platform/radio.h

otPlatRadioGetFemLnaGain#

otError otPlatRadioGetFemLnaGain (otInstance *aInstance, int8_t *aGain)

Gets the external FEM's Rx LNA gain in dBm.

Parameters
[in]aInstance

The OpenThread instance structure.

[out]aGain

The external FEM's Rx LNA gain in dBm.


Definition at line 593 of file include/openthread/platform/radio.h

otPlatRadioSetFemLnaGain#

otError otPlatRadioSetFemLnaGain (otInstance *aInstance, int8_t aGain)

Sets the external FEM's Rx LNA gain in dBm.

Parameters
[in]aInstance

The OpenThread instance structure.

[in]aGain

The external FEM's Rx LNA gain in dBm.


Definition at line 605 of file include/openthread/platform/radio.h

otPlatRadioGetPromiscuous#

bool otPlatRadioGetPromiscuous (otInstance *aInstance)

Get the status of promiscuous mode.

Parameters
[in]aInstance

The OpenThread instance structure.


Definition at line 616 of file include/openthread/platform/radio.h

otPlatRadioSetPromiscuous#

void otPlatRadioSetPromiscuous (otInstance *aInstance, bool aEnable)

Enable or disable promiscuous mode.

Parameters
[in]aInstance

The OpenThread instance structure.

[in]aEnable

TRUE to enable or FALSE to disable promiscuous mode.


Definition at line 625 of file include/openthread/platform/radio.h

otPlatRadioSetMacKey#

void otPlatRadioSetMacKey (otInstance *aInstance, uint8_t aKeyIdMode, uint8_t aKeyId, const otMacKeyMaterial *aPrevKey, const otMacKeyMaterial *aCurrKey, const otMacKeyMaterial *aNextKey, otRadioKeyType aKeyType)

Update MAC keys and key index.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

[in]aKeyIdMode

The key ID mode.

[in]aKeyId

Current MAC key index.

[in]aPrevKey

A pointer to the previous MAC key.

[in]aCurrKey

A pointer to the current MAC key.

[in]aNextKey

A pointer to the next MAC key.

[in]aKeyType

Key Type used.

Is used when radio provides OT_RADIO_CAPS_TRANSMIT_SEC capability.


Definition at line 641 of file include/openthread/platform/radio.h

otPlatRadioSetMacFrameCounter#

void otPlatRadioSetMacFrameCounter (otInstance *aInstance, uint32_t aMacFrameCounter)

Sets the current MAC frame counter value.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

[in]aMacFrameCounter

The MAC frame counter value.

Is used when radio provides OT_RADIO_CAPS_TRANSMIT_SEC capability.


Definition at line 658 of file include/openthread/platform/radio.h

otPlatRadioSetMacFrameCounterIfLarger#

void otPlatRadioSetMacFrameCounterIfLarger (otInstance *aInstance, uint32_t aMacFrameCounter)

Sets the current MAC frame counter value only if the new given value is larger than the current value.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

[in]aMacFrameCounter

The MAC frame counter value.

Is used when radio provides OT_RADIO_CAPS_TRANSMIT_SEC capability.


Definition at line 669 of file include/openthread/platform/radio.h

otPlatRadioGetNow#

uint64_t otPlatRadioGetNow (otInstance *aInstance)

Get the current estimated time (in microseconds) of the radio chip.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

This microsecond timer must be a free-running timer. The timer must continue to advance with microsecond precision even when the radio is in the sleep state.

Returns

  • The current time in microseconds. UINT64_MAX when platform does not support or radio time is not ready.


Definition at line 682 of file include/openthread/platform/radio.h

otPlatRadioGetBusSpeed#

uint32_t otPlatRadioGetBusSpeed (otInstance *aInstance)

Get the bus speed in bits/second between the host and the radio chip.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

Returns

  • The bus speed in bits/second between the host and the radio chip. Return 0 when the MAC and above layer and Radio layer resides on the same chip.


Definition at line 693 of file include/openthread/platform/radio.h