Modules#
Link#
This module includes functions that control link-layer configuration.
Enumerations#
Defines address mode of the mac filter.
Typedefs#
This structure represents link-specific information for messages received from the Thread radio.
Used to iterate through mac filter entries.
Defines address mode of the mac filter.
This structure represents a Mac Filter entry.
This structure represents the MAC layer counters.
This structure represents a received IEEE 802.15.4 Beacon.
This structure represents an energy scan result.
This function pointer is called during an IEEE 802.15.4 Active Scan when an IEEE 802.15.4 Beacon is received or the scan completes.
This function pointer is called during an IEEE 802.15.4 Energy Scan when the result for a channel is ready or the scan completes.
This function pointer is called when an IEEE 802.15.4 frame is received.
Functions#
This function starts an IEEE 802.15.4 Active Scan.
This function indicates whether or not an IEEE 802.15.4 Active Scan is currently in progress.
This function starts an IEEE 802.15.4 Energy Scan.
This function indicates whether or not an IEEE 802.15.4 Energy Scan is currently in progress.
This function enqueues an IEEE 802.15.4 Data Request message for transmission.
This function indicates whether or not an IEEE 802.15.4 MAC is in the transmit state.
Get the IEEE 802.15.4 channel.
Set the IEEE 802.15.4 channel.
Get the supported channel mask of MAC layer.
Set the supported channel mask of MAC layer.
Gets the IEEE 802.15.4 Extended Address.
Sets the IEEE 802.15.4 Extended Address.
Get the factory-assigned IEEE EUI-64.
Get the IEEE 802.15.4 PAN ID.
Set the IEEE 802.15.4 PAN ID.
Get the data poll period of sleepy end device.
Set/clear user-specified/external data poll period for sleepy end device.
Get the IEEE 802.15.4 Short Address.
This method returns the maximum number of frame retries during direct transmission.
This method sets the maximum number of frame retries during direct transmission.
This method returns the maximum number of frame retries during indirect transmission.
This method sets the maximum number of frame retries during indirect transmission.
This function gets the address mode of MAC filter.
This function sets the address mode of MAC filter.
This method adds an Extended Address to MAC filter.
This method removes an Extended Address from MAC filter.
This method clears all the Extended Addresses from MAC filter.
This method gets an in-use address filter entry.
This method adds a fixed received signal strength (in dBm) entry for the messages from a given Extended Address in MAC Filter.
This method removes a MAC Filter entry for fixed received signal strength setting for a given Extended Address.
This method sets the default received signal strength (in dBm) on MAC Filter.
This method clears any previously set default received signal strength (in dBm) on MAC Filter.
This method clears all the received signal strength entries (including default RSS-in) on MAC Filter.
This method gets an in-use RssIn filter entry.
This function enables/disables IEEE 802.15.4 radio filter mode.
This function indicates whether the IEEE 802.15.4 radio filter is enabled or not.
This method converts received signal strength to link quality.
This method converts link quality to typical received signal strength.
This method gets histogram of retries for a single direct packet until success.
This method gets histogram of retries for a single indirect packet until success.
This method clears histogram statistics for direct and indirect transmissions.
Get the MAC layer counters.
Resets the MAC layer counters.
This function registers a callback to provide received raw IEEE 802.15.4 frames.
This function indicates whether or not promiscuous mode is enabled at the link layer.
This function enables or disables the link layer promiscuous mode.
This function gets the CSL channel.
Sets the CSL channel.
This function gets the CSL period.
Sets the CSL period in units of 10 symbols.
This function gets the CSL timeout.
Sets the CSL timeout in seconds.
This function returns the current CCA (Clear Channel Assessment) failure rate.
This function enables or disables the link layer.
This function indicates whether or not the link layer is enabled.
This function instructs the device to send an empty IEEE 802.15.4 data frame.
Macros#
Time for 10 symbols in units of microseconds.
Used to indicate no fixed received signal strength was set.
Initializer for otMacFilterIterator.
Enumeration Documentation#
otMacFilterAddressMode#
otMacFilterAddressMode
Defines address mode of the mac filter.
Enumerator | |
---|---|
OT_MAC_FILTER_ADDRESS_MODE_DISABLED | Address filter is disabled. |
OT_MAC_FILTER_ADDRESS_MODE_ALLOWLIST | Allowlist address filter mode is enabled. |
OT_MAC_FILTER_ADDRESS_MODE_DENYLIST | Denylist address filter mode is enabled. |
Typedef Documentation#
otThreadLinkInfo#
typedef struct otThreadLinkInfo otThreadLinkInfo
This structure represents link-specific information for messages received from the Thread radio.
otMacFilterAddressMode#
typedef enum otMacFilterAddressMode otMacFilterAddressMode
Defines address mode of the mac filter.
otMacFilterEntry#
typedef struct otMacFilterEntry otMacFilterEntry
This structure represents a Mac Filter entry.
otMacCounters#
typedef struct otMacCounters otMacCounters
This structure represents the MAC layer counters.
otActiveScanResult#
typedef struct otActiveScanResult otActiveScanResult
This structure represents a received IEEE 802.15.4 Beacon.
otEnergyScanResult#
typedef struct otEnergyScanResult otEnergyScanResult
This structure represents an energy scan result.
otHandleActiveScanResult#
typedef void(* otHandleActiveScanResult) (otActiveScanResult *aResult, void *aContext) )(otActiveScanResult *aResult, void *aContext)
This function pointer is called during an IEEE 802.15.4 Active Scan when an IEEE 802.15.4 Beacon is received or the scan completes.
Type | Direction | Argument Name | Description |
---|---|---|---|
[in] | aResult | A valid pointer to the beacon information or NULL when the active scan completes. | |
[in] | aContext | A pointer to application-specific context. |
otHandleEnergyScanResult#
typedef void(* otHandleEnergyScanResult) (otEnergyScanResult *aResult, void *aContext) )(otEnergyScanResult *aResult, void *aContext)
This function pointer is called during an IEEE 802.15.4 Energy Scan when the result for a channel is ready or the scan completes.
Type | Direction | Argument Name | Description |
---|---|---|---|
[in] | aResult | A valid pointer to the energy scan result information or NULL when the energy scan completes. | |
[in] | aContext | A pointer to application-specific context. |
otLinkPcapCallback#
typedef void(* otLinkPcapCallback) (const otRadioFrame *aFrame, bool aIsTx, void *aContext) )(const otRadioFrame *aFrame, bool aIsTx, void *aContext)
This function pointer is called when an IEEE 802.15.4 frame is received.
Type | Direction | Argument Name | Description |
---|---|---|---|
[in] | aFrame | A pointer to the received IEEE 802.15.4 frame. | |
[in] | aIsTx | Whether this frame is transmitted, not received. | |
[in] | aContext | A pointer to application-specific context. |
Note
This callback is called after FCS processing and
aFrame
may not contain the actual FCS that was received.This callback is called before IEEE 802.15.4 security processing.
Function Documentation#
otLinkActiveScan#
otError otLinkActiveScan (otInstance * aInstance, uint32_t aScanChannels, uint16_t aScanDuration, otHandleActiveScanResult aCallback, void * aCallbackContext)
This function starts an IEEE 802.15.4 Active Scan.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
uint32_t | [in] | aScanChannels | A bit vector indicating which channels to scan (e.g. OT_CHANNEL_11_MASK). |
uint16_t | [in] | aScanDuration | The time in milliseconds to spend scanning each channel. |
otHandleActiveScanResult | [in] | aCallback | A pointer to a function called on receiving a beacon or scan completes. |
void * | [in] | aCallbackContext | A pointer to application-specific context. |
otLinkIsActiveScanInProgress#
bool otLinkIsActiveScanInProgress (otInstance * aInstance)
This function indicates whether or not an IEEE 802.15.4 Active Scan is currently in progress.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
Returns
true if an IEEE 802.15.4 Active Scan is in progress, false otherwise.
otLinkEnergyScan#
otError otLinkEnergyScan (otInstance * aInstance, uint32_t aScanChannels, uint16_t aScanDuration, otHandleEnergyScanResult aCallback, void * aCallbackContext)
This function starts an IEEE 802.15.4 Energy Scan.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
uint32_t | [in] | aScanChannels | A bit vector indicating on which channels to perform energy scan. |
uint16_t | [in] | aScanDuration | The time in milliseconds to spend scanning each channel. |
otHandleEnergyScanResult | [in] | aCallback | A pointer to a function called to pass on scan result on indicate scan completion. |
void * | [in] | aCallbackContext | A pointer to application-specific context. |
otLinkIsEnergyScanInProgress#
bool otLinkIsEnergyScanInProgress (otInstance * aInstance)
This function indicates whether or not an IEEE 802.15.4 Energy Scan is currently in progress.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
Returns
true if an IEEE 802.15.4 Energy Scan is in progress, false otherwise.
otLinkSendDataRequest#
otError otLinkSendDataRequest (otInstance * aInstance)
This function enqueues an IEEE 802.15.4 Data Request message for transmission.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
otLinkIsInTransmitState#
bool otLinkIsInTransmitState (otInstance * aInstance)
This function indicates whether or not an IEEE 802.15.4 MAC is in the transmit state.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
MAC module is in the transmit state during CSMA/CA procedure, CCA, Data, Beacon or Data Request frame transmission and receiving an ACK of a transmitted frame. MAC module is not in the transmit state during transmission of an ACK frame or a Beacon Request frame.
Returns
true if an IEEE 802.15.4 MAC is in the transmit state, false otherwise.
otLinkGetChannel#
uint8_t otLinkGetChannel (otInstance * aInstance)
Get the IEEE 802.15.4 channel.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
Returns
The IEEE 802.15.4 channel.
See Also
otLinkSetChannel#
otError otLinkSetChannel (otInstance * aInstance, uint8_t aChannel)
Set the IEEE 802.15.4 channel.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
uint8_t | [in] | aChannel | The IEEE 802.15.4 channel. |
This function succeeds only when Thread protocols are disabled. A successful call to this function invalidates the Active and Pending Operational Datasets in non-volatile memory.
See Also
otLinkGetSupportedChannelMask#
uint32_t otLinkGetSupportedChannelMask (otInstance * aInstance)
Get the supported channel mask of MAC layer.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
Returns
The supported channel mask as
uint32_t
with bit 0 (lsb) mapping to channel 0, bit 1 to channel 1, so on.
otLinkSetSupportedChannelMask#
otError otLinkSetSupportedChannelMask (otInstance * aInstance, uint32_t aChannelMask)
Set the supported channel mask of MAC layer.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
uint32_t | [in] | aChannelMask | The supported channel mask (bit 0 or lsb mapping to channel 0, and so on). |
This function succeeds only when Thread protocols are disabled.
otLinkGetExtendedAddress#
const otExtAddress * otLinkGetExtendedAddress (otInstance * aInstance)
Gets the IEEE 802.15.4 Extended Address.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
Returns
A pointer to the IEEE 802.15.4 Extended Address.
otLinkSetExtendedAddress#
otError otLinkSetExtendedAddress (otInstance * aInstance, const otExtAddress * aExtAddress)
Sets the IEEE 802.15.4 Extended Address.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
const otExtAddress * | [in] | aExtAddress | A pointer to the IEEE 802.15.4 Extended Address. |
Note
Only succeeds when Thread protocols are disabled.
otLinkGetFactoryAssignedIeeeEui64#
void otLinkGetFactoryAssignedIeeeEui64 (otInstance * aInstance, otExtAddress * aEui64)
Get the factory-assigned IEEE EUI-64.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to the OpenThread instance. |
otExtAddress * | [out] | aEui64 | A pointer to where the factory-assigned IEEE EUI-64 is placed. |
otLinkGetPanId#
otPanId otLinkGetPanId (otInstance * aInstance)
Get the IEEE 802.15.4 PAN ID.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
Returns
The IEEE 802.15.4 PAN ID.
See Also
otLinkSetPanId#
otError otLinkSetPanId (otInstance * aInstance, otPanId aPanId)
Set the IEEE 802.15.4 PAN ID.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
otPanId | [in] | aPanId | The IEEE 802.15.4 PAN ID. |
This function succeeds only when Thread protocols are disabled. A successful call to this function also invalidates the Active and Pending Operational Datasets in non-volatile memory.
See Also
otLinkGetPollPeriod#
uint32_t otLinkGetPollPeriod (otInstance * aInstance)
Get the data poll period of sleepy end device.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
Returns
The data poll period of sleepy end device in milliseconds.
See Also
otLinkSetPollPeriod#
otError otLinkSetPollPeriod (otInstance * aInstance, uint32_t aPollPeriod)
Set/clear user-specified/external data poll period for sleepy end device.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
uint32_t | [in] | aPollPeriod | data poll period in milliseconds. |
Note
This function updates only poll period of sleepy end device. To update child timeout the function
otThreadSetChildTimeout()
shall be called.Minimal non-zero value should be
OPENTHREAD_CONFIG_MAC_MINIMUM_POLL_PERIOD
(10ms). Or zero to clear user-specified poll period.User-specified value should be no more than the maximal value 0x3FFFFFF ((1 << 26) - 1) allowed, otherwise it would be clipped by the maximal value.
See Also
otLinkGetShortAddress#
otShortAddress otLinkGetShortAddress (otInstance * aInstance)
Get the IEEE 802.15.4 Short Address.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
Returns
A pointer to the IEEE 802.15.4 Short Address.
otLinkGetMaxFrameRetriesDirect#
uint8_t otLinkGetMaxFrameRetriesDirect (otInstance * aInstance)
This method returns the maximum number of frame retries during direct transmission.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
Returns
The maximum number of retries during direct transmission.
otLinkSetMaxFrameRetriesDirect#
void otLinkSetMaxFrameRetriesDirect (otInstance * aInstance, uint8_t aMaxFrameRetriesDirect)
This method sets the maximum number of frame retries during direct transmission.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
uint8_t | [in] | aMaxFrameRetriesDirect | The maximum number of retries during direct transmission. |
otLinkGetMaxFrameRetriesIndirect#
uint8_t otLinkGetMaxFrameRetriesIndirect (otInstance * aInstance)
This method returns the maximum number of frame retries during indirect transmission.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
Returns
The maximum number of retries during indirect transmission.
otLinkSetMaxFrameRetriesIndirect#
void otLinkSetMaxFrameRetriesIndirect (otInstance * aInstance, uint8_t aMaxFrameRetriesIndirect)
This method sets the maximum number of frame retries during indirect transmission.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
uint8_t | [in] | aMaxFrameRetriesIndirect | The maximum number of retries during indirect transmission. |
otLinkFilterGetAddressMode#
otMacFilterAddressMode otLinkFilterGetAddressMode (otInstance * aInstance)
This function gets the address mode of MAC filter.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
This function is available when OPENTHREAD_CONFIG_MAC_FILTER_ENABLE configuration is enabled.
Returns
the address mode.
otLinkFilterSetAddressMode#
void otLinkFilterSetAddressMode (otInstance * aInstance, otMacFilterAddressMode aMode)
This function sets the address mode of MAC filter.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
otMacFilterAddressMode | [in] | aMode | The address mode to set. |
This function is available when OPENTHREAD_CONFIG_MAC_FILTER_ENABLE configuration is enabled.
otLinkFilterAddAddress#
otError otLinkFilterAddAddress (otInstance * aInstance, const otExtAddress * aExtAddress)
This method adds an Extended Address to MAC filter.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
const otExtAddress * | [in] | aExtAddress | A pointer to the Extended Address (MUST NOT be NULL). |
This function is available when OPENTHREAD_CONFIG_MAC_FILTER_ENABLE configuration is enabled.
otLinkFilterRemoveAddress#
void otLinkFilterRemoveAddress (otInstance * aInstance, const otExtAddress * aExtAddress)
This method removes an Extended Address from MAC filter.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
const otExtAddress * | [in] | aExtAddress | A pointer to the Extended Address (MUST NOT be NULL). |
This function is available when OPENTHREAD_CONFIG_MAC_FILTER_ENABLE configuration is enabled.
No action is performed if there is no existing entry in Filter matching the given Extended Address.
otLinkFilterClearAddresses#
void otLinkFilterClearAddresses (otInstance * aInstance)
This method clears all the Extended Addresses from MAC filter.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
This function is available when OPENTHREAD_CONFIG_MAC_FILTER_ENABLE configuration is enabled.
otLinkFilterGetNextAddress#
otError otLinkFilterGetNextAddress (otInstance * aInstance, otMacFilterIterator * aIterator, otMacFilterEntry * aEntry)
This method gets an in-use address filter entry.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
otMacFilterIterator * | [inout] | aIterator | A pointer to the MAC filter iterator context. To get the first in-use address filter entry, it should be set to OT_MAC_FILTER_ITERATOR_INIT. MUST NOT be NULL. |
otMacFilterEntry * | [out] | aEntry | A pointer to where the information is placed. MUST NOT be NULL. |
This function is available when OPENTHREAD_CONFIG_MAC_FILTER_ENABLE configuration is enabled.
otLinkFilterAddRssIn#
otError otLinkFilterAddRssIn (otInstance * aInstance, const otExtAddress * aExtAddress, int8_t aRss)
This method adds a fixed received signal strength (in dBm) entry for the messages from a given Extended Address in MAC Filter.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
const otExtAddress * | [in] | aExtAddress | A pointer to the IEEE 802.15.4 Extended Address. MUST NOT be NULL. |
int8_t | [in] | aRss | A received signal strength (in dBm). |
This function is available when OPENTHREAD_CONFIG_MAC_FILTER_ENABLE configuration is enabled.
otLinkFilterRemoveRssIn#
void otLinkFilterRemoveRssIn (otInstance * aInstance, const otExtAddress * aExtAddress)
This method removes a MAC Filter entry for fixed received signal strength setting for a given Extended Address.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
const otExtAddress * | [in] | aExtAddress | A pointer to the IEEE 802.15.4 Extended Address. MUST NOT be NULL. |
This function is available when OPENTHREAD_CONFIG_MAC_FILTER_ENABLE configuration is enabled.
No action is performed if there is no existing entry in Filter matching the given Extended Address.
otLinkFilterSetDefaultRssIn#
void otLinkFilterSetDefaultRssIn (otInstance * aInstance, int8_t aRss)
This method sets the default received signal strength (in dBm) on MAC Filter.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
int8_t | [in] | aRss | The default received signal strength (in dBm) to set. |
This function is available when OPENTHREAD_CONFIG_MAC_FILTER_ENABLE configuration is enabled.
The default RSS value is used for all received frames from addresses for which there is no explicit RSS-IN entry in the Filter list (added using otLinkFilterAddRssIn()
).
otLinkFilterClearDefaultRssIn#
void otLinkFilterClearDefaultRssIn (otInstance * aInstance)
This method clears any previously set default received signal strength (in dBm) on MAC Filter.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
This function is available when OPENTHREAD_CONFIG_MAC_FILTER_ENABLE configuration is enabled.
otLinkFilterClearAllRssIn#
void otLinkFilterClearAllRssIn (otInstance * aInstance)
This method clears all the received signal strength entries (including default RSS-in) on MAC Filter.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
This function is available when OPENTHREAD_CONFIG_MAC_FILTER_ENABLE configuration is enabled.
otLinkFilterGetNextRssIn#
otError otLinkFilterGetNextRssIn (otInstance * aInstance, otMacFilterIterator * aIterator, otMacFilterEntry * aEntry)
This method gets an in-use RssIn filter entry.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
otMacFilterIterator * | [inout] | aIterator | A pointer to the MAC filter iterator context. MUST NOT be NULL. To get the first entry, it should be set to OT_MAC_FILTER_ITERATOR_INIT. |
otMacFilterEntry * | [out] | aEntry | A pointer to where the information is placed. The last entry would have the extended address as all 0xff to indicate the default received signal strength if it was set. |
This function is available when OPENTHREAD_CONFIG_MAC_FILTER_ENABLE configuration is enabled.
otLinkSetRadioFilterEnabled#
void otLinkSetRadioFilterEnabled (otInstance * aInstance, bool aFilterEnabled)
This function enables/disables IEEE 802.15.4 radio filter mode.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
bool | [in] | aFilterEnabled | TRUE to enable radio filter, FALSE to disable |
This function is available when OPENTHREAD_CONFIG_MAC_FILTER_ENABLE configuration is enabled.
The radio filter is mainly intended for testing. It can be used to temporarily block all tx/rx on the 802.15.4 radio. When radio filter is enabled, radio is put to sleep instead of receive (to ensure device does not receive any frame and/or potentially send ack). Also the frame transmission requests return immediately without sending the frame over the air (return "no ack" error if ack is requested, otherwise return success).
otLinkIsRadioFilterEnabled#
bool otLinkIsRadioFilterEnabled (otInstance * aInstance)
This function indicates whether the IEEE 802.15.4 radio filter is enabled or not.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | N/A | aInstance |
This function is available when OPENTHREAD_CONFIG_MAC_FILTER_ENABLE configuration is enabled.
otLinkConvertRssToLinkQuality#
uint8_t otLinkConvertRssToLinkQuality (otInstance * aInstance, int8_t aRss)
This method converts received signal strength to link quality.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
int8_t | [in] | aRss | The received signal strength value to be converted. |
Returns
Link quality value mapping to
aRss
.
otLinkConvertLinkQualityToRss#
int8_t otLinkConvertLinkQualityToRss (otInstance * aInstance, uint8_t aLinkQuality)
This method converts link quality to typical received signal strength.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
uint8_t | [in] | aLinkQuality | LinkQuality value, should be in range [0,3]. |
Returns
Typical platform received signal strength mapping to
aLinkQuality
.
otLinkGetTxDirectRetrySuccessHistogram#
const uint32_t * otLinkGetTxDirectRetrySuccessHistogram (otInstance * aInstance, uint8_t * aNumberOfEntries)
This method gets histogram of retries for a single direct packet until success.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
uint8_t * | [out] | aNumberOfEntries | A pointer to where the size of returned histogram array is placed. |
This function is valid when OPENTHREAD_CONFIG_MAC_RETRY_SUCCESS_HISTOGRAM_ENABLE configuration is enabled.
Returns
A pointer to the histogram of retries (in a form of an array). The n-th element indicates that the packet has been sent with n-th retry.
otLinkGetTxIndirectRetrySuccessHistogram#
const uint32_t * otLinkGetTxIndirectRetrySuccessHistogram (otInstance * aInstance, uint8_t * aNumberOfEntries)
This method gets histogram of retries for a single indirect packet until success.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
uint8_t * | [out] | aNumberOfEntries | A pointer to where the size of returned histogram array is placed. |
This function is valid when OPENTHREAD_CONFIG_MAC_RETRY_SUCCESS_HISTOGRAM_ENABLE configuration is enabled.
Returns
A pointer to the histogram of retries (in a form of an array). The n-th element indicates that the packet has been sent with n-th retry.
otLinkResetTxRetrySuccessHistogram#
void otLinkResetTxRetrySuccessHistogram (otInstance * aInstance)
This method clears histogram statistics for direct and indirect transmissions.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
This function is valid when OPENTHREAD_CONFIG_MAC_RETRY_SUCCESS_HISTOGRAM_ENABLE configuration is enabled.
otLinkGetCounters#
const otMacCounters * otLinkGetCounters (otInstance * aInstance)
Get the MAC layer counters.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
Returns
A pointer to the MAC layer counters.
otLinkResetCounters#
void otLinkResetCounters (otInstance * aInstance)
Resets the MAC layer counters.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
otLinkSetPcapCallback#
void otLinkSetPcapCallback (otInstance * aInstance, otLinkPcapCallback aPcapCallback, void * aCallbackContext)
This function registers a callback to provide received raw IEEE 802.15.4 frames.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
otLinkPcapCallback | [in] | aPcapCallback | A pointer to a function that is called when receiving an IEEE 802.15.4 link frame or NULL to disable the callback. |
void * | [in] | aCallbackContext | A pointer to application-specific context. |
otLinkIsPromiscuous#
bool otLinkIsPromiscuous (otInstance * aInstance)
This function indicates whether or not promiscuous mode is enabled at the link layer.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
otLinkSetPromiscuous#
otError otLinkSetPromiscuous (otInstance * aInstance, bool aPromiscuous)
This function enables or disables the link layer promiscuous mode.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
bool | [in] | aPromiscuous | true to enable promiscuous mode, or false otherwise. |
Note
Promiscuous mode may only be enabled when the Thread interface is disabled.
otLinkCslGetChannel#
uint8_t otLinkCslGetChannel (otInstance * aInstance)
This function gets the CSL channel.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
Returns
The CSL channel.
otLinkCslSetChannel#
otError otLinkCslSetChannel (otInstance * aInstance, uint8_t aChannel)
Sets the CSL channel.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
uint8_t | [in] | aChannel | The CSL sample channel. Channel value should be |
otLinkCslGetPeriod#
uint16_t otLinkCslGetPeriod (otInstance * aInstance)
This function gets the CSL period.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
Returns
The CSL period in units of 10 symbols.
otLinkCslSetPeriod#
otError otLinkCslSetPeriod (otInstance * aInstance, uint16_t aPeriod)
Sets the CSL period in units of 10 symbols.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
uint16_t | [in] | aPeriod | The CSL period in units of 10 symbols. |
Disable CSL by setting this parameter to 0
.
otLinkCslGetTimeout#
uint32_t otLinkCslGetTimeout (otInstance * aInstance)
This function gets the CSL timeout.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
Returns
The CSL timeout in seconds.
otLinkCslSetTimeout#
otError otLinkCslSetTimeout (otInstance * aInstance, uint32_t aTimeout)
Sets the CSL timeout in seconds.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
uint32_t | [in] | aTimeout | The CSL timeout in seconds. |
otLinkGetCcaFailureRate#
uint16_t otLinkGetCcaFailureRate (otInstance * aInstance)
This function returns the current CCA (Clear Channel Assessment) failure rate.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | N/A | aInstance |
The rate is maintained over a window of (roughly) last OPENTHREAD_CONFIG_CCA_FAILURE_RATE_AVERAGING_WINDOW
frame transmissions.
Returns
The CCA failure rate with maximum value
0xffff
corresponding to 100% failure rate.
otLinkSetEnabled#
otError otLinkSetEnabled (otInstance * aInstance, bool aEnable)
This function enables or disables the link layer.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
bool | [in] | aEnable | true to enable the link layer, or false otherwise. |
Note
The link layer may only be enabled / disabled when the Thread Interface is disabled.
otLinkIsEnabled#
bool otLinkIsEnabled (otInstance * aInstance)
This function indicates whether or not the link layer is enabled.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
otLinkSendEmptyData#
otError otLinkSendEmptyData (otInstance * aInstance)
This function instructs the device to send an empty IEEE 802.15.4 data frame.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
This function is only supported on an Rx-Off-When-Idle device to send an empty data frame to its parent. Note: available only when OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
is enabled.