การตรวจจับ Jam

โมดูลนี้มีฟังก์ชันสำหรับฟีเจอร์ตรวจจับการรบกวนสัญญาณ

สรุป

ฟังก์ชันในโมดูลนี้จะพร้อมใช้งานเมื่อเปิดใช้ฟีเจอร์การตรวจจับ Jam (OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE)

Typedef

otJamDetectionCallback)(bool aJamState, void *aContext) typedef
void(*
ระบบจะเรียกใช้ตัวชี้หากเปิดใช้การตรวจจับสัญญาณติดขัดและตรวจพบ Jam

ฟังก์ชัน

otJamDetectionGetBusyPeriod(otInstance *aInstance)
uint8_t
รับช่วงที่ไม่ว่างในการตรวจจับ Jam (เป็นวินาที)
otJamDetectionGetHistoryBitmap(otInstance *aInstance)
uint64_t
รับบิตแมปประวัติปัจจุบัน
otJamDetectionGetRssiThreshold(otInstance *aInstance)
int8_t
รับเกณฑ์ RSSI การตรวจจับ Jam (ใน 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)
กำหนดเกณฑ์ RSSI การตรวจจับ Jam (ใน dBm)
otJamDetectionSetWindow(otInstance *aInstance, uint8_t aWindow)
ตั้งค่าหน้าต่างการตรวจจับ Jam (เป็นวินาที)
otJamDetectionStart(otInstance *aInstance, otJamDetectionCallback aCallback, void *aContext)
เริ่มตรวจจับการงัดแงะ
otJamDetectionStop(otInstance *aInstance)
หยุดการตรวจจับการรบกวน

Typedef

otJamDetectionCallback

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

ระบบจะเรียกใช้ตัวชี้หากเปิดใช้การตรวจจับสัญญาณติดขัดและตรวจพบ Jam

รายละเอียด
พารามิเตอร์
[in] aJamState
สถานะ Jam ปัจจุบัน (true หากตรวจพบ Jam มิฉะนั้นจะเป็น false)
[in] aContext
ตัวชี้ไปยังบริบทเฉพาะแอปพลิเคชัน

ฟังก์ชัน

otJamDetectionGetBusyPeriod

uint8_t otJamDetectionGetBusyPeriod(
  otInstance *aInstance
)

รับช่วงที่ไม่ว่างในการตรวจจับ Jam (เป็นวินาที)

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
การส่งคืน
ช่วงเวลาที่ไม่ว่างของการตรวจจับ Jam

otJamDetectionGetHistoryBitmap

uint64_t otJamDetectionGetHistoryBitmap(
  otInstance *aInstance
)

รับบิตแมปประวัติปัจจุบัน

ค่านี้ให้ข้อมูลเกี่ยวกับสถานะปัจจุบันของโมดูลตรวจจับการรบกวนเพื่อวัตถุประสงค์ในการตรวจสอบ/แก้ไขข้อบกพร่อง โดยจะส่งคืนค่า 64 บิตโดยที่แต่ละบิตสอดคล้องกับช่วงเวลา 1 วินาทีที่เริ่มต้นด้วยบิต 0 สำหรับช่วงเวลาล่าสุด และบิต 63 สำหรับช่วงเวลาเก่าที่สุด (63 วินาทีก่อนหน้า) โดยจะตั้งค่าเป็น 1 หากโมดูลตรวจจับการรบกวนสังเกตเห็น/ตรวจพบระดับสัญญาณสูงในช่วงเวลา 1 วินาทีที่สอดคล้องกัน

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
การส่งคืน
บิตแมปประวัติปัจจุบัน

otJamDetectionGetRssiThreshold

int8_t otJamDetectionGetRssiThreshold(
  otInstance *aInstance
)

รับเกณฑ์ RSSI การตรวจจับ Jam (ใน dBm)

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
การส่งคืน
เกณฑ์ RSSI การตรวจจับ Jam

otJamDetectionGetState

bool otJamDetectionGetState(
  otInstance *aInstance
)

ดูสถานะการตรวจจับ Jam

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
การส่งคืน
สถานะการตรวจจับ Jam (ตรวจพบ Jam จำนวน true รายการ หากไม่ใช่ "เท็จ")

otJamDetectionGetWindow

uint8_t otJamDetectionGetWindow(
  otInstance *aInstance
)

รับหน้าต่างการตรวจจับ Jam (เป็นวินาที)

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
การส่งคืน
หน้าต่างการตรวจจับ Jam

otJamDetectionIsEnabled

bool otJamDetectionIsEnabled(
  otInstance *aInstance
)

ดูสถานะการตรวจจับ Jam (เปิดใช้/ปิดใช้)

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
การส่งคืน
สถานะการตรวจจับ Jam (จริงหากเปิดใช้ เท็จหากไม่มี)

otJamDetectionSetBusyPeriod

otError otJamDetectionSetBusyPeriod(
  otInstance *aInstance,
  uint8_t aBusyPeriod
)

ตั้งค่าระยะเวลาการตรวจจับ Jam (เป็นวินาที)

จำนวนวินาทีโดยรวมภายในหน้าต่างการตรวจจับที่ RSSI ต้องสูงกว่าเกณฑ์เพื่อทริกเกอร์การตรวจหา

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aBusyPeriod
ระยะเวลาที่ไม่ว่างของการตรวจจับ Jam (ไม่ควรเป็น 0 และน้อยกว่าหรือเท่ากับหน้าต่างการตรวจจับ Jam)
แสดงผลค่า
OT_ERROR_NONE
ตั้งค่าหน้าต่างเรียบร้อยแล้ว
OT_ERROR_INVALID_ARGS
ข้อมูลที่ป้อนไม่ได้อยู่ในช่วงที่ถูกต้อง

otJamDetectionSetRssiThreshold

otError otJamDetectionSetRssiThreshold(
  otInstance *aInstance,
  int8_t aRssiThreshold
)

กำหนดเกณฑ์ RSSI การตรวจจับ Jam (ใน 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
)

เริ่มตรวจจับการงัดแงะ

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aCallback
ตัวชี้ไปยังฟังก์ชันที่เรียกใช้เพื่อแจ้งเตือนการเปลี่ยนแปลงสถานะการรบกวน
[in] aContext
ตัวชี้ไปยังบริบทเฉพาะแอปพลิเคชัน
แสดงผลค่า
OT_ERROR_NONE
เริ่มการตรวจจับการติดขัดเรียบร้อยแล้ว
OT_ERROR_ALREADY
การตรวจหา Jam เริ่มขึ้นมาก่อนแล้ว

otJamDetectionStop

otError otJamDetectionStop(
  otInstance *aInstance
)

หยุดการตรวจจับการรบกวน

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
แสดงผลค่า
OT_ERROR_NONE
หยุดการตรวจจับการติดขัดเรียบร้อยแล้ว
OT_ERROR_ALREADY
หยุดการตรวจจับ Jam แล้ว

แหล่งข้อมูล

หัวข้ออ้างอิง API ของ OpenThread จะมาจากซอร์สโค้ดซึ่งพร้อมใช้งานใน GitHub ดูข้อมูลเพิ่มเติมหรือมีส่วนร่วมในเอกสารประกอบของเราได้ที่แหล่งข้อมูล