多平移

這個模組包含平台抽象化機制,可支援多平移。

摘要

函式

otPlatMultipanGetActiveInstance(otInstance **aInstance)
取得目前控制電台的執行個體。
otPlatMultipanIidToInstance(uint8_t aIid)
取得與指定 IID 對應的執行個體指標。
otPlatMultipanInstanceToIid(otInstance *aInstance)
uint8_t
取得與指定 OpenThread 執行個體指標對應的 IID。
otPlatMultipanSetActiveInstance(otInstance *aInstance, bool aCompletePending)
aInstance 設為目前用來控制無線電的運作中執行個體。
otPlatMultipanSwitchoverDone(otInstance *aInstance, bool aSuccess)
void
平台已完成介面切換程序。

函式

otPlatMultipanGetActiveInstance

otError otPlatMultipanGetActiveInstance(
  otInstance **aInstance
)

取得目前控制電台的執行個體。

如果無線電功能未在所有介面上同時運作,此函式會傳回具備無線電存取權的執行個體物件。

詳細說明
參數
[out] aInstance
用於儲存有效執行個體指標的變數指標。
傳回值
OT_ERROR_NONE
已成功擷取資源。
OT_ERROR_NOT_IMPLEMENTED
作業失敗,原因是沒有電台支援。
OT_ERROR_INVALID_COMMAND
平台可同時支援所有介面。

otPlatMultipanIidToInstance

otInstance * otPlatMultipanIidToInstance(
  uint8_t aIid
)

取得與指定 IID 對應的執行個體指標。

詳細說明
參數
[in] aIid
介面的 IID。
傳回值
Instance
如果 aIid 已指派執行個體,會傳回指標,否則傳回 nullptr。

otPlatMultipanInstanceToIid

uint8_t otPlatMultipanInstanceToIid(
  otInstance *aInstance
)

取得與指定 OpenThread 執行個體指標對應的 IID。

詳細說明
參數
[in] aInstance
OpenThread 執行個體結構。
傳回值
IID
為指定執行個體,則廣播 IID 除外。

otPlatMultipanSetActiveInstance

otError otPlatMultipanSetActiveInstance(
  otInstance *aInstance,
  bool aCompletePending
)

aInstance 設為目前用來控制無線電的運作中執行個體。

您可以利用這項功能,在不支援多個介面的平行通訊的平台上選取目前使用中的執行個體。換句話說,如果有多個執行個體處於接收狀態,呼叫 otPlatMultipanSetActiveInstance 可保證將接收的執行個體設為這個例項。如果正確收到要求,此函式會傳回此函式。介面切換完成後,平台應呼叫 otPlatMultipanSwitchoverDone。如果將 aCompletePending 設為 true,切換介面可能需要更多時間。

詳細說明
參數
[in] aInstance
OpenThread 執行個體結構。
[in] aCompletePending
如果進行中的無線電作業應在介面切換 (軟切換) 前完成,則為 True,如果是強制切換,則為 false。
傳回值
OT_ERROR_NONE
已成功設定屬性。
OT_ERROR_BUSY
正在執行另一項作業,因此無法執行這項作業。
OT_ERROR_NOT_IMPLEMENTED
執行失敗,原因為執行個體不明,或是執行個體數量超過可用介面。
OT_ERROR_INVALID_COMMAND
平台可同時支援所有介面。
OT_ERROR_ALREADY
指定的介面已啟用。

otPlatMultipanSwitchoverDone

void otPlatMultipanSwitchoverDone(
  otInstance *aInstance,
  bool aSuccess
)

平台已完成介面切換程序。

如果不需要延遲,或如果某些較長的無線電作業需要先完成,在介面完全切換完成後,則應在處理 otPlatMultipanSetActiveInstance 後立即叫用。

詳細說明
參數
[in] aInstance
OpenThread 執行個體結構。
[in] aSuccess
如果成功切換介面,則為 True。如果切換失敗,則為 false。

資源

OpenThread API 參考資料主題源自原始碼,請前往 GitHub 取得。如要瞭解詳情或對說明文件做出貢獻,請參閱資源