مدیر کانال
این ماژول شامل توابعی برای Channel Manager است.
خلاصه
عملکردهای این ماژول زمانی در دسترس هستند که ویژگی مدیر کانال ( 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 )
نشان می دهد که آیا عملکرد انتخاب خودکار کانال فعال است یا خیر.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | اگر فعال باشد درست است، اگر غیرفعال باشد نادرست. |
otChannelManagerGetAutoChannelSelectionInterval
uint32_t otChannelManagerGetAutoChannelSelectionInterval( otInstance *aInstance )
بازه دوره (بر حسب ثانیه) مورد استفاده توسط عملکرد انتخاب خودکار کانال را دریافت می کند.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | فاصله بر حسب ثانیه |
otChannelManagerGetCcaFailureRate Threshold
uint16_t otChannelManagerGetCcaFailureRateThreshold( otInstance *aInstance )
آستانه نرخ شکست CCA را دریافت می کند.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | آستانه نرخ شکست CCA. 0 نقشه ها را تا 0% و نقشه های 0xffff را تا 100% ارزش گذاری کنید. |
otChannelManagerGetDelay
uint16_t otChannelManagerGetDelay( otInstance *aInstance )
تأخیر (بر حسب ثانیه) توسط مدیر کانال برای تغییر کانال را دریافت می کند.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | تاخیر (بر حسب ثانیه) برای تغییر کانال. |
otChannelManagerGetFavoredChannels
uint32_t otChannelManagerGetFavoredChannels( otInstance *aInstance )
ماسک کانال مورد علاقه را دریافت می کند.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | کانال های مورد علاقه به عنوان یک بیت ماسک. |
otChannelManagerGetRequestedChannel
uint8_t otChannelManagerGetRequestedChannel( otInstance *aInstance )
کانال را از آخرین تماس موفق با otChannelManagerRequestChannelChange()
دریافت می کند
جزئیات | |
---|---|
برمی گرداند | آخرین کانال درخواستی یا صفر اگر هنوز درخواست تغییر کانال وجود نداشته باشد. |
otChannelManagerGetSupportedChannels
uint32_t otChannelManagerGetSupportedChannels( otInstance *aInstance )
ماسک کانال پشتیبانی شده را دریافت می کند.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | کانال های پشتیبانی شده به عنوان یک بیت ماسک. |
otChannelManagerRequestChannelChange
void otChannelManagerRequestChannelChange( otInstance *aInstance, uint8_t aChannel )
درخواست تغییر کانال شبکه Thread را دارد.
شبکه پس از یک تاخیر مشخص به کانال داده شده سوئیچ می کند (به otChannelManagerSetDelay() مراجعه کنید). تغییر کانال با بهروزرسانی مجموعه دادههای عملیاتی در انتظار انجام میشود.
تماس بعدی، تغییر کانالی را که قبلاً درخواست شده بود لغو میکند.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
|
otChannelManagerRequestChannelSelect
otError otChannelManagerRequestChannelSelect( otInstance *aInstance, bool aSkipQualityCheck )
از ChannelManager
درخواست می کند که کانال جدیدی را بررسی و انتخاب کند و تغییر کانال را شروع کند.
برخلاف otChannelManagerRequestChannelChange()
که در آن کانال باید به عنوان پارامتر داده شود، این تابع از ChannelManager
می خواهد که به تنهایی یک کانال را انتخاب کند (بر اساس اطلاعات جمع آوری شده کیفیت کانال).
پس از تماس، مدیر کانال 3 مرحله زیر را انجام می دهد:
1) ChannelManager
تصمیم می گیرد که آیا تغییر کانال مفید است یا خیر. اگر aSkipQualityCheck
روی درست تنظیم شود (اجبار کردن انتخاب کانال و رد شدن از بررسی کیفیت) میتوان از این بررسی صرفنظر کرد. این مرحله از معیارهای کیفیت پیوند جمعآوریشده در دستگاه (مانند نرخ شکست CCA، نرخ خطای فریم و پیام به ازای هر همسایه و غیره) استفاده میکند تا مشخص کند آیا کیفیت کانال فعلی در سطحی است که تغییر کانال را توجیه میکند یا خیر.
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 )
بازه دوره (بر حسب ثانیه) مورد استفاده توسط عملکرد انتخاب خودکار کانال را تنظیم می کند.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
ارزش های بازگشتی |
|
otChannelManagerSetCcaFailureRate Threshold
void otChannelManagerSetCcaFailureRateThreshold( otInstance *aInstance, uint16_t aThreshold )
آستانه نرخ شکست CCA را تنظیم می کند.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
|
otChannelManagerSetDelay
otError otChannelManagerSetDelay( otInstance *aInstance, uint16_t aDelay )
تأخیر (بر حسب ثانیه) مورد استفاده برای تغییر کانال را تنظیم می کند.
تأخیر ترجیحاً باید بیشتر از حداکثر فاصله نظرسنجی داده استفاده شده توسط همه دستگاههای پایان خواب در شبکه Thread باشد.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
ارزش های بازگشتی |
|
otChannelManagerSetFavoredChannels
void otChannelManagerSetFavoredChannels( otInstance *aInstance, uint32_t aChannelMask )
ماسک کانال مورد علاقه را تنظیم می کند.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
|
otChannelManagerSetSupportedChannels
void otChannelManagerSetSupportedChannels( otInstance *aInstance, uint32_t aChannelMask )
ماسک کانال پشتیبانی شده را تنظیم می کند.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
|
منابع
موضوعات مرجع OpenThread API از کد منبع موجود در GitHub سرچشمه می گیرند. برای اطلاعات بیشتر، یا مشارکت در اسناد ما، به منابع مراجعه کنید.