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