0.01.00
radio.h File Reference

This file defines the radio interface for OpenThread. More...

#include <stdint.h>
#include <openthread/types.h>

Go to the source code of this file.

Classes

struct  otRadioFrame
 This structure represents an IEEE 802.15.4 radio frame. More...
 

Typedefs

typedef enum otRadioCaps otRadioCaps
 This enum represents radio capabilities.
 
typedef struct otRadioFrame otRadioFrame
 This structure represents an IEEE 802.15.4 radio frame.
 
typedef enum otRadioState otRadioState
 This structure represents the state of a radio. More...
 

Enumerations

enum  {
  OT_RADIO_FRAME_MAX_SIZE = 127,
  OT_RADIO_CHANNEL_MIN = 11,
  OT_RADIO_CHANNEL_MAX = 26,
  OT_RADIO_SUPPORTED_CHANNELS = 0xffff << OT_RADIO_CHANNEL_MIN,
  OT_RADIO_SYMBOLS_PER_OCTET = 2,
  OT_RADIO_BIT_RATE = 250000,
  OT_RADIO_BITS_PER_OCTET = 8,
  OT_RADIO_SYMBOL_TIME = ((OT_RADIO_BITS_PER_OCTET / OT_RADIO_SYMBOLS_PER_OCTET) * 1000000) / OT_RADIO_BIT_RATE,
  OT_RADIO_LQI_NONE = 0,
  OT_RADIO_RSSI_INVALID = 127
}
 
enum  otRadioCaps {
  OT_RADIO_CAPS_NONE = 0,
  OT_RADIO_CAPS_ACK_TIMEOUT = 1,
  OT_RADIO_CAPS_ENERGY_SCAN = 2,
  OT_RADIO_CAPS_TRANSMIT_RETRIES = 4,
  OT_RADIO_CAPS_CSMA_BACKOFF = 8
}
 This enum represents radio capabilities. More...
 
enum  otRadioState {
  OT_RADIO_STATE_DISABLED = 0,
  OT_RADIO_STATE_SLEEP = 1,
  OT_RADIO_STATE_RECEIVE = 2,
  OT_RADIO_STATE_TRANSMIT = 3
}
 This structure represents the state of a radio. More...
 

Functions

void otPlatRadioGetIeeeEui64 (otInstance *aInstance, uint8_t *aIeeeEui64)
 Get the factory-assigned IEEE EUI-64 for this interface. More...
 
void otPlatRadioSetPanId (otInstance *aInstance, uint16_t aPanId)
 Set the PAN ID for address filtering. More...
 
void otPlatRadioSetExtendedAddress (otInstance *aInstance, const otExtAddress *aExtAddress)
 Set the Extended Address for address filtering. More...
 
void otPlatRadioSetShortAddress (otInstance *aInstance, uint16_t aShortAddress)
 Set the Short Address for address filtering. More...
 
otRadioState otPlatRadioGetState (otInstance *aInstance)
 Get current state of the radio. More...
 
otError otPlatRadioEnable (otInstance *aInstance)
 Enable the radio. More...
 
otError otPlatRadioDisable (otInstance *aInstance)
 Disable the radio. More...
 
bool otPlatRadioIsEnabled (otInstance *aInstance)
 Check whether radio is enabled or not. More...
 
otError otPlatRadioSleep (otInstance *aInstance)
 Transition the radio from Receive to Sleep. More...
 
otError otPlatRadioReceive (otInstance *aInstance, uint8_t aChannel)
 Transitioning the radio from Sleep to Receive. More...
 
void otPlatRadioEnableSrcMatch (otInstance *aInstance, bool aEnable)
 Enable/Disable source address match feature. More...
 
otError otPlatRadioAddSrcMatchShortEntry (otInstance *aInstance, const uint16_t aShortAddress)
 Add a short address to the source address match table. More...
 
otError otPlatRadioAddSrcMatchExtEntry (otInstance *aInstance, const otExtAddress *aExtAddress)
 Add an extended address to the source address match table. More...
 
otError otPlatRadioClearSrcMatchShortEntry (otInstance *aInstance, const uint16_t aShortAddress)
 Remove a short address from the source address match table. More...
 
otError otPlatRadioClearSrcMatchExtEntry (otInstance *aInstance, const otExtAddress *aExtAddress)
 Remove an extended address from the source address match table. More...
 
void otPlatRadioClearSrcMatchShortEntries (otInstance *aInstance)
 Clear all short addresses from the source address match table. More...
 
void otPlatRadioClearSrcMatchExtEntries (otInstance *aInstance)
 Clear all the extended/long addresses from source address match table. More...
 
void otPlatRadioReceiveDone (otInstance *aInstance, otRadioFrame *aFrame, otError aError)
 The radio driver calls this method to notify OpenThread of a received frame. More...
 
otRadioFrameotPlatRadioGetTransmitBuffer (otInstance *aInstance)
 The radio transitions from Transmit to Receive. More...
 
otError otPlatRadioTransmit (otInstance *aInstance, otRadioFrame *aFrame)
 This method begins the transmit sequence on the radio. More...
 
void otPlatRadioTxStarted (otInstance *aInstance, otRadioFrame *aFrame)
 The radio driver calls this method to notify OpenThread that the transmission has started. More...
 
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. More...
 
int8_t otPlatRadioGetRssi (otInstance *aInstance)
 Get the most recent RSSI measurement. More...
 
otRadioCaps otPlatRadioGetCaps (otInstance *aInstance)
 Get the radio capabilities. More...
 
void otPlatRadioSetDefaultTxPower (otInstance *aInstance, int8_t aPower)
 Set the radio Tx power used for auto-generated frames. More...
 
bool otPlatRadioGetPromiscuous (otInstance *aInstance)
 Get the status of promiscuous mode. More...
 
void otPlatRadioSetPromiscuous (otInstance *aInstance, bool aEnable)
 Enable or disable promiscuous mode. More...
 
void otPlatDiagRadioTransmitDone (otInstance *aInstance, otRadioFrame *aFrame, otError aError)
 The radio driver calls this method to notify OpenThread diagnostics module that the transmission has completed. More...
 
void otPlatDiagRadioReceiveDone (otInstance *aInstance, otRadioFrame *aFrame, otError aError)
 The radio driver calls this method to notify OpenThread diagnostics module of a received frame. More...
 
otError otPlatRadioEnergyScan (otInstance *aInstance, uint8_t aScanChannel, uint16_t aScanDuration)
 This method begins the energy scan sequence on the radio. More...
 
void otPlatRadioEnergyScanDone (otInstance *aInstance, int8_t aEnergyScanMaxRssi)
 The radio driver calls this method to notify OpenThread that the energy scan is complete. More...
 
int8_t otPlatRadioGetReceiveSensitivity (otInstance *aInstance)
 Get the radio receive sensitivity value. More...
 

Detailed Description

This file defines the radio interface for OpenThread.