מנהל ערוץ

המודול הזה כולל פונקציות למנהל הערוץ.

סיכום

הפונקציות במודול הזה זמינות כשהתכונה 'מנהל הערוץ' (OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE) מופעלת. אפשר להשתמש ב-Channel Manager רק בפורמט 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
פונקציה זו מבקשת שינוי של ערוץ Thread.
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.
החזרות
הערוצים המועדפים כמסכת ביט.

otChannelManagerGetRequestChannel

uint8_t otChannelManagerGetRequestedChannel(
  otInstance *aInstance
)

פונקציה זו מעבירה את הערוץ מהשיחה האחרונה שבוצעה בהצלחה אל otChannelManagerRequestChannelChange()

פרטים
החזרות
הערוץ האחרון שהתבקש או אפס, אם עדיין לא נשלחה בקשה לשינוי ערוץ.

otChannelManagerGetSupportedChannels

uint32_t otChannelManagerGetSupportedChannels(
  otInstance *aInstance
)

פונקציה זו מקבלת את מסיכת הערוץ הנתמכת.

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
החזרות
הערוצים הנתמכים כמסכת ביט.

otChannelManagerRequestChannelChange

void otChannelManagerRequestChannelChange(
  otInstance *aInstance,
  uint8_t aChannel
)

פונקציה זו מבקשת שינוי של ערוץ Thread.

הרשת עוברת לערוץ הנתון לאחר עיכוב נתון (ראו otChannelManagerSetDelay()). שינוי הערוץ מתבצע על ידי עדכון מערך הנתונים הממתין לפעולה.

קריאה נוספת לפונקציה הזו תבטל שינוי נוכחי של ערוץ.

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
[in] aChannel
הערוץ החדש של רשת השרשורים.

otChannelManagerRequestChannelSelect

otError otChannelManagerRequestChannelSelect(
  otInstance *aInstance,
  bool aSkipQualityCheck
)

פונקציה זו מבקשת שמערכת ChannelManager תבדוק ותבחר ערוץ חדש ותתחיל שינוי ערוץ.

בניגוד ל-otChannelManagerRequestChannelChange() שבו יש לציין את הערוץ כפרמטר, הפונקציה הזו מבקשת מ-ChannelManager לבחור ערוץ בפני עצמו (על סמך פרטי איכות הערוץ שנאספו.

לאחר הקריאה, מנהל הערוץ יבצע את 3 השלבים הבאים:

1) ChannelManager מחליט אם השינוי בערוץ יעזור. ניתן לדלג על הבדיקה הזו אם הערך של aSkipQualityCheck מוגדר כ-True (מאלץ בחירה של ערוץ ודילוג על בדיקת האיכות). בשלב הזה אנחנו משתמשים במדדים שנאספו לגבי איכות הקישור במכשיר (למשל: שיעור הכישלון של CCA, שיעור השגיאות הקשורות למסגרת ולהודעה, לפי הערך של השכן וכו') כדי לקבוע אם איכות הערוץ הנוכחית היא ברמה שמחייבת שינוי בערוץ.

2) אם השלב הראשון יעבור, ChannelManager תבחר ערוץ שיכול להיות טוב יותר. היא משתמשת בנתוני האיכות של הערוץ שנאספו באמצעות המודול ChannelMonitor. בשלב הזה נעשה שימוש בערוצים הנתמכים והמועדפים. (ראו otChannelManagerSetSupportChannels() ו-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().

פרטים
פרמטרים
[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
)

פונקציה זו מגדירה את ההשהיה (בשניות) שמשמשת לשינוי ערוץ.

רצוי שהעיכוב יהיה ארוך ממרווח הזמן המרבי של סקרי הנתונים שבו נעשה שימוש בכל המכשירים הרלוונטיים במצב שינה בתוך רשת Thread.

פרטים
פרמטרים
[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
מסיכת ערוץ.

otChannelManagerSetEnabledChannels

void otChannelManagerSetSupportedChannels(
  otInstance *aInstance,
  uint32_t aChannelMask
)

פונקציה זו מגדירה את מסיכת הערוץ הנתמכת.

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
[in] aChannelMask
מסיכת ערוץ.

מקורות מידע

נושאי עזר של OpenThread API מגיעים מקוד המקור, שזמין ב-GitHub. למידע נוסף או כדי להוסיף מידע למסמכים שלנו, יש לעיין במשאבים.