收音機設定

這個模組包含無線電設定的平台抽象化。

摘要

函式

otPlatRadioGetBusSpeed(otInstance *aInstance)
uint32_t
取得主機和無線電晶片之間的每秒傳輸速度 (以秒為單位)。
otPlatRadioGetCaps(otInstance *aInstance)
取得電台功能。
otPlatRadioGetCcaEnergyDetectThreshold(otInstance *aInstance, int8_t *aThreshold)
根據 IEEE 802.15.4 - 2015 第 10.1.4 部分在天線連接器上測量的在 dBm 中進行電平的 CCA ED 閾值。
otPlatRadioGetFemLnaGain(otInstance *aInstance, int8_t *aGain)
取得外部 FEM 的 RX LNA 增益,單位為 dBm。
otPlatRadioGetIeeeEui64(otInstance *aInstance, uint8_t *aIeeeEui64)
void
取得這個介面的出廠 IEEE EUI-64。
otPlatRadioGetNow(otInstance *aInstance)
uint64_t
取得無線電晶片目前的預估時間 (以微秒為單位)。
otPlatRadioGetPromiscuous(otInstance *aInstance)
bool
取得精簡模式的狀態。
otPlatRadioGetReceiveSensitivity(otInstance *aInstance)
int8_t
取得電台接收靈敏度值。
otPlatRadioGetTransmitPower(otInstance *aInstance, int8_t *aPower)
取得收音機的傳輸功率 (dBm)。
otPlatRadioGetVersionString(otInstance *aInstance)
const char *
取得電台版本字串。
otPlatRadioSetCcaEnergyDetectThreshold(otInstance *aInstance, int8_t aThreshold)
根據 IEEE 802.15.4 - 2015 第 10.1.4 部分在天線連接器上測量的 dBm 中的電台 CCA ED 閾值設置。
otPlatRadioSetExtendedAddress(otInstance *aInstance, const otExtAddress *aExtAddress)
void
設定地址擴展地址。
otPlatRadioSetFemLnaGain(otInstance *aInstance, int8_t aGain)
設定外部 FEM 的 Rx LNA 增益 (dBm)。
otPlatRadioSetMacFrameCounter(otInstance *aInstance, uint32_t aMacFrameCounter)
void
這個方法會設定目前的 MAC 頁框計數器值。
otPlatRadioSetMacKey(otInstance *aInstance, uint8_t aKeyIdMode, uint8_t aKeyId, const otMacKeyMaterial *aPrevKey, const otMacKeyMaterial *aCurrKey, const otMacKeyMaterial *aNextKey, otRadioKeyType aKeyType)
void
更新 MAC 鍵和金鑰索引。
otPlatRadioSetPanId(otInstance *aInstance, otPanId aPanId)
void
設定用於篩選地址的永久帳號。
otPlatRadioSetPromiscuous(otInstance *aInstance, bool aEnable)
void
啟用或停用精簡模式。
otPlatRadioSetShortAddress(otInstance *aInstance, otShortAddress aShortAddress)
void
設定位址位址的短位址。
otPlatRadioSetTransmitPower(otInstance *aInstance, int8_t aPower)
設定收音機的傳輸功率 (dBm)。

函式

otPlatRadioGetBusSpeed

uint32_t otPlatRadioGetBusSpeed(
  otInstance *aInstance
)

取得主機和無線電晶片之間的每秒傳輸速度 (以秒為單位)。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
主機和無線電晶片之間的匯流速度,以秒為單位。如果 MAC 以上的圖層和「Radio」圖層位於相同晶片,則傳回「0」。

otPlatRadioGetCap

otRadioCaps otPlatRadioGetCaps(
  otInstance *aInstance
)

取得電台功能。

詳情
參數
[in] aInstance
OpenThread 執行個體結構。
傳回
無線電功能位元向量 (請參閱 OT_RADIO_CAP_* 定義)。

otPlatRadioGetCcaEnergyDetectThreshold

otError otPlatRadioGetCcaEnergyDetectThreshold(
  otInstance *aInstance,
  int8_t *aThreshold
)

根據 IEEE 802.15.4 - 2015 第 10.1.4 部分在天線連接器上測量的在 dBm 中進行電平的 CCA ED 閾值。

詳情
參數
[in] aInstance
OpenThread 執行個體結構。
[out] aThreshold
dAm 的 CCA ED 門檻。
傳回值
OT_ERROR_NONE
已成功擷取 CCA ED 門檻。
OT_ERROR_INVALID_ARGS
aThreshold」為 NULL。
OT_ERROR_NOT_IMPLEMENTED
未導入透過 dBm 的 CCA ED 門檻設定。

otPlatRadioGetFemLnaGet

otError otPlatRadioGetFemLnaGain(
  otInstance *aInstance,
  int8_t *aGain
)

取得外部 FEM 的 RX LNA 增益,單位為 dBm。

詳情
參數
[in] aInstance
OpenThread 執行個體結構。
[out] aGain
外部 FEM 的 Rx LNA 增益以 dBm 為單位。
傳回值
OT_ERROR_NONE
已成功擷取外部 FEM 的 LNA 增益。
OT_ERROR_INVALID_ARGS
aGain」為 NULL。
OT_ERROR_NOT_IMPLEMENTED
未導入外部 FEM 的 LNA 設定。

otPlatRadioGetIeeeEui64

void otPlatRadioGetIeeeEui64(
  otInstance *aInstance,
  uint8_t *aIeeeEui64
)

取得這個介面的出廠 IEEE EUI-64。

詳情
參數
[in] aInstance
OpenThread 執行個體結構。
[out] aIeeeEui64
指向 IEEE EUI-64 工廠的指標。

otPlatRadioGetNow

uint64_t otPlatRadioGetNow(
  otInstance *aInstance
)

取得無線電晶片目前的預估時間 (以微秒為單位)。

這個微秒計時器必須為執行中的計時器。即使收音機處於休眠狀態,計時器仍須以微秒的精確度為前提。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
目前時間 (以微秒為單位)。UINT64_MAX。

otPlatRadioGetPromiscuous

bool otPlatRadioGetPromiscuous(
  otInstance *aInstance
)

取得精簡模式的狀態。

詳情
參數
[in] aInstance
OpenThread 執行個體結構。
傳回值
TRUE
已啟用精簡模式。
FALSE
已停用精簡模式。

otPlatRadioGetReceiveSensitivity

int8_t otPlatRadioGetReceiveSensitivity(
  otInstance *aInstance
)

取得電台接收靈敏度值。

詳情
參數
[in] aInstance
OpenThread 執行個體結構。
傳回
收音機接收的靈敏度值是 dBm。

otPlatRadioGetTransmitPower

otError otPlatRadioGetTransmitPower(
  otInstance *aInstance,
  int8_t *aPower
)

取得收音機的傳輸功率 (dBm)。

詳情
參數
[in] aInstance
OpenThread 執行個體結構。
[out] aPower
傳輸功率,單位為 dBm。
傳回值
OT_ERROR_NONE
已成功擷取傳輸功率。
OT_ERROR_INVALID_ARGS
aPower」為 NULL。
OT_ERROR_NOT_IMPLEMENTED
未執行透過 dBm 傳輸電源設定。

otPlatRadioGetVersionString

const char * otPlatRadioGetVersionString(
  otInstance *aInstance
)

取得電台版本字串。

這是選用的無線電驅動程式平台功能。如果平台廣播驅動程式沒有提供,OpenThread 就會改用 OpenThread 版本 (

詳情
參數
[in] aInstance
OpenThread 執行個體結構。
傳回
適用於 OpenThread 電台版本的指標。
另請參閱:
otGetVersionString())。

otPlatRadioSetCcaEnergyDetectThreshold

otError otPlatRadioSetCcaEnergyDetectThreshold(
  otInstance *aInstance,
  int8_t aThreshold
)

根據 IEEE 802.15.4 - 2015 第 10.1.4 部分在天線連接器上測量的 dBm 中的電台 CCA ED 閾值設置。

詳情
參數
[in] aInstance
OpenThread 執行個體結構。
[in] aThreshold
dAm 的 CCA ED 門檻。
傳回值
OT_ERROR_NONE
成功設定傳輸功率。
OT_ERROR_INVALID_ARGS
指定門檻超出範圍。
OT_ERROR_NOT_IMPLEMENTED
未導入透過 dBm 的 CCA ED 門檻設定。

otPlatRadioSetExtendedAddress

void otPlatRadioSetExtendedAddress(
  otInstance *aInstance,
  const otExtAddress *aExtAddress
)

設定地址擴展地址。

詳情
參數
[in] aInstance
OpenThread 執行個體結構。
[in] aExtAddress
一個指向 IEEE 802.15.4 擴展地址的指標,以小端數字數順序存儲。

otPlatRadioSetFemLna 取得

otError otPlatRadioSetFemLnaGain(
  otInstance *aInstance,
  int8_t aGain
)

設定外部 FEM 的 Rx LNA 增益 (dBm)。

詳情
參數
[in] aInstance
OpenThread 執行個體結構。
[in] aGain
外部 FEM 的 Rx LNA 增益以 dBm 為單位。
傳回值
OT_ERROR_NONE
已成功設定外部 FEM 的 LNA 增益。
OT_ERROR_NOT_IMPLEMENTED
未導入外部 FEM 的 LNA 增益設定。

otPlatRadioSetMacFrameCounter

void otPlatRadioSetMacFrameCounter(
  otInstance *aInstance,
  uint32_t aMacFrameCounter
)

這個方法會設定目前的 MAC 頁框計數器值。

如果電台提供 OT_RADIO_CAPS_TRANSMIT_SEC 功能,系統就會使用這個函式。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aMacFrameCounter
MAC 畫面計數器值。

otPlatRadioSetMacKey

void otPlatRadioSetMacKey(
  otInstance *aInstance,
  uint8_t aKeyIdMode,
  uint8_t aKeyId,
  const otMacKeyMaterial *aPrevKey,
  const otMacKeyMaterial *aCurrKey,
  const otMacKeyMaterial *aNextKey,
  otRadioKeyType aKeyType
)

更新 MAC 鍵和金鑰索引。

如果電台提供 OT_RADIO_CAPS_TRANSMIT_SEC 功能,系統就會使用這個函式。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aKeyIdMode
金鑰 ID 模式。
[in] aKeyId
目前的 MAC 索引索引。
[in] aPrevKey
指向先前 MAC 金鑰的指標。
[in] aCurrKey
目前 MAC 金鑰的指標。
[in] aNextKey
指向下一個 MAC 金鑰的指標。
[in] aKeyType
已使用的金鑰類型。

otPlatRadioSetPanId

void otPlatRadioSetPanId(
  otInstance *aInstance,
  otPanId aPanId
)

設定用於篩選地址的永久帳號。

詳情
參數
[in] aInstance
OpenThread 執行個體結構。
[in] aPanId
IEEE 802.15.4 PAN ID。

otPlatRadioSetPromiscuous

void otPlatRadioSetPromiscuous(
  otInstance *aInstance,
  bool aEnable
)

啟用或停用精簡模式。

詳情
參數
[in] aInstance
OpenThread 執行個體結構。
[in] aEnable
TRUE 可啟用,設為 FALSE 則可停用不透明模式。

otPlatRadioSetShortAddress

void otPlatRadioSetShortAddress(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

設定位址位址的短位址。

詳情
參數
[in] aInstance
OpenThread 執行個體結構。
[in] aShortAddress
IEEE 802.15.4 短地址。

TEPRadioRadioTransTransmitPower

otError otPlatRadioSetTransmitPower(
  otInstance *aInstance,
  int8_t aPower
)

設定收音機的傳輸功率 (dBm)。

詳情
參數
[in] aInstance
OpenThread 執行個體結構。
[in] aPower
傳輸功率,單位為 dBm。
傳回值
OT_ERROR_NONE
成功設定傳輸功率。
OT_ERROR_NOT_IMPLEMENTED
未執行透過 dBm 傳輸電源設定。

資源

OpenThread API 參考主題源自原始碼,可從 GitHub 取得。如要瞭解詳情或參閱說明文件,請參閱資源