Google 致力于为黑人社区推动种族平等。查看具体行动
使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

Jam 检测

此模块包含信号干扰检测功能。

总结

当启用 Jam 检测功能 (OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE) 时,此模块中的函数可用。

类型定义符

otJamDetectionCallback)(bool aJamState, void *aContext) typedef
void(*
如果已启用信号干扰检测,并且检测到卡顿,系统会调用此函数指针。

函数

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)
停止卡住检测。

类型定义符

otJamDetectionCallback

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

如果已启用信号干扰检测,并且检测到卡顿,系统会调用此函数指针。

详细信息
参数
[in] aJamState
当前 Jam 状态(如果检测到 Jam,则为 true,否则检测到 false)。
[in] aContext
指向应用特定上下文的指针。

函数

otJamDetectionGetBusyPeriod

uint8_t otJamDetectionGetBusyPeriod(
  otInstance *aInstance
)

获取 Jam 检测繁忙时段(以秒为单位)

详细信息
参数
[in] aInstance
指向 OpenThread 实例的指针。
返回值
Jam 检测到繁忙时段。

otJamDetectionGetHistoryBitmap

uint64_t otJamDetectionGetHistoryBitmap(
  otInstance *aInstance
)

获取当前的历史记录位图。

此值会提供用于监控/调试的 Jaming 检测模块的当前状态信息。它会返回一个 64 位值,其中每个位对应于一秒间隔,从最近的间隔第 03 位开始,向最晚的间隔触发第 63 位(提前 63 秒)。如果 Jam 检测模块在对应的一秒间隔内观察到/检测到高信号电平,则位设为 1。

详细信息
参数
[in] aInstance
指向 OpenThread 实例的指针。
返回值
当前的历史记录位图。

otJamDetectionGetRssiThreshold

int8_t otJamDetectionGetRssiThreshold(
  otInstance *aInstance
)

获取 Jam 检测 RSSI 阈值(以 dBm 为单位)。

详细信息
参数
[in] aInstance
指向 OpenThread 实例的指针。
返回值
Jam 检测 RSSI 阈值。

otJamDetectionGetState

bool otJamDetectionGetState(
  otInstance *aInstance
)

获取 Jam 检测状态。

详细信息
参数
[in] aInstance
指向 OpenThread 实例的指针。
返回值
Jam 检测状态(检测到 true 卡顿,否则为“false&#39”;

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 检测。

oJamDetectionStop

otError otJamDetectionStop(
  otInstance *aInstance
)

停止卡住检测。

详细信息
参数
[in] aInstance
指向 OpenThread 实例的指针。
返回值
OT_ERROR_NONE
已成功停止 Jam 检测。
OT_ERROR_ALREADY
Jam 检测已停止。

资源

OpenThread API 的参考主题源自 GitHub 上的源代码。 如需了解详情或为我们的文档做贡献,请参阅资源