مدير القناة
تشمل هذه الوحدة وظائف "مدير القناة".
الملخّص
تتوفر الوظائف في هذه الوحدة عند تفعيل ميزة "مدير القناة" (OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE
). مدير القناة متاح فقط على إصدار FTD.
الدوال |
|
---|---|
otChannelManagerGetAutoChannelSelectionEnabled(otInstance *aInstance)
|
bool
تشير هذه الدالة إلى ما إذا كانت وظيفة الاختيار التلقائي للقناة مفعّلة أم لا.
|
otChannelManagerGetAutoChannelSelectionInterval(otInstance *aInstance)
|
uint32_t
تحصل هذه الدالة على الفاصل الزمني للفترة (بالثواني) الذي تستخدمه وظيفة اختيار القنوات تلقائيًا.
|
otChannelManagerGetCcaFailureRateThreshold(otInstance *aInstance)
|
uint16_t
تحصل هذه الدالة على الحدّ الأدنى لمعدّل تعذُّر تعديل CAA.
|
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
تحدِّد هذه الدالة الحدّ الأدنى لمعدّل تعذُّر تعديل CAA.
|
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 )
تشير هذه الدالة إلى ما إذا كانت وظيفة الاختيار التلقائي للقناة مفعّلة أم لا.
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
||
طلبات الإرجاع |
صواب، إذا تم تفعيله، يكون غير صحيح.
|
otChannelManagerGetAutoChannelSelectionInterval
uint32_t otChannelManagerGetAutoChannelSelectionInterval( otInstance *aInstance )
تحصل هذه الدالة على الفاصل الزمني للفترة (بالثواني) الذي تستخدمه وظيفة اختيار القنوات تلقائيًا.
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
||
طلبات الإرجاع |
الفاصل الزمني بالثواني.
|
otChannelManagerGetCCaFailureRateRate
uint16_t otChannelManagerGetCcaFailureRateThreshold( otInstance *aInstance )
تحصل هذه الدالة على الحدّ الأدنى لمعدّل تعذُّر تعديل CAA.
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
||
طلبات الإرجاع |
الحدّ الأدنى لمعدّل تعذُّر تحليل المحتوى الرقمي (CCA). ويتم تعيين القيمة 0 على 0% وربط 0xffff بنسبة 100%.
|
otChannelManagerGetDelay
uint16_t otChannelManagerGetDelay( otInstance *aInstance )
تحصل هذه الدالة على التأخير (بالثواني) الذي يستخدمه "مدير القناة" لتغيير قناة.
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
||
طلبات الإرجاع |
التأخير (بالثواني) لتغيير القناة.
|
otChannelManagerGetFavoredChannels
uint32_t otChannelManagerGetFavoredChannels( otInstance *aInstance )
تحصل هذه الدالة على قناع القناة المفضّل.
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
||
طلبات الإرجاع |
القنوات المفضلة كقناع.
|
otChannelManagerGetRequestChannel
uint8_t otChannelManagerGetRequestedChannel( otInstance *aInstance )
تحصل هذه الدالة على القناة من آخر مكالمة ناجحة إلى otChannelManagerRequestChannelChange()
التفاصيل | |
---|---|
طلبات الإرجاع |
آخر قناة تم طلبها أو صفر إذا لم يتم تقديم طلب لتغيير القناة حتى الآن.
|
otChannelManagerGetSupportedChannels
uint32_t otChannelManagerGetSupportedChannels( otInstance *aInstance )
تحصل هذه الدالة على قناع القناة المعتمد.
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
||
طلبات الإرجاع |
القنوات المتوافقة كقناع.
|
otChannelManagerRequestChannelChange
void otChannelManagerRequestChannelChange( otInstance *aInstance, uint8_t aChannel )
تطلب هذه الدالة تغيير قناة شبكة سلاسل محادثات.
تنتقل الشبكة إلى القناة المحددة بعد مهلة معيّنة (راجع otChannelManagerSetDelay()). ويتم إجراء تغيير القناة من خلال تحديث مجموعة البيانات التشغيلية في انتظار المراجعة.
وسيؤدي الاستدعاء لاحقًا لهذه الدالة إلى إلغاء تغيير القناة الذي تم طلبه من قبل.
التفاصيل | |||||
---|---|---|---|---|---|
المعلَمات |
|
otChannelManagerRequestChannelSelect
otError otChannelManagerRequestChannelSelect( otInstance *aInstance, bool aSkipQualityCheck )
تطلب هذه الدالة من ChannelManager
التحقّق من قناة جديدة واختيارها وبدء تغيير القناة.
وعلى عكس otChannelManagerRequestChannelChange()
التي يجب فيها توجيه القناة كمعلّمة، تطلب هذه الوظيفة من ChannelManager
اختيار قناة بمفردها (بناءً على معلومات جودة القناة التي يتم جمعها).
بعد الاتصال، سينفّذ مدير القناة الخطوات الثلاث التالية:
1) يقرر ChannelManager
ما إذا كان تغيير القناة مفيدًا أم لا. يمكن تخطّي هذا الفحص إذا تم ضبط القيمة aSkipQualityCheck
على true (فرض اختيار القناة وتخطي فحص الجودة). تستخدم هذه الخطوة مقاييس جودة الروابط المُجمَّعة على الجهاز (مثل معدّل تعذُّر الكشف عن المحتوى، والإطارات، وأخطاء الرسائل لكل الجيران وغير ذلك) لتحديد ما إذا كانت جودة القناة الحالية على المستوى الذي يبرّر تغيير القناة.
2) في حال تخطّت الخطوة الأولى، تختار قناة ChannelManager
قناة يُحتمل أن تكون أفضل. وهي تستخدم بيانات جودة القناة التي يتم جمعها حسب الوحدة ChannelMonitor
. يتم استخدام القنوات المتوافقة والأفضلية في هذه الخطوة. (راجع otChannelManagerSetSupportedChannels() وotChannelManagerSetFavoredChannels()).
3) إذا كانت القناة التي تم اختيارها مؤخرًا مختلفة عن القناة الحالية، يطلب ChannelManager
أو يبدأ عملية تغيير القناة (يستدعي داخليًا RequestChannelChange()
).
التفاصيل | |||||
---|---|---|---|---|---|
المعلَمات |
|
||||
قيم الإرجاع |
|
otChannelManagerSetAutoChannelSelectionEnabled
void otChannelManagerSetAutoChannelSelectionEnabled( otInstance *aInstance, bool aEnabled )
تتيح هذه الوظيفة تفعيل/إيقاف وظيفة الاختيار التلقائي للقنوات.
عند التفعيل، يستدعي ChannelManager
دوريًا RequestChannelSelect(false)
. يمكن ضبط الفاصل الزمني من خلال SetAutoChannelSelectionInterval()
.
التفاصيل | |||||
---|---|---|---|---|---|
المعلَمات |
|
otChannelManagerSetAutoChannelSelectionInterval
otError otChannelManagerSetAutoChannelSelectionInterval( otInstance *aInstance, uint32_t aInterval )
تحدد هذه الدالة الفاصل الزمني (بالثواني) الذي تستخدمه وظيفة اختيار القنوات تلقائيًا.
التفاصيل | |||||
---|---|---|---|---|---|
المعلَمات |
|
||||
قيم الإرجاع |
|
otChannelManagerSetCCaFailureRateRate
void otChannelManagerSetCcaFailureRateThreshold( otInstance *aInstance, uint16_t aThreshold )
تحدِّد هذه الدالة الحدّ الأدنى لمعدّل تعذُّر تعديل CAA.
التفاصيل | |||||
---|---|---|---|---|---|
المعلَمات |
|
otChannelManagerSetDelay
otError otChannelManagerSetDelay( otInstance *aInstance, uint16_t aDelay )
تعمل هذه الدالة على تحديد التأخير (بالثواني) الذي يتم استخدامه لتغيير القناة.
من المُفترَض أن يكون التأخير لمدة أطول من الحد الأقصى لفاصل البيانات الذي تستخدمه جميع الأجهزة النائمة في شبكة سلسلة المحادثات.
التفاصيل | |||||
---|---|---|---|---|---|
المعلَمات |
|
||||
قيم الإرجاع |
|
otChannelManagerSetFavoredChannels
void otChannelManagerSetFavoredChannels( otInstance *aInstance, uint32_t aChannelMask )
تحدّد هذه الدالة قناع القناة المفضّل.
التفاصيل | |||||
---|---|---|---|---|---|
المعلَمات |
|
otChannelManagerSetSupportedChannels
void otChannelManagerSetSupportedChannels( otInstance *aInstance, uint32_t aChannelMask )
تحدّد هذه الدالة قناع القناة المتوافق.
التفاصيل | |||||
---|---|---|---|---|---|
المعلَمات |
|
المراجع
تنشأ مواضيع واجهة برمجة التطبيقات المرجعية لـ OpenThread من رمز المصدر، المتوفر على GitHub. للاطّلاع على مزيد من المعلومات أو للمساهمة في مستنداتنا، يُرجى الرجوع إلى المراجع.