การตรวจสอบช่อง
โมดูลนี้ประกอบด้วยฟังก์ชันสําหรับฟีเจอร์การตรวจสอบช่อง
สรุป
ฟังก์ชันในโมดูลนี้จะพร้อมใช้งานเมื่อเปิดใช้ฟีเจอร์การตรวจสอบช่อง (OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE
)
การตรวจสอบช่องจะมีการตรวจสอบช่องทั้งหมดเป็นระยะเพื่อช่วยระบุช่องทางที่ชัดเจนขึ้น (ช่องที่มีการรบกวนน้อยกว่า)
เมื่อมีการใช้การตรวจสอบช่อง ระบบจะสแกนพลังงานแบบ 0 ช่วง โดยเก็บตัวอย่าง RSSI เดียวในทุกช่องต่อช่วงตัวอย่าง ตัวอย่าง RSSI จะนํามาเปรียบเทียบกับเกณฑ์ RSSI ที่กําหนดไว้ล่วงหน้า ตัวบ่งชี้คุณภาพของช่องแสดงให้เห็นว่าโมดูลการตรวจสอบช่องจะรักษาและแสดงอัตรา/เปอร์เซ็นต์เฉลี่ยของตัวอย่าง RSSI ที่อยู่ในระดับสูงกว่าเกณฑ์ (โดยประมาณ) ในหน้าต่างตัวอย่างที่ระบุ (ซึ่งเรียกว่าอัตราการเข้าใช้)
ฟังก์ชัน |
|
---|---|
otChannelMonitorGetChannelOccupancy(otInstance *aInstance, uint8_t aChannel)
|
uint16_t
รับข้อมูลการเข้าใช้ช่องปัจจุบันสําหรับช่องที่ระบุ
|
otChannelMonitorGetRssiThreshold(otInstance *aInstance)
|
int8_t
รับเกณฑ์ RSSI ของการตรวจสอบช่องในหน่วย dBm
|
otChannelMonitorGetSampleCount(otInstance *aInstance)
|
uint32_t
ดูจํานวนทั้งหมดของ RSSI ตัวอย่าง (ต่อช่อง)
|
otChannelMonitorGetSampleInterval(otInstance *aInstance)
|
uint32_t
ดูช่วงตัวอย่างการตรวจสอบช่องเป็นมิลลิวินาที
|
otChannelMonitorGetSampleWindow(otInstance *aInstance)
|
uint32_t
ดูค่าเฉลี่ยของช่วงเวลาในการสุ่มตัวอย่างช่อง (จํานวนตัวอย่าง)
|
otChannelMonitorIsEnabled(otInstance *aInstance)
|
bool
ระบุว่ามีการเปิดใช้งานการตรวจสอบช่องหรือไม่
|
otChannelMonitorSetEnabled(otInstance *aInstance, bool aEnabled)
|
เปิดหรือปิดใช้การดําเนินการตรวจสอบช่อง
|
ฟังก์ชัน
ช่องสัญญาณบนหน้าจอรับอัตราการเข้าใช้
uint16_t otChannelMonitorGetChannelOccupancy( otInstance *aInstance, uint8_t aChannel )
รับข้อมูลการเข้าใช้ช่องปัจจุบันสําหรับช่องที่ระบุ
ค่าการเข้าใช้ช่องหมายถึงอัตรา/เปอร์เซ็นต์เฉลี่ยของตัวอย่าง RSSI ที่สูงกว่าเกณฑ์ RSSI (ตัวอย่าง RSSI ที่ "ไม่ถูกต้อง")
สําหรับตัวอย่าง "หน้าต่างตัวอย่าง" แรก ค่าเฉลี่ยจะถูกเก็บไว้ตามเปอร์เซ็นต์ที่แท้จริง (นั่นคือ อัตราส่วนของจํานวนตัวอย่าง "ไม่ดี" ต่อจํานวนตัวอย่างทั้งหมด) หลังจากสุ่มตัวอย่าง "หน้าต่าง" ค่าเฉลี่ยจะใช้ค่าเฉลี่ยเคลื่อนที่แบบเลขยกกําลัง ในทางปฏิบัติหมายความว่าค่าเฉลี่ยแสดงถึงตัวอย่างล่าสุดสูงสุด 3 * window
รายการซึ่งมีน้ําหนักสูงสุดกับตัวอย่าง kSampleWindow
ล่าสุด
ค่าสูงสุดของ 0xffff
หมายความว่าตัวอย่าง RSSI ทั้งหมดเกินเกณฑ์ RSSI (นั่นคือ 100% ของตัวอย่างทั้งหมดเป็น "bad")
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
การส่งคืน |
การเข้าใช้ช่องปัจจุบันสําหรับช่องที่ระบุ
|
OTChannelMonitorGetRssiThreshold
int8_t otChannelMonitorGetRssiThreshold( otInstance *aInstance )
รับเกณฑ์ RSSI ของการตรวจสอบช่องในหน่วย dBm
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การส่งคืน |
เกณฑ์ RSSI ในหน่วย dBm
|
จํานวนนับเวลารับการตรวจสอบช่อง
uint32_t otChannelMonitorGetSampleCount( otInstance *aInstance )
ดูจํานวนทั้งหมดของ RSSI ตัวอย่าง (ต่อช่อง)
จํานวนนี้ระบุจํานวนตัวอย่างทั้งหมดต่อแชแนลตามโมดูลการตรวจสอบช่องตั้งแต่เริ่มต้น (เนื่องจากเปิดใช้อินเทอร์เฟซเครือข่ายของเทรด)
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การส่งคืน |
จํานวนตัวอย่าง RSSI ทั้งหมด (ต่อช่อง) จนถึงขณะนี้
|
ช่วงเวลาในการตรวจสอบช่อง
uint32_t otChannelMonitorGetSampleInterval( otInstance *aInstance )
ดูช่วงตัวอย่างการตรวจสอบช่องเป็นมิลลิวินาที
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การส่งคืน |
ช่วงเวลาการตรวจสอบช่องในหน่วยมิลลิวินาที
|
หน้าต่างตรวจสอบรับตัวอย่าง
uint32_t otChannelMonitorGetSampleWindow( otInstance *aInstance )
ดูค่าเฉลี่ยของช่วงเวลาในการสุ่มตัวอย่างช่อง (จํานวนตัวอย่าง)
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การส่งคืน |
หน้าต่างตัวอย่างเฉลี่ย
|
เปิดใช้งาน MonitorChannel
bool otChannelMonitorIsEnabled( otInstance *aInstance )
ระบุว่ามีการเปิดใช้งานการตรวจสอบช่องหรือไม่
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การส่งคืน |
จริง หากเปิดใช้งานการตรวจสอบช่อง หากเป็น "เท็จ" หากไม่เป็นเช่นนั้น
|
เปิดใช้งานแชแนลการตรวจสอบจอภาพ
otError otChannelMonitorSetEnabled( otInstance *aInstance, bool aEnabled )
เปิดหรือปิดใช้การดําเนินการตรวจสอบช่อง
เมื่อเริ่มดําเนินการแล้ว ระบบจะล้างข้อมูลที่รวบรวมไว้ก่อนหน้านี้ทั้งหมด แต่หลังจากปิดใช้การดําเนินการ ข้อมูลที่รวบรวมก่อนหน้านี้จะยังคงถูกต้องและสามารถอ่านได้
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
แสดงผลค่า |
|
แหล่งข้อมูล
หัวข้ออ้างอิง OpenThread API มาจากซอร์สโค้ด ซึ่งพร้อมใช้งานใน GitHub ดูข้อมูลเพิ่มเติมหรือมีส่วนร่วมในเอกสารประกอบได้ที่แหล่งข้อมูล