Operation
This module includes the platform abstraction for radio operations.
Summary
Functions |
|
---|---|
otPlatDiagRadioReceiveDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
|
void
The radio driver calls this method to notify OpenThread diagnostics module of a received frame.
|
otPlatDiagRadioTransmitDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
|
void
The radio driver calls this method to notify OpenThread diagnostics module that the transmission has completed.
|
otPlatRadioAddSrcMatchExtEntry(otInstance *aInstance, const otExtAddress *aExtAddress)
|
Add an extended address to the source address match table.
|
otPlatRadioAddSrcMatchShortEntry(otInstance *aInstance, otShortAddress aShortAddress)
|
Add a short address to the source address match table.
|
otPlatRadioClearSrcMatchExtEntries(otInstance *aInstance)
|
void
Clear all the extended/long addresses from source address match table.
|
otPlatRadioClearSrcMatchExtEntry(otInstance *aInstance, const otExtAddress *aExtAddress)
|
Remove an extended address from the source address match table.
|
otPlatRadioClearSrcMatchShortEntries(otInstance *aInstance)
|
void
Clear all short addresses from the source address match table.
|
otPlatRadioClearSrcMatchShortEntry(otInstance *aInstance, otShortAddress aShortAddress)
|
Remove a short address from the source address match table.
|
otPlatRadioDisable(otInstance *aInstance)
|
Disable the radio.
|
otPlatRadioEnable(otInstance *aInstance)
|
Enable the radio.
|
otPlatRadioEnableSrcMatch(otInstance *aInstance, bool aEnable)
|
void
Enable/Disable source address match feature.
|
otPlatRadioEnergyScan(otInstance *aInstance, uint8_t aScanChannel, uint16_t aScanDuration)
|
Begin the energy scan sequence on the radio.
|
otPlatRadioEnergyScanDone(otInstance *aInstance, int8_t aEnergyScanMaxRssi)
|
void
The radio driver calls this method to notify OpenThread that the energy scan is complete.
|
otPlatRadioGetCoexMetrics(otInstance *aInstance, otRadioCoexMetrics *aCoexMetrics)
|
Get the radio coexistence metrics.
|
otPlatRadioGetPreferredChannelMask(otInstance *aInstance)
|
uint32_t
Get the radio preferred channel mask that the device prefers to form on.
|
otPlatRadioGetRssi(otInstance *aInstance)
|
int8_t
Get the most recent RSSI measurement.
|
otPlatRadioGetState(otInstance *aInstance)
|
Get current state of the radio.
|
otPlatRadioGetSupportedChannelMask(otInstance *aInstance)
|
uint32_t
Get the radio supported channel mask that the device is allowed to be on.
|
otPlatRadioGetTransmitBuffer(otInstance *aInstance)
|
Get the radio transmit frame buffer.
|
otPlatRadioIsCoexEnabled(otInstance *aInstance)
|
bool
Check whether radio coex is enabled or not.
|
otPlatRadioIsEnabled(otInstance *aInstance)
|
bool
Check whether radio is enabled or not.
|
otPlatRadioReceive(otInstance *aInstance, uint8_t aChannel)
|
Transition the radio from Sleep to Receive (turn on the radio).
|
otPlatRadioReceiveDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
|
void
The radio driver calls this method to notify OpenThread of a received frame.
|
otPlatRadioSetCoexEnabled(otInstance *aInstance, bool aEnabled)
|
Enable the radio coex.
|
otPlatRadioSleep(otInstance *aInstance)
|
Transition the radio from Receive to Sleep (turn off the radio).
|
otPlatRadioTransmit(otInstance *aInstance, otRadioFrame *aFrame)
|
Begin the transmit sequence on the radio.
|
otPlatRadioTxDone(otInstance *aInstance, otRadioFrame *aFrame, otRadioFrame *aAckFrame, otError aError)
|
void
The radio driver calls this function to notify OpenThread that the transmit operation has completed, providing both the transmitted frame and, if applicable, the received ack frame.
|
otPlatRadioTxStarted(otInstance *aInstance, otRadioFrame *aFrame)
|
void
The radio driver calls this method to notify OpenThread that the transmission has started.
|
Functions
otPlatDiagRadioReceiveDone
void otPlatDiagRadioReceiveDone( otInstance *aInstance, otRadioFrame *aFrame, otError aError )
The radio driver calls this method to notify OpenThread diagnostics module of a received frame.
This function is used when diagnostics is enabled.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
otPlatDiagRadioTransmitDone
void otPlatDiagRadioTransmitDone( otInstance *aInstance, otRadioFrame *aFrame, otError aError )
The radio driver calls this method to notify OpenThread diagnostics module that the transmission has completed.
This function is used when diagnostics is enabled.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
otPlatRadioAddSrcMatchExtEntry
otError otPlatRadioAddSrcMatchExtEntry( otInstance *aInstance, const otExtAddress *aExtAddress )
Add an extended address to the source address match table.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otPlatRadioAddSrcMatchShortEntry
otError otPlatRadioAddSrcMatchShortEntry( otInstance *aInstance, otShortAddress aShortAddress )
Add a short address to the source address match table.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otPlatRadioClearSrcMatchExtEntries
void otPlatRadioClearSrcMatchExtEntries( otInstance *aInstance )
Clear all the extended/long addresses from source address match table.
Details | |||
---|---|---|---|
Parameters |
|
otPlatRadioClearSrcMatchExtEntry
otError otPlatRadioClearSrcMatchExtEntry( otInstance *aInstance, const otExtAddress *aExtAddress )
Remove an extended address from the source address match table.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otPlatRadioClearSrcMatchShortEntries
void otPlatRadioClearSrcMatchShortEntries( otInstance *aInstance )
Clear all short addresses from the source address match table.
Details | |||
---|---|---|---|
Parameters |
|
otPlatRadioClearSrcMatchShortEntry
otError otPlatRadioClearSrcMatchShortEntry( otInstance *aInstance, otShortAddress aShortAddress )
Remove a short address from the source address match table.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otPlatRadioDisable
otError otPlatRadioDisable( otInstance *aInstance )
Disable the radio.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otPlatRadioEnable
otError otPlatRadioEnable( otInstance *aInstance )
Enable the radio.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otPlatRadioEnableSrcMatch
void otPlatRadioEnableSrcMatch( otInstance *aInstance, bool aEnable )
Enable/Disable source address match feature.
The source address match feature controls how the radio layer decides the "frame pending" bit for acks sent in response to data request commands from children.
If disabled, the radio layer must set the "frame pending" on all acks to data request commands.
If enabled, the radio layer uses the source address match table to determine whether to set or clear the "frame pending" bit in an ack to a data request command.
The source address match table provides the list of children for which there is a pending frame. Either a short address or an extended/long address can be added to the source address match table.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
otPlatRadioEnergyScan
otError otPlatRadioEnergyScan( otInstance *aInstance, uint8_t aScanChannel, uint16_t aScanDuration )
Begin the energy scan sequence on the radio.
This function is used when radio provides OT_RADIO_CAPS_ENERGY_SCAN capability.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
||||||
Return Values |
|
otPlatRadioEnergyScanDone
void otPlatRadioEnergyScanDone( otInstance *aInstance, int8_t aEnergyScanMaxRssi )
The radio driver calls this method to notify OpenThread that the energy scan is complete.
This function is used when radio provides OT_RADIO_CAPS_ENERGY_SCAN capability.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
otPlatRadioGetCoexMetrics
otError otPlatRadioGetCoexMetrics( otInstance *aInstance, otRadioCoexMetrics *aCoexMetrics )
Get the radio coexistence metrics.
This function is used when feature OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE is enabled.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otPlatRadioGetPreferredChannelMask
uint32_t otPlatRadioGetPreferredChannelMask( otInstance *aInstance )
Get the radio preferred channel mask that the device prefers to form on.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
The radio preferred channel mask.
|
otPlatRadioGetRssi
int8_t otPlatRadioGetRssi( otInstance *aInstance )
Get the most recent RSSI measurement.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
The RSSI in dBm when it is valid. 127 when RSSI is invalid.
|
otPlatRadioGetState
otRadioState otPlatRadioGetState( otInstance *aInstance )
Get current state of the radio.
This function is not required by OpenThread. It may be used for debugging and/or application-specific purposes.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
Current state of the radio.
|
otPlatRadioGetSupportedChannelMask
uint32_t otPlatRadioGetSupportedChannelMask( otInstance *aInstance )
Get the radio supported channel mask that the device is allowed to be on.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
The radio supported channel mask.
|
otPlatRadioGetTransmitBuffer
otRadioFrame * otPlatRadioGetTransmitBuffer( otInstance *aInstance )
Get the radio transmit frame buffer.
OpenThread forms the IEEE 802.15.4 frame in this buffer then calls otPlatRadioTransmit()
to request transmission.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
A pointer to the transmit frame buffer.
|
otPlatRadioIsCoexEnabled
bool otPlatRadioIsCoexEnabled( otInstance *aInstance )
Check whether radio coex is enabled or not.
This function is used when feature OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE is enabled.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
TRUE if the radio coex is enabled, FALSE otherwise.
|
otPlatRadioIsEnabled
bool otPlatRadioIsEnabled( otInstance *aInstance )
Check whether radio is enabled or not.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
TRUE if the radio is enabled, FALSE otherwise.
|
otPlatRadioReceive
otError otPlatRadioReceive( otInstance *aInstance, uint8_t aChannel )
Transition the radio from Sleep to Receive (turn on the radio).
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otPlatRadioReceiveDone
void otPlatRadioReceiveDone( otInstance *aInstance, otRadioFrame *aFrame, otError aError )
The radio driver calls this method to notify OpenThread of a received frame.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
otPlatRadioSetCoexEnabled
otError otPlatRadioSetCoexEnabled( otInstance *aInstance, bool aEnabled )
Enable the radio coex.
This function is used when feature OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE is enabled.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otPlatRadioSleep
otError otPlatRadioSleep( otInstance *aInstance )
Transition the radio from Receive to Sleep (turn off the radio).
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
||||||
Return Values |
|
otPlatRadioTransmit
otError otPlatRadioTransmit( otInstance *aInstance, otRadioFrame *aFrame )
Begin the transmit sequence on the radio.
The caller must form the IEEE 802.15.4 frame in the buffer provided by otPlatRadioGetTransmitBuffer()
before requesting transmission. The channel and transmit power are also included in the otRadioFrame structure.
The transmit sequence consists of:
- Transitioning the radio to Transmit from Receive.
- Transmits the psdu on the given channel and at the given transmit power.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otPlatRadioTxDone
void otPlatRadioTxDone( otInstance *aInstance, otRadioFrame *aFrame, otRadioFrame *aAckFrame, otError aError )
The radio driver calls this function to notify OpenThread that the transmit operation has completed, providing both the transmitted frame and, if applicable, the received ack frame.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameters |
|
otPlatRadioTxStarted
void otPlatRadioTxStarted( otInstance *aInstance, otRadioFrame *aFrame )
The radio driver calls this method to notify OpenThread that the transmission has started.
Details | |||||
---|---|---|---|---|---|
Parameters |
|