Мониторинг каналов

Этот модуль включает функции для функции мониторинга каналов.

Резюме

Функции в этом модуле доступны, когда включена функция монитора канала ( 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% образцов были «плохими»).

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aChannel
Канал, для которого нужно получить занятость ссылки.
Возврат
Текущая занятость данного канала.

otChannelMonitorGetRssiThreshold

int8_t otChannelMonitorGetRssiThreshold(
  otInstance *aInstance
)

Получите пороговое значение RSSI для мониторинга канала в дБм.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
Пороговое значение RSSI в дБм.

otChannelMonitorGetSampleCount

uint32_t otChannelMonitorGetSampleCount(
  otInstance *aInstance
)

Получите мониторинг канала, общее количество выборок RSSI (на канал).

Счетчик показывает общее количество выборок на канал модулем мониторинга каналов с момента его запуска (с момента включения сетевого интерфейса Thread).

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
Общее количество отсчетов RSSI (на канал), взятых на данный момент.

otChannelMonitorGetSampleInterval

uint32_t otChannelMonitorGetSampleInterval(
  otInstance *aInstance
)

Получите интервал выборки мониторинга канала в миллисекундах.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
Интервал выборки монитора канала в миллисекундах.

otChannelMonitorGetSampleWindow

uint32_t otChannelMonitorGetSampleWindow(
  otInstance *aInstance
)

Получите мониторинг канала, усредняя длину окна выборки (количество выборок).

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
Окно выборки усреднения.

otChannelMonitorIsEnabled

bool otChannelMonitorIsEnabled(
  otInstance *aInstance
)

Эта функция указывает, включена ли операция мониторинга канала и работает ли она.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
ИСТИНА, если включена операция мониторинга канала, иначе - ЛОЖЬ.

otChannelMonitorSetEnabled

otError otChannelMonitorSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Эта функция включает / выключает операцию мониторинга канала.

После запуска операции все ранее собранные данные удаляются. Однако после отключения операции предыдущие собранные данные все еще действительны и могут быть прочитаны.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aEnabled
TRUE для включения / запуска операции мониторинга канала, FALSE для ее отключения / остановки.
Возвращаемые значения
OT_ERROR_NONE
Состояние мониторинга канала успешно изменено
OT_ERROR_ALREADY
Мониторинг каналов уже находится в таком же состоянии.