Raw Link#

This module includes functions that control the raw link-layer configuration.

Typedefs#

typedef void(*
otLinkRawReceiveDone)(otInstance *aInstance, otRadioFrame *aFrame, otError aError)

Pointer on receipt of a IEEE 802.15.4 frame.

typedef void(*
otLinkRawTransmitDone)(otInstance *aInstance, otRadioFrame *aFrame, otRadioFrame *aAckFrame, otError aError)

Pointer on receipt of a IEEE 802.15.4 frame.

typedef void(*
otLinkRawEnergyScanDone)(otInstance *aInstance, int8_t aEnergyScanMaxRssi)

Pointer on receipt of a IEEE 802.15.4 frame.

Functions#

otLinkRawSetReceiveDone(otInstance *aInstance, otLinkRawReceiveDone aCallback)

Enables/disables the raw link-layer.

bool
otLinkRawIsEnabled(otInstance *aInstance)

Indicates whether or not the raw link-layer is enabled.

bool
otLinkRawGetPromiscuous(otInstance *aInstance)

Gets the status of promiscuous mode.

otLinkRawSetPromiscuous(otInstance *aInstance, bool aEnable)

Enables or disables promiscuous mode.

otLinkRawSetShortAddress(otInstance *aInstance, uint16_t aShortAddress)

Set the Short Address for address filtering.

otLinkRawSleep(otInstance *aInstance)

Transition the radio from Receive to Sleep.

otLinkRawReceive(otInstance *aInstance)

Transitioning the radio from Sleep to Receive.

otLinkRawGetTransmitBuffer(otInstance *aInstance)

The radio transitions from Transmit to Receive.

otLinkRawTransmit(otInstance *aInstance, otLinkRawTransmitDone aCallback)

Begins the transmit sequence on the radio.

int8_t
otLinkRawGetRssi(otInstance *aInstance)

Get the most recent RSSI measurement.

otLinkRawGetCaps(otInstance *aInstance)

Get the radio capabilities.

otLinkRawEnergyScan(otInstance *aInstance, uint8_t aScanChannel, uint16_t aScanDuration, otLinkRawEnergyScanDone aCallback)

Begins the energy scan sequence on the radio.

otLinkRawSrcMatchEnable(otInstance *aInstance, bool aEnable)

Enable/Disable source match for frame pending.

otLinkRawSrcMatchAddShortEntry(otInstance *aInstance, uint16_t aShortAddress)

Adding short address to the source match table.

otLinkRawSrcMatchAddExtEntry(otInstance *aInstance, const otExtAddress *aExtAddress)

Adding extended address to the source match table.

otLinkRawSrcMatchClearShortEntry(otInstance *aInstance, uint16_t aShortAddress)

Removing short address to the source match table.

otLinkRawSrcMatchClearExtEntry(otInstance *aInstance, const otExtAddress *aExtAddress)

Removing extended address to the source match table of the radio.

otLinkRawSrcMatchClearShortEntries(otInstance *aInstance)

Removing all the short addresses from the source match table.

otLinkRawSrcMatchClearExtEntries(otInstance *aInstance)

Removing all the extended addresses from the source match table.

otLinkRawSetMacKey(otInstance *aInstance, uint8_t aKeyIdMode, uint8_t aKeyId, const otMacKey *aPrevKey, const otMacKey *aCurrKey, const otMacKey *aNextKey)

Update MAC keys and key index.

otLinkRawSetMacFrameCounter(otInstance *aInstance, uint32_t aMacFrameCounter)

Sets the current MAC frame counter value.

otLinkRawSetMacFrameCounterIfLarger(otInstance *aInstance, uint32_t aMacFrameCounter)

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

uint64_t
otLinkRawGetRadioTime(otInstance *aInstance)

Get current platform time (64bits width) of the radio chip.

Typedef Documentation#

otLinkRawReceiveDone#

typedef void(* otLinkRawReceiveDone) (otInstance *aInstance, otRadioFrame *aFrame, otError aError) )(otInstance *aInstance, otRadioFrame *aFrame, otError aError)

Pointer on receipt of a IEEE 802.15.4 frame.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

[in]aFrame

A pointer to the received frame or NULL if the receive operation was aborted.

[in]aError

OT_ERROR_NONE when successfully received a frame. OT_ERROR_ABORT when reception was aborted and a frame was not received.


Definition at line 63 of file include/openthread/link_raw.h

otLinkRawTransmitDone#

typedef void(* otLinkRawTransmitDone) (otInstance *aInstance, otRadioFrame *aFrame, otRadioFrame *aAckFrame, otError aError) )(otInstance *aInstance, otRadioFrame *aFrame, otRadioFrame *aAckFrame, otError aError)

Pointer on receipt of a IEEE 802.15.4 frame.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

[in]aFrame

A pointer to the frame that was transmitted.

[in]aAckFrame

A pointer to the ACK frame.

[in]aError

OT_ERROR_NONE when the frame was transmitted. OT_ERROR_NO_ACK when the frame was transmitted but no ACK was received OT_ERROR_CHANNEL_ACCESS_FAILURE when the transmission could not take place due to activity on the channel. OT_ERROR_ABORT when transmission was aborted for other reasons.


Definition at line 177 of file include/openthread/link_raw.h

otLinkRawEnergyScanDone#

typedef void(* otLinkRawEnergyScanDone) (otInstance *aInstance, int8_t aEnergyScanMaxRssi) )(otInstance *aInstance, int8_t aEnergyScanMaxRssi)

Pointer on receipt of a IEEE 802.15.4 frame.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

[in]aEnergyScanMaxRssi

The maximum RSSI encountered on the scanned channel.


Definition at line 228 of file include/openthread/link_raw.h

Function Documentation#

otLinkRawSetReceiveDone#

otError otLinkRawSetReceiveDone (otInstance * aInstance, otLinkRawReceiveDone aCallback)

Enables/disables the raw link-layer.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

[in]aCallback

A pointer to a function called on receipt of a IEEE 802.15.4 frame. NULL to disable the raw-link layer.


Definition at line 77 of file include/openthread/link_raw.h

otLinkRawIsEnabled#

bool otLinkRawIsEnabled (otInstance * aInstance)

Indicates whether or not the raw link-layer is enabled.

Parameters
[in]aInstance

A pointer to an OpenThread instance.


Definition at line 88 of file include/openthread/link_raw.h

otLinkRawGetPromiscuous#

bool otLinkRawGetPromiscuous (otInstance * aInstance)

Gets the status of promiscuous mode.

Parameters
[in]aInstance

A pointer to an OpenThread instance.


Definition at line 99 of file include/openthread/link_raw.h

otLinkRawSetPromiscuous#

otError otLinkRawSetPromiscuous (otInstance * aInstance, bool aEnable)

Enables or disables promiscuous mode.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

[in]aEnable

A value to enable or disable promiscuous mode.


Definition at line 111 of file include/openthread/link_raw.h

otLinkRawSetShortAddress#

otError otLinkRawSetShortAddress (otInstance * aInstance, uint16_t aShortAddress)

Set the Short Address for address filtering.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

[in]aShortAddress

The IEEE 802.15.4 Short Address.


Definition at line 123 of file include/openthread/link_raw.h

otLinkRawSleep#

otError otLinkRawSleep (otInstance * aInstance)

Transition the radio from Receive to Sleep.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

Turn off the radio.


Definition at line 136 of file include/openthread/link_raw.h

otLinkRawReceive#

otError otLinkRawReceive (otInstance * aInstance)

Transitioning the radio from Sleep to Receive.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

Turn on the radio.


Definition at line 148 of file include/openthread/link_raw.h

otLinkRawGetTransmitBuffer#

otRadioFrame * otLinkRawGetTransmitBuffer (otInstance * aInstance)

The radio transitions from Transmit to Receive.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

Returns a pointer to the transmit buffer.

The caller forms the IEEE 802.15.4 frame in this buffer then calls otLinkRawTransmit() to request transmission.

Returns

  • A pointer to the transmit buffer or NULL if the raw link-layer isn't enabled.


Definition at line 162 of file include/openthread/link_raw.h

otLinkRawTransmit#

otError otLinkRawTransmit (otInstance * aInstance, otLinkRawTransmitDone aCallback)

Begins the transmit sequence on the radio.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

[in]aCallback

A pointer to a function called on completion of the transmission.

The caller must form the IEEE 802.15.4 frame in the buffer provided by otLinkRawGetTransmitBuffer() before requesting transmission. The channel and transmit power are also included in the otRadioFrame structure.

The transmit sequence consists of:

  1. Transitioning the radio to Transmit from Receive.

  2. Transmits the PSDU on the given channel and at the given transmit power.


Definition at line 199 of file include/openthread/link_raw.h

otLinkRawGetRssi#

int8_t otLinkRawGetRssi (otInstance * aInstance)

Get the most recent RSSI measurement.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

Returns

  • The RSSI in dBm when it is valid. 127 when RSSI is invalid.


Definition at line 209 of file include/openthread/link_raw.h

otLinkRawGetCaps#

otRadioCaps otLinkRawGetCaps (otInstance * aInstance)

Get the radio capabilities.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

Returns

  • The radio capability bit vector. The stack enables or disables some functions based on this value.


Definition at line 219 of file include/openthread/link_raw.h

otLinkRawEnergyScan#

otError otLinkRawEnergyScan (otInstance * aInstance, uint8_t aScanChannel, uint16_t aScanDuration, otLinkRawEnergyScanDone aCallback)

Begins the energy scan sequence on the radio.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

[in]aScanChannel

The channel to perform the energy scan on.

[in]aScanDuration

The duration, in milliseconds, for the channel to be scanned.

[in]aCallback

A pointer to a function called on completion of a scanned channel.


Definition at line 244 of file include/openthread/link_raw.h

otLinkRawSrcMatchEnable#

otError otLinkRawSrcMatchEnable (otInstance * aInstance, bool aEnable)

Enable/Disable source match for frame pending.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

[in]aEnable

Enable/disable source match for frame pending.


Definition at line 259 of file include/openthread/link_raw.h

otLinkRawSrcMatchAddShortEntry#

otError otLinkRawSrcMatchAddShortEntry (otInstance * aInstance, uint16_t aShortAddress)

Adding short address to the source match table.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

[in]aShortAddress

The short address to be added.


Definition at line 272 of file include/openthread/link_raw.h

otLinkRawSrcMatchAddExtEntry#

otError otLinkRawSrcMatchAddExtEntry (otInstance * aInstance, const otExtAddress * aExtAddress)

Adding extended address to the source match table.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

[in]aExtAddress

The extended address to be added.


Definition at line 285 of file include/openthread/link_raw.h

otLinkRawSrcMatchClearShortEntry#

otError otLinkRawSrcMatchClearShortEntry (otInstance * aInstance, uint16_t aShortAddress)

Removing short address to the source match table.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

[in]aShortAddress

The short address to be removed.


Definition at line 298 of file include/openthread/link_raw.h

otLinkRawSrcMatchClearExtEntry#

otError otLinkRawSrcMatchClearExtEntry (otInstance * aInstance, const otExtAddress * aExtAddress)

Removing extended address to the source match table of the radio.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

[in]aExtAddress

The extended address to be removed.


Definition at line 311 of file include/openthread/link_raw.h

otLinkRawSrcMatchClearShortEntries#

otError otLinkRawSrcMatchClearShortEntries (otInstance * aInstance)

Removing all the short addresses from the source match table.

Parameters
[in]aInstance

A pointer to an OpenThread instance.


Definition at line 322 of file include/openthread/link_raw.h

otLinkRawSrcMatchClearExtEntries#

otError otLinkRawSrcMatchClearExtEntries (otInstance * aInstance)

Removing all the extended addresses from the source match table.

Parameters
[in]aInstance

A pointer to an OpenThread instance.


Definition at line 333 of file include/openthread/link_raw.h

otLinkRawSetMacKey#

otError otLinkRawSetMacKey (otInstance * aInstance, uint8_t aKeyIdMode, uint8_t aKeyId, const otMacKey * aPrevKey, const otMacKey * aCurrKey, const otMacKey * aNextKey)

Update MAC keys and key index.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

[in]aKeyIdMode

The key ID mode.

[in]aKeyId

The key index.

[in]aPrevKey

The previous MAC key.

[in]aCurrKey

The current MAC key.

[in]aNextKey

The next MAC key.


Definition at line 349 of file include/openthread/link_raw.h

otLinkRawSetMacFrameCounter#

otError otLinkRawSetMacFrameCounter (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.

Always sets the MAC counter to the new given value aMacFrameCounter independent of the current value.


Definition at line 369 of file include/openthread/link_raw.h

otLinkRawSetMacFrameCounterIfLarger#

otError otLinkRawSetMacFrameCounterIfLarger (otInstance * aInstance, uint32_t aMacFrameCounter)

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

Parameters
[in]aInstance

A pointer to an OpenThread instance.

[in]aMacFrameCounter

The MAC frame counter value.


Definition at line 381 of file include/openthread/link_raw.h

otLinkRawGetRadioTime#

uint64_t otLinkRawGetRadioTime (otInstance * aInstance)

Get current platform time (64bits width) of the radio chip.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

Returns

  • The current radio time in microseconds.


Definition at line 391 of file include/openthread/link_raw.h