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

チャネル管理者

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

概要

このモジュールの関数は、チャネル マネージャー機能(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
この関数は、Thread ネットワーク チャンネルの変更をリクエストします。
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
この関数は、サポートされているチャンネル マスクを設定します。

関数

otChannelManagerGet 自動チャネル選択

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
)

この関数は、Thread ネットワーク チャンネルの変更をリクエストします。

指定した遅延が経過すると、ネットワークは指定したチャンネルに切り替えます(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
サポートされているチャンネル マスクは空白のため、チャンネルを選択できません。

otChannelManagerSet 自動チャンネル選択の有効化

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 は短すぎます。

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

リソース

OpenThread API リファレンスのトピックは、GitHub で入手できるソースコードに基づいています。 詳細については、ドキュメントをご覧ください。