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
[in] aInstance
Um ponteiro para uma instância do OpenThread.
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
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
O intervalo em segundos.

OtChannelManagerGetCcaFailureRateThreshold

uint16_t otChannelManagerGetCcaFailureRateThreshold(
  otInstance *aInstance
)

Recebe o limite da taxa de falha da CCA.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
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
[in] aInstance
Um ponteiro para uma instância do OpenThread.
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
[in] aInstance
Um ponteiro para uma instância do OpenThread.
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
[in] aInstance
Um ponteiro para uma instância do OpenThread.
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
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aChannel
O novo canal para a rede Thread.

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
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aSkipQualityCheck
Indica se a verificação de qualidade (etapa 1) deve ser ignorada.
Valores de retorno
OT_ERROR_NONE
Seleção de canal concluída.
OT_ERROR_NOT_FOUND
A máscara de canal compatível está vazia. Por isso, não foi possível selecionar um canal.

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
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aEnabled
Indica se a funcionalidade será ativada ou desativada.

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
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aInterval
O intervalo em segundos.
Valores de retorno
OT_ERROR_NONE
O intervalo foi definido.
OT_ERROR_INVALID_ARGS
aInterval não é válido (zero).

OtChannelManagerSetCcaFailureRateThreshold

void otChannelManagerSetCcaFailureRateThreshold(
  otInstance *aInstance,
  uint16_t aThreshold
)

Define o limite da taxa de falha da CCA.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aThreshold
Um limite de taxa de falhas de CCA. O valor 0 mapeia para 0% e 0xffff é mapeado para 100%.

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
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aDelay
Atraso em segundos.
Valores de retorno
OT_ERROR_NONE
O atraso foi atualizado.
OT_ERROR_INVALID_ARGS
O atraso de aDelay fornecido é muito curto.

OtChannelManagerSetFavoredChannels

void otChannelManagerSetFavoredChannels(
  otInstance *aInstance,
  uint32_t aChannelMask
)

Define a máscara de canal favorecida.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aChannelMask
Uma máscara de canal.

OtChannelManagerSetSupportedChannels

void otChannelManagerSetSupportedChannels(
  otInstance *aInstance,
  uint32_t aChannelMask
)

Define a máscara de canal compatível.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aChannelMask
Uma máscara de canal.

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.