Jam 检测
此模块包含信号干扰检测功能。
总结
当启用 Jam 检测功能 (OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE
) 时,此模块中的函数可用。
类型定义符 |
|
---|---|
otJamDetectionCallback)(bool aJamState, void *aContext)
|
typedefvoid(*
如果已启用信号干扰检测,并且检测到卡顿,系统会调用此函数指针。 |
函数 |
|
---|---|
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)
如果已启用信号干扰检测,并且检测到卡顿,系统会调用此函数指针。
详细信息 | |||||
---|---|---|---|---|---|
参数 |
|
函数
otJamDetectionGetBusyPeriod
uint8_t otJamDetectionGetBusyPeriod( otInstance *aInstance )
获取 Jam 检测繁忙时段(以秒为单位)
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
Jam 检测到繁忙时段。
|
otJamDetectionGetHistoryBitmap
uint64_t otJamDetectionGetHistoryBitmap( otInstance *aInstance )
获取当前的历史记录位图。
此值会提供用于监控/调试的 Jaming 检测模块的当前状态信息。它会返回一个 64 位值,其中每个位对应于一秒间隔,从最近的间隔第 03 位开始,向最晚的间隔触发第 63 位(提前 63 秒)。如果 Jam 检测模块在对应的一秒间隔内观察到/检测到高信号电平,则位设为 1。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
当前的历史记录位图。
|
otJamDetectionGetRssiThreshold
int8_t otJamDetectionGetRssiThreshold( otInstance *aInstance )
获取 Jam 检测 RSSI 阈值(以 dBm 为单位)。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
Jam 检测 RSSI 阈值。
|
otJamDetectionGetState
bool otJamDetectionGetState( otInstance *aInstance )
获取 Jam 检测状态。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
Jam 检测状态(检测到
true 卡顿,否则为“false'”; |
otJamDetectionGetWindow
uint8_t otJamDetectionGetWindow( otInstance *aInstance )
获取 Jam 检测检测窗口(以秒为单位)。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
Jam 检测窗口。
|
otJamDetectionIsEnabled
bool otJamDetectionIsEnabled( otInstance *aInstance )
获取 Jam 检测状态(已启用/已停用)
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
Jam 检测状态(如果启用则为 true,否则为 false)。
|
otJamDetectionSetBusyPeriod
otError otJamDetectionSetBusyPeriod( otInstance *aInstance, uint8_t aBusyPeriod )
设置 Jam 检测的繁忙时段(以秒为单位)。
在检测时间范围内,RSSI 必须高于阈值才能触发检测的汇总秒数。
详细信息 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otJamDetectionSetRssiThreshold
otError otJamDetectionSetRssiThreshold( otInstance *aInstance, int8_t aRssiThreshold )
设置 Jam 检测 RSSI 阈值(以 dBm 为单位)。
详细信息 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otJamDetectionSetWindow
otError otJamDetectionSetWindow( otInstance *aInstance, uint8_t aWindow )
设置 Jam 检测检测窗口(以秒为单位)。
详细信息 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otJamDetectionStart
otError otJamDetectionStart( otInstance *aInstance, otJamDetectionCallback aCallback, void *aContext )
开始检测 Jam。
详细信息 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
oJamDetectionStop
otError otJamDetectionStop( otInstance *aInstance )
停止卡住检测。
详细信息 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
资源
OpenThread API 的参考主题源自 GitHub 上的源代码。 如需了解详情或为我们的文档做贡献,请参阅资源。