Gerente de canal
Este módulo inclui funções para Channel Manager.
Resumo
As funções neste módulo estão disponíveis quando o recurso Gerenciador de Canais ( OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE
) está habilitado. O Channel Manager está disponível apenas em uma construção FTD.
Funções | |
---|---|
otChannelManagerGetAutoChannelSelectionEnabled ( otInstance *aInstance) | bool Esta função indica se a funcionalidade de seleção automática de canal está habilitada ou não. |
otChannelManagerGetAutoChannelSelectionInterval ( otInstance *aInstance) | uint32_t Esta função obtém o intervalo de período (em segundos) usado pela funcionalidade de seleção automática de canal. |
otChannelManagerGetDelay ( otInstance *aInstance) | uint16_t Esta função obtém o atraso (em segundos) usado pelo Channel Manager para uma mudança de canal. |
otChannelManagerGetFavoredChannels ( otInstance *aInstance) | uint32_t Esta função obtém a máscara de canal preferida. |
otChannelManagerGetRequestedChannel ( otInstance *aInstance) | uint8_t Esta função obtém o canal da última chamada bem-sucedida para otChannelManagerRequestChannelChange() |
otChannelManagerGetSupportedChannels ( otInstance *aInstance) | uint32_t Esta função obtém a máscara de canal com suporte. |
otChannelManagerRequestChannelChange ( otInstance *aInstance, uint8_t aChannel) | void Esta função requer uma mudança de canal de rede Thread. |
otChannelManagerRequestChannelSelect ( otInstance *aInstance, bool aSkipQualityCheck) | Esta função solicita que ChannelManager verifique e selecione um novo canal e inicie uma mudança de canal. |
otChannelManagerSetAutoChannelSelectionEnabled ( otInstance *aInstance, bool aEnabled) | void Esta função ativa / desativa a funcionalidade de seleção automática de canal. |
otChannelManagerSetAutoChannelSelectionInterval ( otInstance *aInstance, uint32_t aInterval) | Esta função define o intervalo de período (em segundos) usado pela funcionalidade de seleção automática de canal. |
otChannelManagerSetDelay ( otInstance *aInstance, uint16_t aDelay) | Esta função define o atraso (em segundos) usado para uma mudança de canal. |
otChannelManagerSetFavoredChannels ( otInstance *aInstance, uint32_t aChannelMask) | void Esta função define a máscara de canal preferida. |
otChannelManagerSetSupportedChannels ( otInstance *aInstance, uint32_t aChannelMask) | void Esta função define a máscara de canal com suporte. |
Funções
otChannelManagerGetAutoChannelSelectionEnabled
bool otChannelManagerGetAutoChannelSelectionEnabled( otInstance *aInstance )
Esta função indica se a funcionalidade de seleção automática de canal está habilitada ou não.
Detalhes | |||
---|---|---|---|
Parâmetros |
| ||
Devoluções | TRUE se habilitado, FALSE se desabilitado. |
otChannelManagerGetAutoChannelSelectionInterval
uint32_t otChannelManagerGetAutoChannelSelectionInterval( otInstance *aInstance )
Esta função obtém o intervalo de período (em segundos) usado pela funcionalidade de seleção automática de canal.
Detalhes | |||
---|---|---|---|
Parâmetros |
| ||
Devoluções | O intervalo em segundos. |
otChannelManagerGetDelay
uint16_t otChannelManagerGetDelay( otInstance *aInstance )
Esta função obtém o atraso (em segundos) usado pelo Channel Manager para uma mudança de canal.
Detalhes | |||
---|---|---|---|
Parâmetros |
| ||
Devoluções | O atraso (em segundos) para mudança de canal. |
otChannelManagerGetFavoredChannels
uint32_t otChannelManagerGetFavoredChannels( otInstance *aInstance )
Esta função obtém a máscara de canal preferida.
Detalhes | |||
---|---|---|---|
Parâmetros |
| ||
Devoluções | Os canais preferidos como máscara de bits. |
otChannelManagerGetRequestedChannel
uint8_t otChannelManagerGetRequestedChannel( otInstance *aInstance )
Esta função obtém o canal da última chamada bem-sucedida para otChannelManagerRequestChannelChange()
Detalhes | |
---|---|
Devoluções | O último canal solicitado ou zero se ainda não houver solicitação de mudança de canal. |
otChannelManagerGetSupportedChannels
uint32_t otChannelManagerGetSupportedChannels( otInstance *aInstance )
Esta função obtém a máscara de canal com suporte.
Detalhes | |||
---|---|---|---|
Parâmetros |
| ||
Devoluções | Os canais suportados como uma máscara de bits. |
otChannelManagerRequestChannelChange
void otChannelManagerRequestChannelChange( otInstance *aInstance, uint8_t aChannel )
Esta função requer uma mudança de canal de rede Thread.
A rede muda para o canal fornecido após um atraso especificado (consulte otChannelManagerSetDelay () ). A mudança de canal é realizada por meio da atualização do Conjunto de dados operacionais pendentes.
Uma chamada subsequente para esta função cancelará uma mudança de canal solicitada anteriormente em andamento.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
otChannelManagerRequestChannelSelect
otError otChannelManagerRequestChannelSelect( otInstance *aInstance, bool aSkipQualityCheck )
Esta função solicita que ChannelManager
verifique e selecione um novo canal e inicie uma mudança de canal.
Ao contrário de otChannelManagerRequestChannelChange()
onde o canal deve ser fornecido como um parâmetro, esta função pede ao ChannelManager
para selecionar um canal por si mesmo (com base nas informações de qualidade do canal coletadas).
Uma vez chamado, o gerente de canal executará as 3 etapas a seguir:
1) ChannelManager
decide se a mudança de canal seria útil. Esta verificação pode ser ignorada se aSkipQualityCheck
for definido como verdadeiro (forçando a seleção de um canal e ignorando a verificação de qualidade). Esta etapa usa as métricas de qualidade do link coletadas no dispositivo (como taxa de falha de CCA, taxas de erro de quadro e mensagem por vizinho, etc.) para determinar se a qualidade do canal atual está no nível que justifica uma mudança de canal.
2) Se a primeira etapa for aprovada, o ChannelManager
seleciona um canal potencialmente melhor. Ele usa os dados de qualidade do canal coletados pelo módulo ChannelMonitor
. Os canais suportados e preferidos são usados nesta etapa. (consulte otChannelManagerSetSupportedChannels () e otChannelManagerSetFavoredChannels () ).
3) Se o canal recém-selecionado for diferente do canal atual, ChannelManager
solicita / inicia o processo de mudança de canal (invocando internamente um RequestChannelChange()
).
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
| ||||
Valores Retornados |
|
otChannelManagerSetAutoChannelSelectionEnabled
void otChannelManagerSetAutoChannelSelectionEnabled( otInstance *aInstance, bool aEnabled )
Esta função ativa / desativa a funcionalidade de seleção automática de canal.
Quando ativado, o ChannelManager
invoca periodicamente um RequestChannelSelect(false)
. O intervalo do período pode ser definido por SetAutoChannelSelectionInterval()
.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
otChannelManagerSetAutoChannelSelectionInterval
otError otChannelManagerSetAutoChannelSelectionInterval( otInstance *aInstance, uint32_t aInterval )
Esta função define o intervalo de período (em segundos) usado pela funcionalidade de seleção automática de canal.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
| ||||
Valores Retornados |
|
otChannelManagerSetDelay
otError otChannelManagerSetDelay( otInstance *aInstance, uint16_t aDelay )
Esta função define o atraso (em segundos) usado para uma mudança de canal.
O atraso deve ser preferencialmente mais longo do que o intervalo máximo de pesquisa de dados usado por todos os dispositivos terminais adormecidos na rede Thread.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
| ||||
Valores Retornados |
|
otChannelManagerSetFavoredChannels
void otChannelManagerSetFavoredChannels( otInstance *aInstance, uint32_t aChannelMask )
Esta função define a máscara de canal preferida.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
otChannelManagerSetSupportedChannels
void otChannelManagerSetSupportedChannels( otInstance *aInstance, uint32_t aChannelMask )
Esta função define a máscara de canal com suporte.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|