nRF5 SDK for Thread v0.11.0
Typedefs | Functions
Raw Link

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

Typedefs

typedef void(OTCALLotLinkRawReceiveDone )(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
 
typedef void(* otLinkRawTransmitDone )(otInstance *aInstance, otRadioFrame *aFrame, otRadioFrame *aAckFrame, otError aError)
 
typedef void(* otLinkRawEnergyScanDone )(otInstance *aInstance, int8_t aEnergyScanMaxRssi)
 

Functions

otError otLinkRawSetEnable (otInstance *aInstance, bool aEnabled)
 
bool otLinkRawIsEnabled (otInstance *aInstance)
 
otError otLinkRawSetPanId (otInstance *aInstance, uint16_t aPanId)
 
otError otLinkRawSetExtendedAddress (otInstance *aInstance, const otExtAddress *aExtAddress)
 
otError otLinkRawSetShortAddress (otInstance *aInstance, uint16_t aShortAddress)
 
bool otLinkRawGetPromiscuous (otInstance *aInstance)
 
otError otLinkRawSetPromiscuous (otInstance *aInstance, bool aEnable)
 
otError otLinkRawSleep (otInstance *aInstance)
 
otError otLinkRawReceive (otInstance *aInstance, uint8_t aChannel, otLinkRawReceiveDone aCallback)
 
otRadioFrameotLinkRawGetTransmitBuffer (otInstance *aInstance)
 
otError otLinkRawTransmit (otInstance *aInstance, otRadioFrame *aFrame, otLinkRawTransmitDone aCallback)
 
int8_t otLinkRawGetRssi (otInstance *aInstance)
 
otRadioCaps otLinkRawGetCaps (otInstance *aInstance)
 
otError otLinkRawEnergyScan (otInstance *aInstance, uint8_t aScanChannel, uint16_t aScanDuration, otLinkRawEnergyScanDone aCallback)
 
otError otLinkRawSrcMatchEnable (otInstance *aInstance, bool aEnable)
 
otError otLinkRawSrcMatchAddShortEntry (otInstance *aInstance, const uint16_t aShortAddress)
 
otError otLinkRawSrcMatchAddExtEntry (otInstance *aInstance, const otExtAddress *aExtAddress)
 
otError otLinkRawSrcMatchClearShortEntry (otInstance *aInstance, const uint16_t aShortAddress)
 
otError otLinkRawSrcMatchClearExtEntry (otInstance *aInstance, const otExtAddress *aExtAddress)
 
otError otLinkRawSrcMatchClearShortEntries (otInstance *aInstance)
 
otError otLinkRawSrcMatchClearExtEntries (otInstance *aInstance)
 

Detailed Description

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

Typedef Documentation

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

This function pointer on receipt of a IEEE 802.15.4 frame.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in]aEnergyScanMaxRssiThe maximum RSSI encountered on the scanned channel.
typedef void(OTCALL * otLinkRawReceiveDone)(otInstance *aInstance, otRadioFrame *aFrame, otError aError)

This function pointer on receipt of a IEEE 802.15.4 frame.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in]aFrameA pointer to the received frame or NULL if the receive operation was aborted.
[in]aErrorOT_ERROR_NONE when successfully received a frame. OT_ERROR_ABORT when reception was aborted and a frame was not received.
typedef void(* otLinkRawTransmitDone)(otInstance *aInstance, otRadioFrame *aFrame, otRadioFrame *aAckFrame, otError aError)

This function pointer on receipt of a IEEE 802.15.4 frame.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in]aFrameA pointer to the frame that was transmitted.
[in]aAckFrameA pointer to the ACK frame.
[in]aErrorOT_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.

Function Documentation

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

This method begins the energy scan sequence on the radio.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in]aScanChannelThe channel to perform the energy scan on.
[in]aScanDurationThe duration, in milliseconds, for the channel to be scanned.
[in]aCallbackA pointer to a function called on completion of a scanned channel.
Return values
OT_ERROR_NONESuccessfully started scanning the channel.
OT_ERROR_NOT_IMPLEMENTEDThe radio doesn't support energy scanning.
OT_ERROR_INVALID_STATEIf the raw link-layer isn't enabled.
otRadioCaps otLinkRawGetCaps ( otInstance aInstance)

Get the radio capabilities.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
Returns
The radio capability bit vector. The stack enables or disables some functions based on this value.
bool otLinkRawGetPromiscuous ( otInstance aInstance)

This function gets the status of promiscuous mode.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
Return values
truePromiscuous mode is enabled.
falsePromiscuous mode is disabled.
int8_t otLinkRawGetRssi ( otInstance aInstance)

Get the most recent RSSI measurement.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
Returns
The RSSI in dBm when it is valid. 127 when RSSI is invalid.
otRadioFrame* otLinkRawGetTransmitBuffer ( otInstance aInstance)

The radio transitions from Transmit to Receive. This method 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.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
Returns
A pointer to the transmit buffer or NULL if the raw link-layer isn't enabled.
bool otLinkRawIsEnabled ( otInstance aInstance)

This function indicates whether or not the raw link-layer is enabled.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
Return values
trueThe raw link-layer is enabled.
falseThe raw link-layer is disabled.
otError otLinkRawReceive ( otInstance aInstance,
uint8_t  aChannel,
otLinkRawReceiveDone  aCallback 
)

Transitioning the radio from Sleep to Receive. Turn on the radio.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in]aChannelThe channel to use for receiving.
[in]aCallbackA pointer to a function called on receipt of a IEEE 802.15.4 frame.
Return values
OT_ERROR_NONESuccessfully transitioned to Receive.
OT_ERROR_INVALID_STATEThe radio was disabled or transmitting.
otError otLinkRawSetEnable ( otInstance aInstance,
bool  aEnabled 
)

This function enables/disables the raw link-layer.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in]aEnabledTRUE to enable raw link-layer, FALSE otherwise.
Return values
OT_ERROR_NONEIf the enable state was successfully set.
OT_ERROR_INVALID_STATEIf the OpenThread Ip6 interface is already enabled.
otError otLinkRawSetExtendedAddress ( otInstance aInstance,
const otExtAddress aExtAddress 
)

This function sets the IEEE 802.15.4 Extended Address.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in]aExtAddressA pointer to the IEEE 802.15.4 Extended Address.
Return values
OT_ERROR_NONEIf successful.
OT_ERROR_INVALID_STATEIf the raw link-layer isn't enabled.
otError otLinkRawSetPanId ( otInstance aInstance,
uint16_t  aPanId 
)

This function set the IEEE 802.15.4 PAN ID.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in]aPanIdThe IEEE 802.15.4 PAN ID.
Return values
OT_ERROR_NONEIf successful.
OT_ERROR_INVALID_STATEIf the raw link-layer isn't enabled.
otError otLinkRawSetPromiscuous ( otInstance aInstance,
bool  aEnable 
)

This function enables or disables promiscuous mode.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in]aEnableA value to enable or disable promiscuous mode.
Return values
OT_ERROR_NONEIf successful.
OT_ERROR_INVALID_STATEIf the raw link-layer isn't enabled.
otError otLinkRawSetShortAddress ( otInstance aInstance,
uint16_t  aShortAddress 
)

Set the Short Address for address filtering.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in]aShortAddressThe IEEE 802.15.4 Short Address.
Return values
OT_ERROR_NONEIf successful.
OT_ERROR_INVALID_STATEIf the raw link-layer isn't enabled.
otError otLinkRawSleep ( otInstance aInstance)

Transition the radio from Receive to Sleep. Turn off the radio.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
Return values
OT_ERROR_NONESuccessfully transitioned to Sleep.
OT_ERROR_BUSYThe radio was transmitting
OT_ERROR_INVALID_STATEThe radio was disabled
otError otLinkRawSrcMatchAddExtEntry ( otInstance aInstance,
const otExtAddress aExtAddress 
)

Adding extended address to the source match table.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in]aExtAddressThe extended address to be added.
Return values
OT_ERROR_NONESuccessfully added extended address to the source match table.
OT_ERROR_NO_BUFSNo available entry in the source match table.
OT_ERROR_INVALID_STATEIf the raw link-layer isn't enabled.
otError otLinkRawSrcMatchAddShortEntry ( otInstance aInstance,
const uint16_t  aShortAddress 
)

Adding short address to the source match table.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in]aShortAddressThe short address to be added.
Return values
OT_ERROR_NONESuccessfully added short address to the source match table.
OT_ERROR_NO_BUFSNo available entry in the source match table.
OT_ERROR_INVALID_STATEIf the raw link-layer isn't enabled.
otError otLinkRawSrcMatchClearExtEntries ( otInstance aInstance)

Removing all the extended addresses from the source match table.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
Return values
OT_ERROR_NONEIf successful.
OT_ERROR_INVALID_STATEIf the raw link-layer isn't enabled.
otError otLinkRawSrcMatchClearExtEntry ( otInstance aInstance,
const otExtAddress aExtAddress 
)

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

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in]aExtAddressThe extended address to be removed.
Return values
OT_ERROR_NONESuccessfully removed the extended address from the source match table.
OT_ERROR_NO_ADDRESSThe extended address is not in source match table.
OT_ERROR_INVALID_STATEIf the raw link-layer isn't enabled.
otError otLinkRawSrcMatchClearShortEntries ( otInstance aInstance)

Removing all the short addresses from the source match table.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
Return values
OT_ERROR_NONEIf successful.
OT_ERROR_INVALID_STATEIf the raw link-layer isn't enabled.
otError otLinkRawSrcMatchClearShortEntry ( otInstance aInstance,
const uint16_t  aShortAddress 
)

Removing short address to the source match table.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in]aShortAddressThe short address to be removed.
Return values
OT_ERROR_NONESuccessfully removed short address from the source match table.
OT_ERROR_NO_ADDRESSThe short address is not in source match table.
OT_ERROR_INVALID_STATEIf the raw link-layer isn't enabled.
otError otLinkRawSrcMatchEnable ( otInstance aInstance,
bool  aEnable 
)

Enable/Disable source match for AutoPend.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in]aEnableEnable/disable source match for automatical pending.
Return values
OT_ERROR_NONEIf successful.
OT_ERROR_INVALID_STATEIf the raw link-layer isn't enabled.
otError otLinkRawTransmit ( otInstance aInstance,
otRadioFrame aFrame,
otLinkRawTransmitDone  aCallback 
)

This method begins the transmit sequence on the radio.

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.
Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in]aFrameA pointer to the frame that was transmitted.
[in]aCallbackA pointer to a function called on completion of the transmission.
Return values
OT_ERROR_NONESuccessfully transitioned to Transmit.
OT_ERROR_INVALID_STATEThe radio was not in the Receive state.

Documentation feedback | Developer Zone | Subscribe | Updated