Менеджер канала

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

Резюме

Функции в этом модуле доступны, когда включена функция Channel Manager ( OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE ). Диспетчер каналов доступен только в сборке 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
Эта функция запрашивает изменение сетевого канала потока.
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.
Возврат
ИСТИНА, если включено, ЛОЖЬ, если отключено.

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.
Возврат
Избранные каналы как битовая маска.

otChannelManagerGetRequestedChannel

uint8_t otChannelManagerGetRequestedChannel(
  otInstance *aInstance
)

Эта функция получает канал из последнего успешного вызова otChannelManagerRequestChannelChange()

Подробности
Возврат
Последний запрошенный канал или ноль, если еще не было запроса на смену канала.

otChannelManagerGetSupportedChannels

uint32_t otChannelManagerGetSupportedChannels(
  otInstance *aInstance
)

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

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

otChannelManagerRequestChannelChange

void otChannelManagerRequestChannelChange(
  otInstance *aInstance,
  uint8_t aChannel
)

Эта функция запрашивает изменение сетевого канала потока.

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

Последующий вызов этой функции отменит текущее ранее запрошенное изменение канала.

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

otChannelManagerRequestChannelSelect

otError otChannelManagerRequestChannelSelect(
  otInstance *aInstance,
  bool aSkipQualityCheck
)

Эта функция запрашивает у ChannelManager проверку и выбор нового канала и запуск смены канала.

В отличие от otChannelManagerRequestChannelChange() где канал должен быть указан как параметр, эта функция просит ChannelManager самостоятельно выбрать канал (на основе собранной информации о качестве канала).

После вызова диспетчер каналов выполнит следующие 3 шага:

1) ChannelManager решает, поможет ли смена канала. Эту проверку можно пропустить, если для aSkipQualityCheck установлено значение true (принудительный выбор канала и пропуск проверки качества). На этом этапе используются собранные на устройстве метрики качества связи (такие как частота отказов CCA, частота кадров и ошибок сообщений на соседа и т. Д.), Чтобы определить, находится ли текущее качество канала на уровне, который оправдывает изменение канала.

2) Если первый шаг прошел, ChannelManager выберет потенциально лучший канал. Он использует данные о качестве канала, собранные модулем ChannelMonitor . На этом этапе используются поддерживаемые и избранные каналы. (см. otChannelManagerSetSupportedChannels () и 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
)

Эта функция устанавливает задержку (в секундах), используемую для смены канала.

Желательно, чтобы задержка была больше, чем максимальный интервал опроса данных, используемый всеми неактивными конечными устройствами в сети потока.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aDelay
Задержка в секундах.
Возвращаемые значения
OT_ERROR_NONE
Задержка успешно обновлена.
OT_ERROR_INVALID_ARGS
aDelay задержка aDelay слишком мала.

otChannelManagerSetFavoredChannels

void otChannelManagerSetFavoredChannels(
  otInstance *aInstance,
  uint32_t aChannelMask
)

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

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

otChannelManagerSetSupportedChannels

void otChannelManagerSetSupportedChannels(
  otInstance *aInstance,
  uint32_t aChannelMask
)

Эта функция устанавливает поддерживаемую маску канала.

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