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 apenas em um build FTD.
Funções |
|
---|---|
otChannelManagerGetAutoChannelSelectionEnabled(otInstance *aInstance)
|
bool
Esta função indica se a funcionalidade de seleção automática de canal está ativada ou não.
|
otChannelManagerGetAutoChannelSelectionInterval(otInstance *aInstance)
|
uint32_t
Esta função recebe 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
Essa função recebe o atraso (em segundos) usado pelo Gerenciador de canais em uma mudança de canal.
|
otChannelManagerGetFavoredChannels(otInstance *aInstance)
|
uint32_t
Recebe a máscara de canal favorita.
|
otChannelManagerGetRequestedChannel(otInstance *aInstance)
|
uint8_t
Esta função faz 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 mudança de canal da 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
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 mudança de canal.
|
otChannelManagerSetFavoredChannels(otInstance *aInstance, uint32_t aChannelMask)
|
void
Define a máscara de canal favorita.
|
otChannelManagerSetSupportedChannels(otInstance *aInstance, uint32_t aChannelMask)
|
void
Define a máscara de canal compatível.
|
Funções
OtChannelManagerGetAutoChannelSelectionEnabled
bool otChannelManagerGetAutoChannelSelectionEnabled( otInstance *aInstance )
Esta função indica se a funcionalidade de seleção automática de canal está ativada ou não.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retorna |
TRUE se ativado, FALSE se desativado.
|
OtChannelManagerGetAutoChannelSelectionInterval
uint32_t otChannelManagerGetAutoChannelSelectionInterval( otInstance *aInstance )
Esta função recebe 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 como 100%.
|
OtChannelManagerGetDelay
uint16_t otChannelManagerGetDelay( otInstance *aInstance )
Essa função recebe o atraso (em segundos) usado pelo Gerenciador de canais em uma mudança de canal.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retorna |
O atraso (em segundos) de alteração do canal.
|
OtChannelManagerGetFavoriteedChannels
uint32_t otChannelManagerGetFavoredChannels( otInstance *aInstance )
Recebe a máscara de canal favorita.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retorna |
Os canais favorecidos como uma máscara de bit.
|
CanalOtManagerManagerGetRequestedChannel
uint8_t otChannelManagerGetRequestedChannel( otInstance *aInstance )
Esta função faz o canal da última chamada bem-sucedida para otChannelManagerRequestChannelChange()
Detalhes | |
---|---|
Retorna |
O último canal solicitado ou zero se ainda não houver 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 máscara de bit.
|
Mudança de canal
void otChannelManagerRequestChannelChange( otInstance *aInstance, uint8_t aChannel )
Solicita uma mudança de canal da rede Thread.
A rede alterna para o canal especificado após um atraso especificado (consulte otChannelManagerSetDelay()). A mudança de canal é realizada atualizando o conjunto de dados operacional pendente.
Uma chamada posterior cancelará uma alteração de canal solicitada anteriormente.
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.
Diferentemente do 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 de qualidade do canal coletadas).
Depois de chamado, o gerente do canal vai seguir estas três etapas:
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 a seleção de um canal a ocorrer e ignorando a verificação de qualidade). Essa etapa usa as métricas de qualidade de links coletados no dispositivo (como taxa de falha da CCA, taxas de erro de frames e mensagens por vizinho etc.) para determinar se a qualidade atual do canal está no nível que justifica uma alteração do canal.
2) Se a primeira etapa for aprovada, ChannelManager
selecionará um canal possivelmente melhor. Ele usa os dados de qualidade do canal coletados por módulo ChannelMonitor
. Os canais aceitos e favorecidos são usados nesta etapa. (consulte otChannelManagerSetSupportedChannels() e otChannelManagerSetFavoriteedChannels()).
3) Se o canal recém-selecionado for diferente do canal atual, o ChannelManager
solicitará/iniciará 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, o ChannelManager
invocará periodicamente um RequestChannelSelect(false)
. O intervalo de 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 mudança de canal.
De preferência, o atraso deve ser maior do que o intervalo máximo de enquete de dados usado por todos os dispositivos com fim do sono na rede Thread.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Valores de retorno |
|
CanalOttManagerSetSetededChannels
void otChannelManagerSetFavoredChannels( otInstance *aInstance, uint32_t aChannelMask )
Define a máscara de canal favorita.
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 provenientes do código-fonte, disponível no GitHub. Para saber mais ou contribuir com nossa documentação, consulte Recursos.