Google is committed to advancing racial equity for Black communities. See how.

مدير القناة

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

ملخص

تتوفر الوظائف في هذه الوحدة عند تمكين ميزة مدير القناة ( 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
)

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

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

otChannelManagerGetAutoChannelSelectionInterval

uint32_t otChannelManagerGetAutoChannelSelectionInterval(
  otInstance *aInstance
)

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

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

otChannelManagerGetCcaFailureRateThreshold

uint16_t otChannelManagerGetCcaFailureRateThreshold(
  otInstance *aInstance
)

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

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

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 على "صواب" (فرض تحديد قناة وتخطي فحص الجودة). تستخدم هذه الخطوة مقاييس جودة الارتباط المجمعة على الجهاز (مثل معدل فشل 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 غير صالح (صفر).

otChannelManagerSetCcaFailureRateThreshold

void otChannelManagerSetCcaFailureRateThreshold(
  otInstance *aInstance,
  uint16_t aThreshold
)

تحدد هذه الوظيفة عتبة معدل فشل CCA.

تفاصيل
المعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aThreshold
عتبة معدل فشل CCA. يتم تعيين القيمة 0 إلى 0٪ وتعيين 0xffff إلى 100٪.

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
قناع القناة.