مراقبة القناة
تتضمن هذه الوحدة وظائف لميزة مراقبة القناة.
ملخص
تتوفر الوظائف في هذه الوحدة عند تمكين ميزة مراقبة القناة ( OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE
).
ستراقب مراقبة القناة جميع القنوات بشكل دوري للمساعدة في تحديد القنوات الأنظف (القنوات ذات التداخل الأقل).
عندما تكون مراقبة القناة نشطة ، يتم إجراء مسح طاقة لمدة صفر ، مع جمع عينة RSSI واحدة على كل قناة لكل فترة عينة. تتم مقارنة عينات RSSI مع حد RSSI المحدد مسبقًا. كمؤشر لجودة القناة ، تحافظ وحدة مراقبة القناة وتوفر متوسط المعدل / النسبة المئوية لعينات RSSI التي تكون أعلى من الحد الأدنى داخل (تقريبًا) نافذة عينة محددة (يشار إليها باسم شغل القناة).
المهام | |
---|---|
otChannelMonitorGetChannelOccupancy ( otInstance *aInstance, uint8_t aChannel) | uint16_t يحصل على شغل القناة الحالي لقناة معينة. |
otChannelMonitorGetRssiThreshold ( otInstance *aInstance) | int8_t احصل على حد RSSI لمراقبة القناة بالديسيبل. |
otChannelMonitorGetSampleCount ( otInstance *aInstance) | uint32_t احصل على العدد الإجمالي لمراقبة القناة من عينات RSSI (لكل قناة). |
otChannelMonitorGetSampleInterval ( otInstance *aInstance) | uint32_t احصل على عينة الفاصل الزمني لمراقبة القناة بالمللي ثانية. |
otChannelMonitorGetSampleWindow ( otInstance *aInstance) | uint32_t احصل على مراقبة القناة بمتوسط طول نافذة العينة (عدد العينات). |
otChannelMonitorIsEnabled ( otInstance *aInstance) | bool تشير هذه الوظيفة إلى ما إذا تم تمكين عملية مراقبة القناة وتشغيلها. |
otChannelMonitorSetEnabled ( otInstance *aInstance, bool aEnabled) | تعمل هذه الوظيفة على تمكين / تعطيل عملية مراقبة القناة. |
المهام
otChannelMonitorGetChannelOcupancy
uint16_t otChannelMonitorGetChannelOccupancy( otInstance *aInstance, uint8_t aChannel )
يحصل على شغل القناة الحالي لقناة معينة.
تمثل قيمة شغل القناة متوسط المعدل / النسبة المئوية لعينات RSSI التي كانت أعلى من حد RSSI (عينات RSSI "سيئة").
بالنسبة لعينات "نافذة العينة" الأولى ، يتم الاحتفاظ بالمتوسط كنسبة مئوية فعلية (أي نسبة عدد العينات "السيئة" حسب العدد الإجمالي للعينات). بعد عينات "النافذة" ، يستخدم الوسيط متوسط متحرك مرجح بشكل أسي. عمليًا ، هذا يعني أن المتوسط يمثل ما يصل إلى 3 * window
عينات 3 * window
أخيرة بأعلى وزن مُعطى لأحدث عينات kSampleWindow
.
تشير القيمة 0xffff
لـ 0xffff
إلى أن جميع عينات RSSI كانت أعلى من حد RSSI (أي أن 100٪ من العينات كانت "سيئة").
تفاصيل | |||||
---|---|---|---|---|---|
المعلمات |
| ||||
عائدات | شغل القناة الحالي للقناة المحددة. |
otChannelMonitorGetRssiThreshold
int8_t otChannelMonitorGetRssiThreshold( otInstance *aInstance )
احصل على حد RSSI لمراقبة القناة بالديسيبل.
تفاصيل | |||
---|---|---|---|
المعلمات |
| ||
عائدات | حد RSSI بالديسيبل. |
otChannelMonitorGetSampleCount
uint32_t otChannelMonitorGetSampleCount( otInstance *aInstance )
احصل على العدد الإجمالي لمراقبة القناة من عينات RSSI (لكل قناة).
يشير العدد إلى إجمالي عدد العينات لكل قناة بواسطة وحدة مراقبة القناة منذ بدايتها (منذ أن تم تمكين واجهة شبكة Thread).
تفاصيل | |||
---|---|---|---|
المعلمات |
| ||
عائدات | العدد الإجمالي لعينات RSSI (لكل قناة) المأخوذة حتى الآن. |
otChannelMonitorGetSampleInterval
uint32_t otChannelMonitorGetSampleInterval( otInstance *aInstance )
احصل على عينة الفاصل الزمني لمراقبة القناة بالمللي ثانية.
تفاصيل | |||
---|---|---|---|
المعلمات |
| ||
عائدات | فترة عينة مراقبة القناة بالميلي ثانية. |
otChannelMonitorGetSampleWindow
uint32_t otChannelMonitorGetSampleWindow( otInstance *aInstance )
احصل على مراقبة القناة بمتوسط طول نافذة العينة (عدد العينات).
تفاصيل | |||
---|---|---|---|
المعلمات |
| ||
عائدات | نافذة العينة المتوسطة. |
otChannelMonitorIsEnabled
bool otChannelMonitorIsEnabled( otInstance *aInstance )
تشير هذه الوظيفة إلى ما إذا تم تمكين عملية مراقبة القناة وتشغيلها.
تفاصيل | |||
---|---|---|---|
المعلمات |
| ||
عائدات | صواب إذا تم تمكين عملية مراقبة القناة ، وخلاف ذلك خطأ. |
otChannelMonitorSetEnabled
otError otChannelMonitorSetEnabled( otInstance *aInstance, bool aEnabled )
تعمل هذه الوظيفة على تمكين / تعطيل عملية مراقبة القناة.
بمجرد بدء العملية ، يتم مسح أي بيانات تم جمعها مسبقًا. ومع ذلك ، بعد تعطيل العملية ، تظل البيانات المجمعة السابقة صالحة ويمكن قراءتها.
تفاصيل | |||||
---|---|---|---|---|---|
المعلمات |
| ||||
إرجاع القيم |
|