Google is committed to advancing racial equity for Black communities. See how.
ترجمت واجهة Cloud Translation API‏ هذه الصفحة.
Switch to English

مدير القناة

تتضمن هذه الوحدة وظائف لمدير القناة.

ملخص

تتوفر الوظائف في هذه الوحدة عند تمكين ميزة مدير القناة ( OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE ). مدير القناة متاح فقط في بناء FTD.

المهام

otChannelManagerGetAutoChannelSelectionEnabled ( otInstance *aInstance)
bool
تشير هذه الوظيفة إلى ما إذا كانت وظيفة التحديد التلقائي للقناة ممكنة أم لا.
otChannelManagerGetAutoChannelSelectionInterval ( otInstance *aInstance)
uint32_t
تحصل هذه الوظيفة على الفترة الزمنية (بالثواني) التي تستخدمها وظيفة التحديد التلقائي للقناة.
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)
تضبط هذه الوظيفة الفترة الزمنية (بالثواني) التي تستخدمها وظيفة التحديد التلقائي للقناة.
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
)

تشير هذه الوظيفة إلى ما إذا كانت وظيفة التحديد التلقائي للقناة ممكنة أم لا.

تفاصيل
المعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
عائدات
TRUE في حالة التمكين ، FALSE إذا تم تعطيلها.

otChannelManagerGetAutoChannelSelectionInterval

uint32_t otChannelManagerGetAutoChannelSelectionInterval(
  otInstance *aInstance
)

تحصل هذه الوظيفة على الفترة الزمنية (بالثواني) التي تستخدمها وظيفة التحديد التلقائي للقناة.

تفاصيل
المعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
عائدات
الفاصل بالثواني.

otChannelManagerGetDelay

uint16_t otChannelManagerGetDelay(
  otInstance *aInstance
)

تحصل هذه الوظيفة على التأخير (بالثواني) الذي يستخدمه مدير القناة لتغيير القناة.

تفاصيل
المعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
عائدات
التأخير (بالثواني) لتغيير القناة.

otChannelManagerGetFavoredChannels

uint32_t otChannelManagerGetFavoredChannels(
  otInstance *aInstance
)

تحصل هذه الوظيفة على قناع القناة المفضل.

تفاصيل
المعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
عائدات
القنوات المفضلة كقناع بت.

otChannelManagerGetRequestedChannel

uint8_t otChannelManagerGetRequestedChannel(
  otInstance *aInstance
)

تحصل هذه الوظيفة على القناة من آخر مكالمة ناجحة إلى otChannelManagerRequestChannelChange()

تفاصيل
عائدات
آخر قناة مطلوبة أو صفر إذا لم يكن هناك طلب لتغيير القناة بعد.

otChannelManagerGetSupportedChannels

uint32_t otChannelManagerGetSupportedChannels(
  otInstance *aInstance
)

تحصل هذه الوظيفة على قناع القناة المدعوم.

تفاصيل
المعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
عائدات
القنوات المدعومة كقناع بت.

otChannelManagerRequestChannelChange

void otChannelManagerRequestChannelChange(
  otInstance *aInstance,
  uint8_t aChannel
)

تطلب هذه الوظيفة تغيير قناة شبكة الموضوع.

تتحول الشبكة إلى القناة المحددة بعد مهلة محددة (انظر otChannelManagerSetDelay () ). يتم إجراء تغيير القناة عن طريق تحديث مجموعة البيانات التشغيلية المعلقة.

سيؤدي الاستدعاء اللاحق لهذه الوظيفة إلى إلغاء تغيير القناة الجاري المطلوب مسبقًا.

تفاصيل
المعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aChannel
القناة الجديدة لشبكة Thread.

otChannelManagerRequestChannelSelect

otError otChannelManagerRequestChannelSelect(
  otInstance *aInstance,
  bool aSkipQualityCheck
)

تطلب هذه الوظيفة أن يفحص ChannelManager قناة جديدة ويختارها ويبدأ تغيير القناة.

على عكس otChannelManagerRequestChannelChange() حيث يجب إعطاء القناة otChannelManagerRequestChannelChange() ، تطلب هذه الوظيفة من ChannelManager تحديد قناة ChannelManager (بناءً على معلومات جودة القناة المجمعة).

بمجرد الاتصال ، سيقوم مدير القناة بتنفيذ الخطوات الثلاث التالية:

1) ChannelManager يقرر إذا كان التغيير القناة سيكون مفيدا. يمكن تخطي هذا الفحص إذا تم تعيين aSkipQualityCheck على true (فرض تحديد قناة وتخطي فحص الجودة). تستخدم هذه الخطوة مقاييس جودة الارتباط المجمعة على الجهاز (مثل معدل فشل CCA ، ومعدلات خطأ الإطار والرسالة لكل جار ، وما إلى ذلك) لتحديد ما إذا كانت جودة القناة الحالية في المستوى الذي يبرر تغيير القناة.

2) إذا مرت الخطوة الأولى ، ChannelManager قناة يحتمل أن تكون أفضل. يستخدم بيانات جودة القناة المجمعة بواسطة وحدة ChannelMonitor . يتم استخدام القنوات المدعومة والمفضلة في هذه الخطوة. (انظر otChannelManagerSetSupportedChannels () و otChannelManagerSetFavoredChannels () ).

3) إذا كانت القناة المحددة حديثًا مختلفة عن القناة الحالية ، فإن ChannelManager يطلب / يبدأ عملية تغيير القناة (داخليًا استدعاء RequestChannelChange() ).

تفاصيل
المعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aSkipQualityCheck
يشير إلى ما إذا كان يجب تخطي فحص الجودة (الخطوة 1).
إرجاع القيم
OT_ERROR_NONE
تم اختيار القناة بنجاح.
OT_ERROR_NOT_FOUND
قناع القناة المدعوم فارغ ، لذلك لا يمكن تحديد قناة.

otChannelManagerSetAutoChannelSelectionEnabled

void otChannelManagerSetAutoChannelSelectionEnabled(
  otInstance *aInstance,
  bool aEnabled
)

تعمل هذه الوظيفة على تمكين / تعطيل وظيفة التحديد التلقائي للقناة.

عندما مكن، ChannelManager سوف دوريا استدعاء RequestChannelSelect(false) . يمكن تعيين الفاصل الزمني SetAutoChannelSelectionInterval() بواسطة SetAutoChannelSelectionInterval() .

تفاصيل
المعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aEnabled
يشير إلى ما إذا كان سيتم تمكين هذه الوظيفة أو تعطيلها.

otChannelManagerSetAutoChannelSelectionInterval

otError otChannelManagerSetAutoChannelSelectionInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

تضبط هذه الوظيفة الفترة الزمنية (بالثواني) التي تستخدمها وظيفة التحديد التلقائي للقناة.

تفاصيل
المعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aInterval
الفاصل الزمني بالثواني.
إرجاع القيم
OT_ERROR_NONE
تم ضبط الفاصل الزمني بنجاح.
OT_ERROR_INVALID_ARGS
aInterval غير صالح (صفر).

otChannelManagerSetDelay

otError otChannelManagerSetDelay(
  otInstance *aInstance,
  uint16_t aDelay
)

تضبط هذه الوظيفة التأخير (بالثواني) المستخدم لتغيير القناة.

يفضل أن يكون التأخير أطول من الحد الأقصى للفاصل الزمني لاستقصاء البيانات الذي تستخدمه جميع الأجهزة الطرفية الهادئة داخل شبكة الخيط.

تفاصيل
المعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aDelay
تأخير بالثواني.
إرجاع القيم
OT_ERROR_NONE
تم تحديث التأخير بنجاح.
OT_ERROR_INVALID_ARGS
التأخير المحدد aDelay قصير جدًا.

otChannelManagerSetFavoredChannels

void otChannelManagerSetFavoredChannels(
  otInstance *aInstance,
  uint32_t aChannelMask
)

تحدد هذه الوظيفة قناع القناة المفضل.

تفاصيل
المعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aChannelMask
قناع القناة.

otChannelManagerSetSupportedChannels

void otChannelManagerSetSupportedChannels(
  otInstance *aInstance,
  uint32_t aChannelMask
)

تحدد هذه الوظيفة قناع القناة المدعوم.

تفاصيل
المعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aChannelMask
قناع القناة.