チャネル管理者
このモジュールには、チャンネル マネージャー用の関数が含まれています。
まとめ
このモジュールの機能は、チャネル マネージャー機能(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
サポートされているチャンネル マスクを設定します。
|
関数
otChannelManagerGetAutoChannelSelectionEnabled
bool otChannelManagerGetAutoChannelSelectionEnabled( otInstance *aInstance )
自動チャンネル選択機能が有効かどうかを示します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
有効な場合は TRUE、無効にする場合は FALSE。
|
otChannelManagerGetAutoChannelSelectionInterval
uint32_t otChannelManagerGetAutoChannelSelectionInterval( otInstance *aInstance )
自動チャンネル選択機能で使用される期間(秒単位)を取得します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
間隔(秒)。
|
otChannelManagerGetCcaFailureRateThreshold
uint16_t otChannelManagerGetCcaFailureRateThreshold( otInstance *aInstance )
CCA 失敗率のしきい値を取得します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
CCA 失敗率のしきい値。値 0 は 0% にマッピングされ、0xffff は 100% にマッピングされます。
|
otChannelManagerGetDelay
uint16_t otChannelManagerGetDelay( otInstance *aInstance )
チャンネル変更時にチャンネル マネージャーが使用する遅延(秒単位)を取得します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
チャンネル変更の遅延(秒単位)。
|
otChannelManagerGetFavoredChannels
uint32_t otChannelManagerGetFavoredChannels( otInstance *aInstance )
優先するチャンネル マスクを取得します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
優先チャネルをビットマスクとして使用する。
|
otChannelManagerGetRequestedChannel
uint8_t otChannelManagerGetRequestedChannel( otInstance *aInstance )
最後に otChannelManagerRequestChannelChange()
を呼び出した際にチャンネルを取得
詳細 | |
---|---|
戻り値 |
最後にリクエストしたチャンネル、またはまだチャンネル変更リクエストがない場合はゼロ。
|
otChannelManagerGetSupportedChannels
uint32_t otChannelManagerGetSupportedChannels( otInstance *aInstance )
サポートされているチャンネル マスクを取得します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
サポートされているチャネルをビットマスクとして使用。
|
otChannelManagerRequestChannelChange
void otChannelManagerRequestChannelChange( otInstance *aInstance, uint8_t aChannel )
Thread ネットワーク チャンネルの変更をリクエストします。
指定した遅延の後、ネットワークが所定のチャンネルに切り替わります(otChannelManagerSetDelay() を参照)。保留中の変更は、保留中のオペレーショナル データセットを更新することによって行われます。
次回の呼び出しを行うと、以前にリクエストされたチャネルの変更がキャンセルされます。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
otChannelManagerRequestChannelSelect
otError otChannelManagerRequestChannelSelect( otInstance *aInstance, bool aSkipQualityCheck )
ChannelManager
が新しいチャンネルを確認して選択し、チャンネルの変更を開始するようリクエストします。
チャンネルをパラメータとして指定する otChannelManagerRequestChannelChange()
とは異なり、この関数は ChannelManager
に(収集されたチャンネル品質情報に基づいて)チャンネルを選択するよう要求します。
チャンネル マネージャーが呼び出されると、チャンネル マネージャーは次の 3 つのステップを実行します。
1)ChannelManager
は、チャンネルの変更が有益かどうかを判断します。aSkipQualityCheck
が true に設定されている場合は、このチェックをスキップできます(チャンネルの選択が強制的に行われ、品質チェックもスキップされます)。このステップでは、デバイスで収集されたリンク品質指標(CCA エラー率、ネイバーあたりのフレームエラー率とメッセージ エラー率など)を使用して、現在のチャンネル品質がチャンネル変更の妥当性レベルかどうかを判断します。
2)最初のステップが成功すると、ChannelManager
により、より優れた可能性があるチャネルが選択されます。ChannelMonitor
モジュールで収集されたチャンネル品質データを使用します。このステップでは、サポートされているチャンネルと優先チャンネルを使用します。(otChannelManagerSetSupportedChannels() と otChannelManagerSetFavoredChannels() をご覧ください)。
3)新しく選択されたチャンネルが現在のチャンネルと異なる場合、ChannelManager
がチャンネル変更プロセスをリクエスト/開始します(内部で RequestChannelChange()
を呼び出します)。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
otChannelManagerSetAutoChannelSelectionEnabled
void otChannelManagerSetAutoChannelSelectionEnabled( otInstance *aInstance, bool aEnabled )
自動チャンネル選択機能を有効または無効にします。
有効にすると、ChannelManager
が定期的に RequestChannelSelect(false)
を呼び出します。期間の間隔は SetAutoChannelSelectionInterval()
で設定できます。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
otChannelManagerSetAutoChannelSelectionInterval
otError otChannelManagerSetAutoChannelSelectionInterval( otInstance *aInstance, uint32_t aInterval )
自動チャンネル選択機能で使用される期間(秒単位)を設定します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
otChannelManagerSetCcaFailureRateThreshold
void otChannelManagerSetCcaFailureRateThreshold( otInstance *aInstance, uint16_t aThreshold )
CCA 失敗率のしきい値を設定します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
otChannelManagerSetDelay
otError otChannelManagerSetDelay( otInstance *aInstance, uint16_t aDelay )
チャンネルの変更に使用する遅延(秒単位)を設定します。
この遅延は、Thread ネットワーク内のすべてのスリープエンド デバイスによって使用される最大データポーリング間隔よりも長くすることが望ましいです。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
otChannelManagerSetFavoredChannels
void otChannelManagerSetFavoredChannels( otInstance *aInstance, uint32_t aChannelMask )
優先するチャンネル マスクを設定します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
otChannelManagerSetSupportedChannels
void otChannelManagerSetSupportedChannels( otInstance *aInstance, uint32_t aChannelMask )
サポートされているチャンネル マスクを設定します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
リソース
OpenThread API リファレンスのトピックは、GitHub で入手可能なソースコードに基づいています。詳細やドキュメントの作成方法については、リソースをご覧ください。