ผู้จัดการช่องทางจัดจำหน่าย
โมดูลนี้ประกอบด้วยฟังก์ชันสําหรับผู้จัดการช่อง
สรุป
ฟังก์ชันในโมดูลนี้จะพร้อมใช้งานเมื่อเปิดใช้ฟีเจอร์ผู้จัดการช่อง (OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE) ผู้จัดการช่องพร้อมให้บริการบนบิลด์ของ FTD เท่านั้น
ฟังก์ชัน |
|
|---|---|
otChannelManagerGetAutoChannelSelectionEnabled(otInstance *aInstance)
|
bool
ระบุว่ามีการเปิดใช้ฟังก์ชันการเลือกช่องทางอัตโนมัติหรือไม่
|
otChannelManagerGetAutoChannelSelectionInterval(otInstance *aInstance)
|
uint32_t
รับช่วงเวลา (เป็นวินาที) ที่ใช้โดยฟังก์ชันการเลือกช่องทางอัตโนมัติ
|
otChannelManagerGetCcaFailureRateThreshold(otInstance *aInstance)
|
uint16_t
รับเกณฑ์อัตราความล้มเหลวของ CCA
|
otChannelManagerGetDelay(otInstance *aInstance)
|
uint16_t
รับความล่าช้า (เป็นวินาที) ที่ผู้จัดการช่องใช้ในการเปลี่ยนช่อง
|
otChannelManagerGetFavoredChannels(otInstance *aInstance)
|
uint32_t
รับมาสก์ของช่องโปรด
|
otChannelManagerGetRequestedChannel(otInstance *aInstance)
|
uint8_t
รับช่องจากการโทรที่สําเร็จครั้งล่าสุดไปยัง
otChannelManagerRequestChannelChange() |
otChannelManagerGetSupportedChannels(otInstance *aInstance)
|
uint32_t
รับมาสก์ของช่องที่รองรับ
|
otChannelManagerRequestChannelChange(otInstance *aInstance, uint8_t aChannel)
|
void
ขอเปลี่ยนแปลงช่องของเครือข่ายชุดข้อความ
|
otChannelManagerRequestChannelSelect(otInstance *aInstance, bool aSkipQualityCheck)
|
คําขอให้
ChannelManager ตรวจสอบและเลือกช่องใหม่และเริ่มทําการเปลี่ยนแปลงช่อง |
otChannelManagerSetAutoChannelSelectionEnabled(otInstance *aInstance, bool aEnabled)
|
void
เปิดหรือปิดใช้งานฟังก์ชันการเลือกช่องทางอัตโนมัติ
|
otChannelManagerSetAutoChannelSelectionInterval(otInstance *aInstance, uint32_t aInterval)
|
ตั้งค่าช่วงเวลา (เป็นวินาที) ที่ใช้โดยฟังก์ชันการเลือกช่องทางอัตโนมัติ
|
otChannelManagerSetCcaFailureRateThreshold(otInstance *aInstance, uint16_t aThreshold)
|
void
กําหนดเกณฑ์อัตราความล้มเหลวของ CCA
|
otChannelManagerSetDelay(otInstance *aInstance, uint16_t aDelay)
|
ตั้งค่าการหน่วงเวลา (เป็นวินาที) ที่ใช้สําหรับการเปลี่ยนแปลงช่อง
|
otChannelManagerSetFavoredChannels(otInstance *aInstance, uint32_t aChannelMask)
|
void
กําบังภาพของช่องที่ชื่นชอบ
|
otChannelManagerSetSupportedChannels(otInstance *aInstance, uint32_t aChannelMask)
|
void
ตั้งค่ามาสก์ของช่องที่รองรับ
|
ฟังก์ชัน
OTChannelManagerGetAutoChannelSelectionEnabled
bool otChannelManagerGetAutoChannelSelectionEnabled( otInstance *aInstance )
ระบุว่ามีการเปิดใช้ฟังก์ชันการเลือกช่องทางอัตโนมัติหรือไม่
| รายละเอียด | |||
|---|---|---|---|
| พารามิเตอร์ |
|
||
| การส่งคืน |
TRUE ถ้าเปิดใช้งาน จะ FALSE ถ้าปิดใช้งาน
|
||
ช่วงเวลาในการมีส่วนร่วมกับผู้จัดการช่องอัตโนมัติ
uint32_t otChannelManagerGetAutoChannelSelectionInterval( otInstance *aInstance )
รับช่วงเวลา (เป็นวินาที) ที่ใช้โดยฟังก์ชันการเลือกช่องทางอัตโนมัติ
| รายละเอียด | |||
|---|---|---|---|
| พารามิเตอร์ |
|
||
| การส่งคืน |
ช่วงเวลาเป็นวินาที
|
||
OTผู้จัดการผู้จัดการรับ CacaFailureRateThreshold
uint16_t otChannelManagerGetCcaFailureRateThreshold( otInstance *aInstance )
รับเกณฑ์อัตราความล้มเหลวของ CCA
| รายละเอียด | |||
|---|---|---|---|
| พารามิเตอร์ |
|
||
| การส่งคืน |
เกณฑ์อัตราความล้มเหลวของ CCA ค่า 0 จะแมปกับ 0% และ 0xffff แมปกับ 100%
|
||
OTChannelManagerGetDelay
uint16_t otChannelManagerGetDelay( otInstance *aInstance )
รับความล่าช้า (เป็นวินาที) ที่ผู้จัดการช่องใช้ในการเปลี่ยนช่อง
| รายละเอียด | |||
|---|---|---|---|
| พารามิเตอร์ |
|
||
| การส่งคืน |
ความล่าช้า (เป็นวินาที) สําหรับการเปลี่ยนแปลงช่อง
|
||
ช่องการจัดการช่องโปรด
uint32_t otChannelManagerGetFavoredChannels( otInstance *aInstance )
รับมาสก์ของช่องโปรด
| รายละเอียด | |||
|---|---|---|---|
| พารามิเตอร์ |
|
||
| การส่งคืน |
ช่องโปรดเป็นสัญลักษณ์เล็กๆ
|
||
ช่อง ChannelGet
uint8_t otChannelManagerGetRequestedChannel( otInstance *aInstance )
รับช่องจากการโทรที่สําเร็จครั้งล่าสุดไปยัง otChannelManagerRequestChannelChange()
| รายละเอียด | |
|---|---|
| การส่งคืน |
ช่องที่ขอล่าสุดหรือ 0 หากยังไม่มีคําขอเปลี่ยนช่อง
|
ช่อง ChannelGetGetSupportedChannels
uint32_t otChannelManagerGetSupportedChannels( otInstance *aInstance )
รับมาสก์ของช่องที่รองรับ
| รายละเอียด | |||
|---|---|---|---|
| พารามิเตอร์ |
|
||
| การส่งคืน |
ช่องทางที่รองรับเป็นการปกปิดข้อมูล
|
||
เปลี่ยนช่องผู้จัดการช่อง
void otChannelManagerRequestChannelChange( otInstance *aInstance, uint8_t aChannel )
ขอเปลี่ยนแปลงช่องของเครือข่ายชุดข้อความ
เครือข่ายจะเปลี่ยนไปใช้ช่องที่ระบุหลังจากการหน่วงเวลาที่ระบุ (ดู otChannelManagerSetDelay()) การเปลี่ยนแปลงช่องดําเนินการโดยการอัปเดตชุดข้อมูลการดําเนินการที่รอดําเนินการ
การโทรครั้งต่อๆ ไปจะยกเลิกการเปลี่ยนแปลงช่องที่ร้องขอก่อนหน้านี้
| รายละเอียด | |||||
|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||
ช่องแชแนล
otError otChannelManagerRequestChannelSelect( otInstance *aInstance, bool aSkipQualityCheck )
คําขอให้ ChannelManager ตรวจสอบและเลือกช่องใหม่และเริ่มทําการเปลี่ยนแปลงช่อง
ฟังก์ชันนี้จะขอให้ ChannelManager เลือกช่องด้วยตัวเอง (ขึ้นอยู่กับข้อมูลคุณภาพช่องที่รวบรวม) ซึ่งแตกต่างจากช่อง otChannelManagerRequestChannelChange() ที่จะต้องมีการระบุช่องเป็นพารามิเตอร์
เมื่อเรียกใช้แล้ว ผู้จัดการช่องจะดําเนินการ 3 ขั้นตอนต่อไปนี้
1) ChannelManager ตัดสินใจว่าการเปลี่ยนแปลงช่องจะเป็นประโยชน์หรือไม่ คุณจะข้ามการตรวจสอบนี้ได้หากมีการตั้งค่า aSkipQualityCheck เป็น "จริง" (ซึ่งบังคับให้มีการเลือกช่องที่จะเกิดขึ้นและข้ามการตรวจสอบคุณภาพ) ขั้นตอนนี้ใช้เมตริกคุณภาพของลิงก์ที่รวบรวมไว้ในอุปกรณ์ (เช่น อัตราความล้มเหลวของ CCA, อัตราเฟรมและข้อผิดพลาดของข้อความต่อเพื่อนบ้าน ฯลฯ) เพื่อพิจารณาว่าคุณภาพปัจจุบันของช่องอยู่ในระดับที่เหมาะสําหรับการเปลี่ยนแปลงของช่องทางหรือไม่
2) หากผ่านขั้นตอนแรก ChannelManager จะเลือกช่องทางที่ดีกว่า ใช้ข้อมูลคุณภาพของช่องที่ ChannelMonitor รวบรวม ช่องทางที่ได้รับการสนับสนุนและเป็นที่ชื่นชอบจะถูกนํามาใช้ในขั้นตอนนี้ (โปรดดู otChannelManagerSetSupportedChannels() และ otChannelManagerSetFavoredChannels())
3) หากช่องใหม่ที่เลือกแตกต่างจากช่องปัจจุบัน ChannelManager จะขอ/เริ่มกระบวนการเปลี่ยนแปลงช่อง (เรียกใช้ RequestChannelChange() ภายใน)
| รายละเอียด | |||||
|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||
| แสดงผลค่า |
|
||||
เปิดใช้แชแนลผู้จัดการอัตโนมัติช่องที่เลือก
void otChannelManagerSetAutoChannelSelectionEnabled( otInstance *aInstance, bool aEnabled )
เปิดหรือปิดใช้งานฟังก์ชันการเลือกช่องทางอัตโนมัติ
เมื่อเปิดใช้ ChannelManager จะเรียกใช้ RequestChannelSelect(false) เป็นระยะ คุณตั้งค่าระยะเวลา SetAutoChannelSelectionInterval() ได้
| รายละเอียด | |||||
|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||
ช่วงเวลาของผู้จัดการช่องอัตโนมัติการเลือกช่วง
otError otChannelManagerSetAutoChannelSelectionInterval( otInstance *aInstance, uint32_t aInterval )
ตั้งค่าช่วงเวลา (เป็นวินาที) ที่ใช้โดยฟังก์ชันการเลือกช่องทางอัตโนมัติ
| รายละเอียด | |||||
|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||
| แสดงผลค่า |
|
||||
OTChannelManagerSetCcaFailureRateThreshold
void otChannelManagerSetCcaFailureRateThreshold( otInstance *aInstance, uint16_t aThreshold )
กําหนดเกณฑ์อัตราความล้มเหลวของ CCA
| รายละเอียด | |||||
|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||
OTChannelManagerSetDelay
otError otChannelManagerSetDelay( otInstance *aInstance, uint16_t aDelay )
ตั้งค่าการหน่วงเวลา (เป็นวินาที) ที่ใช้สําหรับการเปลี่ยนแปลงช่อง
การหน่วงเวลาควรมากกว่าช่วงการสํารวจข้อมูลสูงสุดที่อุปกรณ์นอนหลับทั้งหมดภายในเครือข่ายเทรดใช้
| รายละเอียด | |||||
|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||
| แสดงผลค่า |
|
||||
ช่องแชแนลที่ตั้งค่าช่องโปรด
void otChannelManagerSetFavoredChannels( otInstance *aInstance, uint32_t aChannelMask )
กําบังภาพของช่องที่ชื่นชอบ
| รายละเอียด | |||||
|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||
ช่องแชแนลที่รองรับชุดช่อง
void otChannelManagerSetSupportedChannels( otInstance *aInstance, uint32_t aChannelMask )
ตั้งค่ามาสก์ของช่องที่รองรับ
| รายละเอียด | |||||
|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||
แหล่งข้อมูล
หัวข้ออ้างอิง OpenThread API มาจากซอร์สโค้ด ซึ่งพร้อมใช้งานใน GitHub ดูข้อมูลเพิ่มเติมหรือมีส่วนร่วมในเอกสารประกอบได้ที่แหล่งข้อมูล