Jam 偵測

這個模組包含信號幹擾偵測功能的功能。

摘要

啟用 Jam 偵測功能 (OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE) 時,才能使用這個模組中的函式。

Typedefs

otJamDetectionCallback)(bool aJamState, void *aContext) typedef
void(*
如果已啟用信號幹擾偵測功能且偵測到 Jam,系統會呼叫指標。

函式

otJamDetectionGetBusyPeriod(otInstance *aInstance)
uint8_t
取得 Jam 偵測忙碌期 (以秒為單位)
otJamDetectionGetHistoryBitmap(otInstance *aInstance)
uint64_t
取得目前的記錄點陣圖。
otJamDetectionGetRssiThreshold(otInstance *aInstance)
int8_t
取得 Jam 偵測 RSSI 門檻 (以 dBm 為單位)。
otJamDetectionGetState(otInstance *aInstance)
bool
取得 Jam 偵測狀態。
otJamDetectionGetWindow(otInstance *aInstance)
uint8_t
取得 Jam 偵測視窗 (以秒為單位)。
otJamDetectionIsEnabled(otInstance *aInstance)
bool
取得 Jam 偵測狀態 (已啟用/已停用)
otJamDetectionSetBusyPeriod(otInstance *aInstance, uint8_t aBusyPeriod)
設定 Jam 偵測忙碌期 (以秒為單位)。
otJamDetectionSetRssiThreshold(otInstance *aInstance, int8_t aRssiThreshold)
設定 Jam 偵測 RSSI 門檻 (以 dBm 為單位)。
otJamDetectionSetWindow(otInstance *aInstance, uint8_t aWindow)
設定 Jam 偵測視窗 (以秒為單位)。
otJamDetectionStart(otInstance *aInstance, otJamDetectionCallback aCallback, void *aContext)
啟動 Jam 偵測功能。
otJamDetectionStop(otInstance *aInstance)
停止偵測幹擾。

Typedefs

otJamDetectionCallback

void(* otJamDetectionCallback)(bool aJamState, void *aContext)

如果已啟用信號幹擾偵測功能且偵測到 Jam,系統會呼叫指標。

詳細說明
參數
[in] aJamState
目前的 Jam 狀態 (如果偵測到 Jam,則為 true,否則為 false)。
[in] aContext
指向應用程式特定背景資訊的指標。

函式

otJamDetectionGetBusyPeriod

uint8_t otJamDetectionGetBusyPeriod(
  otInstance *aInstance
)

取得 Jam 偵測忙碌期 (以秒為單位)

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
即興偵測忙碌期間。

otJamDetectionGetHistoryBitmap

uint64_t otJamDetectionGetHistoryBitmap(
  otInstance *aInstance
)

取得目前的記錄點陣圖。

這個值提供幹擾偵測模組目前狀態的相關資訊,以便用於監控/偵錯。此方法會傳回 64 位元值,其中每個位元對應一秒間隔 (從最近間隔的位元 0 開始),而位元為最舊間隔 (63 秒更早) 的位元 63 各對應一秒間隔。如果乾擾偵測模組在對應的一秒間隔內觀察到/偵測到高訊號強度,則位元會設為 1。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
目前的記錄點陣圖。

otJamDetectionGetRssiThreshold

int8_t otJamDetectionGetRssiThreshold(
  otInstance *aInstance
)

取得 Jam 偵測 RSSI 門檻 (以 dBm 為單位)。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
即興偵測 RSSI 門檻。

otJamDetectionGetState

bool otJamDetectionGetState(
  otInstance *aInstance
)

取得 Jam 偵測狀態。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
Jam 偵測狀態 (偵測到 true Jam,反之則為「false」)。

otJamDetectionGetWindow

uint8_t otJamDetectionGetWindow(
  otInstance *aInstance
)

取得 Jam 偵測視窗 (以秒為單位)。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
Jam 偵測視窗。

otJamDetectionIsEnabled

bool otJamDetectionIsEnabled(
  otInstance *aInstance
)

取得 Jam 偵測狀態 (已啟用/已停用)

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
Jam 偵測狀態 (如果已啟用,則為 true,否則為 false)。

otJamDetectionSetBusyPeriod

otError otJamDetectionSetBusyPeriod(
  otInstance *aInstance,
  uint8_t aBusyPeriod
)

設定 Jam 偵測忙碌期 (以秒為單位)。

偵測期內的匯總秒數,RSSI 必須高於門檻才能觸發偵測作業。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aBusyPeriod
Jam 偵測忙碌時段 (不可為零且小於或等於 Jam 偵測視窗)
傳回值
OT_ERROR_NONE
已成功設定視窗。
OT_ERROR_INVALID_ARGS
提供的輸入內容不在有效範圍內。

otJamDetectionSetRssiThreshold

otError otJamDetectionSetRssiThreshold(
  otInstance *aInstance,
  int8_t aRssiThreshold
)

設定 Jam 偵測 RSSI 門檻 (以 dBm 為單位)。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aRssiThreshold
RSSI 門檻。
傳回值
OT_ERROR_NONE
已成功設定門檻。

otJamDetectionSetWindow

otError otJamDetectionSetWindow(
  otInstance *aInstance,
  uint8_t aWindow
)

設定 Jam 偵測視窗 (以秒為單位)。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aWindow
Jam 偵測視窗 (有效範圍為 1 至 63)
傳回值
OT_ERROR_NONE
已成功設定視窗。
OT_ERROR_INVALID_ARGS
提供的輸入參數不在有效範圍內 (1-63)

otJamDetectionStart

otError otJamDetectionStart(
  otInstance *aInstance,
  otJamDetectionCallback aCallback,
  void *aContext
)

啟動 Jam 偵測功能。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aCallback
指向呼叫函式的指標,用於通知幹擾狀態變更。
[in] aContext
指向應用程式特定背景資訊的指標。
傳回值
OT_ERROR_NONE
已成功啟動 Jam 偵測功能。
OT_ERROR_ALREADY
Jam 偵測功能先前曾啟動。

otJamDetectionStop

otError otJamDetectionStop(
  otInstance *aInstance
)

停止偵測幹擾。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回值
OT_ERROR_NONE
已成功停止幹擾偵測。
OT_ERROR_ALREADY
Jam 偵測功能已停止。

資源

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