網路共同處理器

這個模組內含控管執行緒堆疊執行作業的函式。

摘要

Typedefs

otNcpDelegateAllowPeekPoke)(uint32_t aAddress, uint16_t aCount) typedef
bool(*
定義委派 (函式指標) 類型,以控制迅速/叫聲作業的行為。
otNcpHdlcSendCallback)(const uint8_t *aBuf, uint16_t aBufLength) typedef
int(*
系統會呼叫指標,以便傳送 HDLC 編碼 NCP 資料。

函式

otNcpHdlcInit(otInstance *aInstance, otNcpHdlcSendCallback aSendCallback)
void
根據 HDLC 框架初始化 NCP。
otNcpHdlcInitMulti(otInstance **aInstance, uint8_t aCount, otNcpHdlcSendCallback aSendCallback)
void
根據 HDLC 框架初始化 NCP。
otNcpHdlcReceive(const uint8_t *aBuf, uint16_t aBufLength)
void
是在收到 HDLC 編碼 NCP 資料後呼叫。
otNcpHdlcSendDone(void)
void
會在 NCP 傳送完成後呼叫。
otNcpPlatLogv(otLogLevel aLogLevel, otLogRegion aLogRegion, const char *aFormat, va_list aArgs)
void
使用 otNcpStreamWrite 寫入 OpenThread 記錄。
otNcpRegisterPeekPokeDelegates(otNcpDelegateAllowPeekPoke aAllowPeekDelegate, otNcpDelegateAllowPeekPoke aAllowPokeDelegate)
void
使用 NCP 模組註冊快速委派/叫出函式。
otNcpSpiInit(otInstance *aInstance)
void
根據 SPI 框架初始化 NCP。
otNcpStreamWrite(int aStreamId, const uint8_t *aDataPtr, int aDataLen)
透過特定串流將資料傳送至主機。

Typedefs

otNcpDelegateAllowPeekPoke

bool(* otNcpDelegateAllowPeekPoke)(uint32_t aAddress, uint16_t aCount)

定義委派 (函式指標) 類型,以控制迅速/叫聲作業的行為。

系統會呼叫這個委派函式,以決定是否允許預覽或叫用特定的記憶體區域。如果已啟用 NCP 支援快速瀏覽/輪輻指令,則會使用這個值。

詳細說明
參數
[in] aAddress
記憶體區域的起始位址。
[in] aCount
要窺探或叫出的位元組數。
傳回
TRUE 可讓您快速查看/叫用指定的記憶體區域,否則設為 FALSE。

otNcpHdlcSendCallback

int(* otNcpHdlcSendCallback)(const uint8_t *aBuf, uint16_t aBufLength)

系統會呼叫指標,以便傳送 HDLC 編碼 NCP 資料。

詳細說明
參數
[in] aBuf
指向有輸出的緩衝區指標。
[in] aBufLength
儲存在緩衝區中的輸出資料長度。
傳回
回呼處理的位元組數。

函式

otNcpHdlcInit

void otNcpHdlcInit(
  otInstance *aInstance,
  otNcpHdlcSendCallback aSendCallback
)

根據 HDLC 框架初始化 NCP。

詳細說明
參數
[in] aInstance
OpenThread 執行個體結構。
[in] aSendCallback
用於傳送 NCP 資料的函式指標。

otNcpHdlcInitMulti

void otNcpHdlcInitMulti(
  otInstance **aInstance,
  uint8_t aCount,
  otNcpHdlcSendCallback aSendCallback
)

根據 HDLC 框架初始化 NCP。

詳細說明
參數
[in] aInstances
OpenThread 執行個體指標陣列。
[in] aCount
陣列中的元素數量。
[in] aSendCallback
用於傳送 NCP 資料的函式指標。

otNcpHdlcReceive

void otNcpHdlcReceive(
  const uint8_t *aBuf,
  uint16_t aBufLength
)

是在收到 HDLC 編碼 NCP 資料後呼叫。

詳細說明
參數
[in] aBuf
指向緩衝區的指標。
[in] aBufLength
儲存在緩衝區中的資料長度。

otNcpHdlcSendDone

void otNcpHdlcSendDone(
  void
)

會在 NCP 傳送完成後呼叫。

otNcpPlatLogv

void otNcpPlatLogv(
  otLogLevel aLogLevel,
  otLogRegion aLogRegion,
  const char *aFormat,
  va_list aArgs
)

使用 otNcpStreamWrite 寫入 OpenThread 記錄。

詳細說明
參數
[in] aLogLevel
記錄層級。
[in] aLogRegion
記錄區域。
[in] aFormat
格式字串的指標。
[in] aArgs
符合格式的 va_list 要求。

otNcpRegisterPeekPokeDelegates

void otNcpRegisterPeekPokeDelegates(
  otNcpDelegateAllowPeekPoke aAllowPeekDelegate,
  otNcpDelegateAllowPeekPoke aAllowPokeDelegate
)

使用 NCP 模組註冊快速委派/叫出函式。

NCP 模組會呼叫委派函式,以判斷是否允許預覽或叫用特定的記憶體區域。如果委派指標設為 NULL,表示任何位址都允許預覽/叫用作業。

詳細說明
參數
[in] aAllowPeekDelegate
預覽運算的委派函式指標。
[in] aAllowPokeDelegate
輪輻運算的委派函式指標。

otNcpSpiInit

void otNcpSpiInit(
  otInstance *aInstance
)

根據 SPI 框架初始化 NCP。

詳細說明
參數
[in] aInstance
OpenThread 執行個體結構。

otNcpStreamWrite

otError otNcpStreamWrite(
  int aStreamId,
  const uint8_t *aDataPtr,
  int aDataLen
)

透過特定串流將資料傳送至主機。

嘗試使用指定的 aStreamId 將指定的資料傳送至主機。如要回報錯誤訊息、實作偵錯/診斷主控台,以及可能其他類型的資料串流,這項功能就能派上用場。

寫入內容可能完全接受或遭到拒絕。系統不會嘗試部分寫入。

詳細說明
參數
[in] aStreamId
要寫入的串流數字 ID。如果設為「0」,則預設為偵錯串流。
[in] aDataPtr
指向要在串流上傳送的資料。如果 aDataLen 不是零,這個參數就不得為空值。
[in] aDataLen
aDataPtr 中要傳送的資料位元組數。
傳回值
OT_ERROR_NONE
資料已排入佇列等待傳送至主機。
OT_ERROR_BUSY
資源不足,無法完成這項要求。這通常是暫時性狀況。
OT_ERROR_INVALID_ARGS
指定的 aStreamId 無效。

資源

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