Мониторинг канала
Этот модуль включает в себя функции для функции мониторинга канала.
Краткое содержание
Функции в этом модуле доступны, когда включена функция монитора канала ( 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) | Включает или отключает операцию мониторинга канала. |
Функции
otChannelMonitorGetChannelOccupancy
uint16_t otChannelMonitorGetChannelOccupancy( otInstance *aInstance, uint8_t aChannel )
Получает текущую занятость канала для данного канала.
Значение занятости канала представляет собой среднюю скорость/процент выборок RSSI, которые превышают пороговое значение RSSI («плохие» выборки RSSI).
Для первых выборок "окна выборки" среднее значение сохраняется как фактический процент (т. е. отношение числа "плохих" выборок к общему количеству выборок). После «оконных» выборок усреднитель использует экспоненциально взвешенное скользящее среднее. На практике это означает, что среднее значение является репрезентативным для 3 * window
, при этом наибольший вес присваивается последним выборкам kSampleWindow
.
Максимальное значение 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 )
Указывает, включена ли и выполняется ли операция мониторинга канала.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возвращает | TRUE, если включена операция мониторинга канала, FALSE в противном случае. |
отчаннелмониторсетенаблед
otError otChannelMonitorSetEnabled( otInstance *aInstance, bool aEnabled )
Включает или отключает операцию мониторинга канала.
После запуска операции все ранее собранные данные удаляются. Однако после отключения операции предыдущие собранные данные остаются действительными и могут быть прочитаны.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|
Ресурсы
Разделы справочника по API OpenThread взяты из исходного кода, доступного на GitHub . Чтобы получить дополнительную информацию или внести свой вклад в нашу документацию, обратитесь к разделу Ресурсы .