Channel Manager

This module includes configuration variables for Channel Manager.

Summary

Macros

OPENTHREAD_CONFIG_CHANNEL_MANAGER_CCA_FAILURE_THRESHOLD (0xffff * 14 / 100)
Default minimum CCA failure rate threshold on current channel before Channel Manager starts channel selection attempt.
OPENTHREAD_CONFIG_CHANNEL_MANAGER_CSL_CHANNEL_SELECT_ENABLE 0
Define as 1 to enable Channel Manager support for selecting CSL channels.
OPENTHREAD_CONFIG_CHANNEL_MANAGER_DEFAULT_AUTO_SELECT_INTERVAL (3 * 60 * 60)
The default time interval (in seconds) used by Channel Manager for auto-channel-selection functionality.
OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE 0
Define as 1 to enable Channel Manager support.
OPENTHREAD_CONFIG_CHANNEL_MANAGER_MINIMUM_DELAY 120
The minimum delay (in seconds) used by Channel Manager module for performing a channel change.
OPENTHREAD_CONFIG_CHANNEL_MANAGER_MINIMUM_MONITOR_SAMPLE_COUNT 500
The minimum number of RSSI samples per channel by Channel Monitoring feature before the collected data can be used by the Channel Manager module to (auto) select a better channel.
OPENTHREAD_CONFIG_CHANNEL_MANAGER_THRESHOLD_TO_CHANGE_CHANNEL (0xffff * 10 / 100)
This threshold specifies the minimum occupancy rate difference required between the current channel and a newly selected channel for Channel Manager to allow channel change to the new channel.
OPENTHREAD_CONFIG_CHANNEL_MANAGER_THRESHOLD_TO_SKIP_FAVORED (0xffff * 7 / 100)
This threshold specifies the minimum occupancy rate difference between two channels for the Channel Manager to prefer an unfavored channel over the best favored one.

Macros

OPENTHREAD_CONFIG_CHANNEL_MANAGER_CCA_FAILURE_THRESHOLD

 OPENTHREAD_CONFIG_CHANNEL_MANAGER_CCA_FAILURE_THRESHOLD (0xffff * 14 / 100)

Default minimum CCA failure rate threshold on current channel before Channel Manager starts channel selection attempt.

Value 0 maps to 0% and 0xffff maps to 100%.

Applicable only if Channel Manager feature is enabled (i.e., OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE is set).

OPENTHREAD_CONFIG_CHANNEL_MANAGER_CSL_CHANNEL_SELECT_ENABLE

 OPENTHREAD_CONFIG_CHANNEL_MANAGER_CSL_CHANNEL_SELECT_ENABLE 0

Define as 1 to enable Channel Manager support for selecting CSL channels.

OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE must be enabled in addition.

OPENTHREAD_CONFIG_CHANNEL_MANAGER_DEFAULT_AUTO_SELECT_INTERVAL

 OPENTHREAD_CONFIG_CHANNEL_MANAGER_DEFAULT_AUTO_SELECT_INTERVAL (3 * 60 * 60)

The default time interval (in seconds) used by Channel Manager for auto-channel-selection functionality.

Applicable only if Channel Manager feature is enabled (i.e., OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE is set).

OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE

 OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE 0

Define as 1 to enable Channel Manager support.

OPENTHREAD_CONFIG_CHANNEL_MANAGER_MINIMUM_DELAY

 OPENTHREAD_CONFIG_CHANNEL_MANAGER_MINIMUM_DELAY 120

The minimum delay (in seconds) used by Channel Manager module for performing a channel change.

The minimum delay should preferably be longer than maximum data poll interval used by all sleepy-end-devices within the Thread network.

Applicable only if Channel Manager feature is enabled (i.e., OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE is set).

OPENTHREAD_CONFIG_CHANNEL_MANAGER_MINIMUM_MONITOR_SAMPLE_COUNT

 OPENTHREAD_CONFIG_CHANNEL_MANAGER_MINIMUM_MONITOR_SAMPLE_COUNT 500

The minimum number of RSSI samples per channel by Channel Monitoring feature before the collected data can be used by the Channel Manager module to (auto) select a better channel.

Applicable only if Channel Manager and Channel Monitoring features are both enabled (i.e., OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE and OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE are set).

OPENTHREAD_CONFIG_CHANNEL_MANAGER_THRESHOLD_TO_CHANGE_CHANNEL

 OPENTHREAD_CONFIG_CHANNEL_MANAGER_THRESHOLD_TO_CHANGE_CHANNEL (0xffff * 10 / 100)

This threshold specifies the minimum occupancy rate difference required between the current channel and a newly selected channel for Channel Manager to allow channel change to the new channel.

The difference is based on the ChannelMonitor::GetChannelOccupancy() definition which provides the average percentage of RSSI samples (within a time window) indicating that channel was busy (i.e., RSSI value higher than a threshold). Value 0 maps to 0% rate and 0xffff maps to 100%.

Applicable only if Channel Manager feature is enabled (i.e., OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE is set).

OPENTHREAD_CONFIG_CHANNEL_MANAGER_THRESHOLD_TO_SKIP_FAVORED

 OPENTHREAD_CONFIG_CHANNEL_MANAGER_THRESHOLD_TO_SKIP_FAVORED (0xffff * 7 / 100)

This threshold specifies the minimum occupancy rate difference between two channels for the Channel Manager to prefer an unfavored channel over the best favored one.

This is used when (auto) selecting a channel based on the collected channel quality data by "channel monitor" feature.

The difference is based on the ChannelMonitor::GetChannelOccupancy() definition which provides the average percentage of RSSI samples (within a time window) indicating that channel was busy (i.e., RSSI value higher than a threshold). Value 0 maps to 0% and 0xffff maps to 100%.

Applicable only if Channel Manager feature is enabled (i.e., OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE is set).

Resources

OpenThread API Reference topics originate from the source code, available on GitHub. For more information, or to contribute to our documentation, refer to Resources.