Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。

チャネルマネージャー

このモジュールには、チャネルマネージャの機能が含まれています。

概要

このモジュールの機能は、チャネルマネージャ機能( OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE )が有効になっている場合に使用できます。 Channel Managerは、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インスタンスへのポインタ。
戻り値
有効な場合はTRUE、無効な場合はFALSE。

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
スレッドネットワークの新しいチャネル。

otChannelManagerRequestChannelSelect

otError otChannelManagerRequestChannelSelect(
  otInstance *aInstance,
  bool aSkipQualityCheck
)

この関数は、 ChannelManagerが新しいチャネルをチェックして選択し、チャネルの変更を開始することを要求します。

チャネルをパラメータとして指定する必要があるotChannelManagerRequestChannelChange()とは異なり、この関数はChannelManagerに(収集されたチャネル品質情報に基づいて)チャネルを単独で選択するようにChannelManagerします。

呼び出されると、チャネルマネージャは次の3つの手順を実行します。

1) ChannelManagerは、チャネルの変更が役立つかどうかを判断します。 aSkipQualityCheckがtrueに設定されている場合(チャネル選択を強制的に実行し、品質チェックをスキップする)、このチェックをスキップできます。このステップでは、デバイスで収集されたリンク品質メトリック(CCA障害率、ネイバーごとのフレームおよびメッセージエラー率など)を使用して、現在のチャネル品質がチャネル変更を正当化するレベルにあるかどうかを判断します。

2)最初のステップが通過すると、 ChannelManagerは潜在的に優れたチャネルを選択します。 ChannelMonitorモジュールによって収集されたチャネル品質データをChannelMonitorます。このステップでは、サポートされている優先チャネルが使用されます。 ( otChannelManagerSetSupportedChannels()およびotChannelManagerSetFavoredChannels()を参照してください)。

3)新しく選択されたチャネルが現在のチャネルと異なる場合、 ChannelManagerはチャネル変更プロセスを要求/開始します(内部でChannelManager RequestChannelChange()を呼び出します)。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[in] aSkipQualityCheck
品質チェック(ステップ1)をスキップするかどうかを示します。
戻り値
OT_ERROR_NONE
チャンネルの選択は正常に終了しました。
OT_ERROR_NOT_FOUND
サポートされているチャネルマスクが空であるため、チャネルを選択できませんでした。

otChannelManagerSetAutoChannelSelectionEnabled

void otChannelManagerSetAutoChannelSelectionEnabled(
  otInstance *aInstance,
  bool aEnabled
)

この機能は、自動チャネル選択機能を有効/無効にします。

有効にすると、 ChannelManagerは定期的に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が短すぎます。

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
チャネルマスク。