ผู้จัดการช่องทางจัดจำหน่าย
โมดูลนี้ประกอบด้วยฟังก์ชันสําหรับผู้จัดการช่อง
สรุป
ฟังก์ชันในโมดูลนี้จะพร้อมใช้งานเมื่อเปิดใช้ฟีเจอร์ผู้จัดการช่อง (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 ดูข้อมูลเพิ่มเติมหรือมีส่วนร่วมในเอกสารประกอบได้ที่แหล่งข้อมูล