gerente de canal
Este módulo inclui funções para o Gerenciador de canais.
Resumo
As funções deste módulo estão disponíveis quando o recurso Gerenciador de canais (OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE
) está ativado. O Gerenciador de canais está disponível somente em uma versão FTD.
Funções |
|
---|---|
otChannelManagerGetAutoChannelSelectionEnabled(otInstance *aInstance)
|
bool
Indica se a funcionalidade de seleção automática de canais está ativada ou não.
|
otChannelManagerGetAutoChannelSelectionInterval(otInstance *aInstance)
|
uint32_t
Obtém o intervalo de tempo (em segundos) usado pela funcionalidade de seleção automática de canal.
|
otChannelManagerGetCcaFailureRateThreshold(otInstance *aInstance)
|
uint16_t
Recebe o limite da taxa de falha da CCA.
|
otChannelManagerGetDelay(otInstance *aInstance)
|
uint16_t
Obtém o atraso (em segundos) usado pelo Gerenciador de canais para uma alteração de canal.
|
otChannelManagerGetFavoredChannels(otInstance *aInstance)
|
uint32_t
Recebe a máscara de canal favorecida.
|
otChannelManagerGetRequestedChannel(otInstance *aInstance)
|
uint8_t
Obtém o canal da última chamada bem-sucedida para
otChannelManagerRequestChannelChange() |
otChannelManagerGetSupportedChannels(otInstance *aInstance)
|
uint32_t
Recebe a máscara de canal compatível.
|
otChannelManagerRequestChannelChange(otInstance *aInstance, uint8_t aChannel)
|
void
Solicita uma alteração do canal da rede Thread.
|
otChannelManagerRequestChannelSelect(otInstance *aInstance, bool aSkipQualityCheck)
|
Solicita que
ChannelManager verifique e selecione um novo canal e inicie uma alteração de canal. |
otChannelManagerSetAutoChannelSelectionEnabled(otInstance *aInstance, bool aEnabled)
|
void
Ativa ou desativa a funcionalidade de seleção automática de canais.
|
otChannelManagerSetAutoChannelSelectionInterval(otInstance *aInstance, uint32_t aInterval)
|
Define o intervalo de tempo (em segundos) usado pela funcionalidade de seleção automática de canal.
|
otChannelManagerSetCcaFailureRateThreshold(otInstance *aInstance, uint16_t aThreshold)
|
void
Define o limite da taxa de falha da CCA.
|
otChannelManagerSetDelay(otInstance *aInstance, uint16_t aDelay)
|
Define o atraso (em segundos) usado para uma alteração de canal.
|
otChannelManagerSetFavoredChannels(otInstance *aInstance, uint32_t aChannelMask)
|
void
Define a máscara de canal favorecida.
|
otChannelManagerSetSupportedChannels(otInstance *aInstance, uint32_t aChannelMask)
|
void
Define a máscara de canal compatível.
|
Funções
OtChannelManagerGetAutoChannelSelectionEnabled
bool otChannelManagerGetAutoChannelSelectionEnabled( otInstance *aInstance )
Indica se a funcionalidade de seleção automática de canais está ativada ou não.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retorna |
VERDADEIRO se ativado, FALSO se desativado.
|
OtChannelManagerGetAutoChannelSelectionInterval
uint32_t otChannelManagerGetAutoChannelSelectionInterval( otInstance *aInstance )
Obtém o intervalo de tempo (em segundos) usado pela funcionalidade de seleção automática de canal.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retorna |
O intervalo em segundos.
|
OtChannelManagerGetCcaFailureRateThreshold
uint16_t otChannelManagerGetCcaFailureRateThreshold( otInstance *aInstance )
Recebe o limite da taxa de falha da CCA.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retorna |
O limite da taxa de falha da CCA. O valor 0 mapeia para 0% e 0xffff é mapeado para 100%.
|
OtChannelManagerGetDelay
uint16_t otChannelManagerGetDelay( otInstance *aInstance )
Obtém o atraso (em segundos) usado pelo Gerenciador de canais para uma alteração de canal.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retorna |
O atraso (em segundos) para a alteração de canal.
|
OtChannelManagerGetFavoredChannels
uint32_t otChannelManagerGetFavoredChannels( otInstance *aInstance )
Recebe a máscara de canal favorecida.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retorna |
Os canais favoritos como uma bitmask.
|
OtChannelManagerGetRequestedChannel
uint8_t otChannelManagerGetRequestedChannel( otInstance *aInstance )
Obtém o canal da última chamada bem-sucedida para otChannelManagerRequestChannelChange()
Detalhes | |
---|---|
Retorna |
O último canal solicitado ou zero, se ainda não houver uma solicitação de alteração de canal.
|
OtChannelManagerGetSupportedChannels
uint32_t otChannelManagerGetSupportedChannels( otInstance *aInstance )
Recebe a máscara de canal compatível.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retorna |
Os canais compatíveis como uma bitmask.
|
OtChannelManagerRequestChannelChange
void otChannelManagerRequestChannelChange( otInstance *aInstance, uint8_t aChannel )
Solicita uma alteração do canal da rede Thread.
A rede muda para o canal especificado após um atraso especificado (consulte otChannelManagerSetDelay()). A alteração do canal é realizada atualizando o conjunto de dados operacional pendente.
Uma chamada subsequente cancelará uma alteração de canal solicitada anteriormente de maneira contínua.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
OtChannelManagerRequestChannelSelect
otError otChannelManagerRequestChannelSelect( otInstance *aInstance, bool aSkipQualityCheck )
Solicita que ChannelManager
verifique e selecione um novo canal e inicie uma alteração de canal.
Ao contrário de otChannelManagerRequestChannelChange()
, em que o canal precisa ser fornecido como um parâmetro, essa função pede ao ChannelManager
para selecionar um canal sozinho (com base nas informações coletadas de qualidade do canal).
Depois de chamado, o gerente de canal executará as três etapas a seguir:
1) ChannelManager
decide se a mudança do canal seria útil. Essa verificação poderá ser ignorada se aSkipQualityCheck
for definida como verdadeira (forçando uma seleção de canais a acontecer e pulando a verificação de qualidade). Esta etapa usa as métricas de qualidade do link coletadas no dispositivo (como taxa de falhas de CCA, taxas de erro de frame e mensagem por vizinho etc.) para determinar se a qualidade atual do canal está no nível que justifica uma alteração de canal.
2) Se a primeira etapa for aprovada, ChannelManager
selecionará um canal potencialmente melhor. Ele usa os dados de qualidade do canal coletados pelo módulo ChannelMonitor
. Os canais compatíveis e favorecidos 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 de retorno |
|
OtChannelManagerSetAutoChannelSelectionEnabled
void otChannelManagerSetAutoChannelSelectionEnabled( otInstance *aInstance, bool aEnabled )
Ativa ou desativa a funcionalidade de seleção automática de canais.
Quando ativado, ChannelManager
invoca um RequestChannelSelect(false)
periodicamente. O intervalo do período pode ser definido por SetAutoChannelSelectionInterval()
.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
OtChannelManagerSetAutoChannelSelectionInterval
otError otChannelManagerSetAutoChannelSelectionInterval( otInstance *aInstance, uint32_t aInterval )
Define o intervalo de tempo (em segundos) usado pela funcionalidade de seleção automática de canal.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Valores de retorno |
|
OtChannelManagerSetCcaFailureRateThreshold
void otChannelManagerSetCcaFailureRateThreshold( otInstance *aInstance, uint16_t aThreshold )
Define o limite da taxa de falha da CCA.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
OtChannelManagerSetDelay
otError otChannelManagerSetDelay( otInstance *aInstance, uint16_t aDelay )
Define o atraso (em segundos) usado para uma alteração de canal.
Preferencialmente, o atraso deve ser maior do que o intervalo máximo de pesquisa de dados usado por todos os dispositivos com sono suspenso na rede Thread.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Valores de retorno |
|
OtChannelManagerSetFavoredChannels
void otChannelManagerSetFavoredChannels( otInstance *aInstance, uint32_t aChannelMask )
Define a máscara de canal favorecida.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
OtChannelManagerSetSupportedChannels
void otChannelManagerSetSupportedChannels( otInstance *aInstance, uint32_t aChannelMask )
Define a máscara de canal compatível.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
Recursos
Os tópicos de referência da API OpenThread são originados do código-fonte, disponível no GitHub. Para mais informações ou para contribuir com nossa documentação, consulte Recursos.