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 time in microseconds referenced to a continuous monotonic local radio clock (64 bits width).

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 477 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 490 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 500 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 509 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 518 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 528 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 537 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 553 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 568 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 581 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 594 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 607 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 619 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 630 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 639 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 655 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 672 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 683 of file include/openthread/platform/radio.h

otPlatRadioGetNow#

uint64_t otPlatRadioGetNow (otInstance *aInstance)

Get the current time in microseconds referenced to a continuous monotonic local radio clock (64 bits width).

Parameters
[in]aInstance

A pointer to an OpenThread instance.

The radio clock SHALL NOT wrap during the device's uptime. Implementations SHALL therefore identify and compensate for internal counter overflows. The clock does not have a defined epoch and it SHALL NOT introduce any continuous or discontinuous adjustments (e.g. leap seconds). Implementations SHALL compensate for any sleep times of the device.

Implementations MAY choose to discipline the radio clock and compensate for sleep times by any means (e.g. by combining a high precision/low power RTC with a high resolution counter) as long as the exposed combined clock provides continuous monotonic microsecond resolution ticks within the accuracy limits announced by otPlatRadioGetCslAccuracy.

Returns

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


Definition at line 707 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 718 of file include/openthread/platform/radio.h