Google is committed to advancing racial equity for Black communities. See how.
本頁面由 Cloud Translation API 翻譯而成。
Switch to English

卡紙檢測

該模塊包括信號干擾檢測功能。

概要

啟用卡紙檢測功能( OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE )時,此模塊中的功能可用。

類型定義

otJamDetectionCallback )(bool aJamState, void *aContext)類型定義
void(*
如果啟用了信號卡紙檢測並且檢測到卡紙,則調用此功能指針。

職能

otJamDetectionGetBusyPeriod ( otInstance *aInstance)
uint8_t
獲取卡紙檢測繁忙時段(以秒為單位)
otJamDetectionGetHistoryBitmap ( otInstance *aInstance)
uint64_t
獲取當前歷史位圖。
otJamDetectionGetRssiThreshold ( otInstance *aInstance)
int8_t
獲取卡紙檢測RSSI閾值(以dBm為單位)。
otJamDetectionGetState ( otInstance *aInstance)
bool
獲取卡紙檢測狀態。
otJamDetectionGetWindow ( otInstance *aInstance)
uint8_t
獲取卡紙檢測檢測窗口(以秒為單位)。
otJamDetectionIsEnabled ( otInstance *aInstance)
bool
獲取卡紙檢測狀態(啟用/禁用)
otJamDetectionSetBusyPeriod ( otInstance *aInstance, uint8_t aBusyPeriod)
設置卡紙檢測繁忙時段(以秒為單位)。
otJamDetectionSetRssiThreshold ( otInstance *aInstance, int8_t aRssiThreshold)
設置卡紙檢測RSSI閾值(以dBm為單位)。
otJamDetectionSetWindow ( otInstance *aInstance, uint8_t aWindow)
設置卡紙檢測檢測窗口(以秒為單位)。
otJamDetectionStart ( otInstance *aInstance, otJamDetectionCallback aCallback, void *aContext)
開始卡紙檢測。
otJamDetectionStop ( otInstance *aInstance)
停止卡紙檢測。

類型定義

otJamDetectionCallback

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

如果啟用了信號卡紙檢測並且檢測到卡紙,則調用此功能指針。

細節
參量
[in] aJamState
當前卡紙狀態(如果檢測到卡紙,則為true ,否則為false )。
[in] aContext
指向特定於應用程序的上下文的指針。

職能

otJamDetectionGetBusyPeriod

uint8_t otJamDetectionGetBusyPeriod(
  otInstance *aInstance
)

獲取卡紙檢測繁忙時段(以秒為單位)

細節
參量
[in] aInstance
指向OpenThread實例的指針。
退貨
卡紙檢測繁忙時段。

otJamDetectionGetHistoryBitmap

uint64_t otJamDetectionGetHistoryBitmap(
  otInstance *aInstance
)

獲取當前歷史位圖。

此值提供有關堵塞檢測模塊當前狀態的信息,以進行監視/調試。它返回一個64位的值,其中每個位對應一個秒的間隔,從最近的間隔的位0開始,到最舊的間隔(更早的63秒),從位63開始。如果乾擾檢測模塊在相應的一秒鐘間隔內觀察到/檢測到高信號電平,則該位設置為1。

細節
參量
[in] aInstance
指向OpenThread實例的指針。
退貨
當前歷史位圖。

otJamDetectionGetRssiThreshold

int8_t otJamDetectionGetRssiThreshold(
  otInstance *aInstance
)

獲取卡紙檢測RSSI閾值(以dBm為單位)。

細節
參量
[in] aInstance
指向OpenThread實例的指針。
退貨
卡紙檢測RSSI閾值。

otJamDetectionGetState

bool otJamDetectionGetState(
  otInstance *aInstance
)

獲取卡紙檢測狀態。

細節
參量
[in] aInstance
指向OpenThread實例的指針。
退貨
卡紙檢測狀態(檢測到true卡紙,否則檢測為“假”)。

otJamDetectionGetWindow

uint8_t otJamDetectionGetWindow(
  otInstance *aInstance
)

獲取卡紙檢測檢測窗口(以秒為單位)。

細節
參量
[in] aInstance
指向OpenThread實例的指針。
退貨
卡紙檢測窗口。

otJamDetectionIsEnabled

bool otJamDetectionIsEnabled(
  otInstance *aInstance
)

獲取卡紙檢測狀態(啟用/禁用)

細節
參量
[in] aInstance
指向OpenThread實例的指針。
退貨
卡紙檢測狀態(如果啟用,則為true,否則為false)。

otJamDetectionSetBusyPeriod

otError otJamDetectionSetBusyPeriod(
  otInstance *aInstance,
  uint8_t aBusyPeriod
)

設置卡紙檢測繁忙時段(以秒為單位)。

RSSI必須高於閾值才能觸發檢測的檢測窗口內的總秒數。

細節
參量
[in] aInstance
指向OpenThread實例的指針。
[in] aBusyPeriod
卡紙檢測繁忙時段(應為非零且小於或等於卡紙檢測窗口)
返回值
OT_ERROR_NONE
成功設置窗口。
OT_ERROR_INVALID_ARGS
給定的輸入不在有效範圍內。

otJamDetectionSetRssiThreshold

otError otJamDetectionSetRssiThreshold(
  otInstance *aInstance,
  int8_t aRssiThreshold
)

設置卡紙檢測RSSI閾值(以dBm為單位)。

細節
參量
[in] aInstance
指向OpenThread實例的指針。
[in] aRssiThreshold
RSSI閾值。
返回值
OT_ERROR_NONE
成功設置閾值。

otJamDetectionSetWindow

otError otJamDetectionSetWindow(
  otInstance *aInstance,
  uint8_t aWindow
)

設置卡紙檢測檢測窗口(以秒為單位)。

細節
參量
[in] aInstance
指向OpenThread實例的指針。
[in] aWindow
卡紙檢測窗口(有效範圍是1到63)
返回值
OT_ERROR_NONE
成功設置窗口。
OT_ERROR_INVALID_ARGS
給定的輸入參數不在有效範圍內(1-63)

otJamDetectionStart

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

開始卡紙檢測。

細節
參量
[in] aInstance
指向OpenThread實例的指針。
[in] aCallback
指向用來通知卡紙狀態更改的函數的指針。
[in] aContext
指向特定於應用程序的上下文的指針。
返回值
OT_ERROR_NONE
成功啟動卡紙檢測。
OT_ERROR_ALREADY
卡紙檢測已開始。

otJamDetectionStop

otError otJamDetectionStop(
  otInstance *aInstance
)

停止卡紙檢測。

細節
參量
[in] aInstance
指向OpenThread實例的指針。
返回值
OT_ERROR_NONE
成功停止卡紙檢測。
OT_ERROR_ALREADY
卡紙檢測已停止。