O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

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 uma versão FTD.

Functions

otChannelManagerGetAutoChannelSelectionEnabled(otInstance *aInstance)
bool
Esta função indica se a funcionalidade de seleção automática de canais está ativada ou não.
otChannelManagerGetAutoChannelSelectionInterval(otInstance *aInstance)
uint32_t
Essa função recebe o intervalo de tempo (em segundos) usado pela funcionalidade de seleção automática de canal.
otChannelManagerGetCcaFailureRateThreshold(otInstance *aInstance)
uint16_t
Essa função recebe o limite da taxa de falha da CCA.
otChannelManagerGetDelay(otInstance *aInstance)
uint16_t
Essa função recebe o atraso (em segundos) usado pelo administrador do canal em uma mudança de canal.
otChannelManagerGetFavoredChannels(otInstance *aInstance)
uint32_t
Essa função recebe a máscara do canal favorecida.
otChannelManagerGetRequestedChannel(otInstance *aInstance)
uint8_t
Esta função recebe o canal da última chamada bem-sucedida para otChannelManagerRequestChannelChange().
otChannelManagerGetSupportedChannels(otInstance *aInstance)
uint32_t
Essa função recebe a máscara de canal compatível.
otChannelManagerRequestChannelChange(otInstance *aInstance, uint8_t aChannel)
void
Essa função solicita uma mudança no 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
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 tempo (em segundos) usado pela funcionalidade de seleção automática de canal.
otChannelManagerSetCcaFailureRateThreshold(otInstance *aInstance, uint16_t aThreshold)
void
Essa função define o limite da taxa de falha na CCA.
otChannelManagerSetDelay(otInstance *aInstance, uint16_t aDelay)
Essa função define o atraso (em segundos) usado em uma mudança de canal.
otChannelManagerSetFavoredChannels(otInstance *aInstance, uint32_t aChannelMask)
void
Essa função define a máscara do canal favorecida.
otChannelManagerSetSupportedChannels(otInstance *aInstance, uint32_t aChannelMask)
void
Essa função define a máscara de canal compatível.

Functions

OtChannelManagerGetAutoChannelSelectionEnabled

bool otChannelManagerGetAutoChannelSelectionEnabled(
  otInstance *aInstance
)

Esta função 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
)

Essa função recebe 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
)

Essa função 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 de taxa de falha da CCA. O valor "0" mapeia para 0% e "0xffff" para 100%.

OtChannelManagerGetDelay

uint16_t otChannelManagerGetDelay(
  otInstance *aInstance
)

Essa função recebe o atraso (em segundos) usado pelo administrador do canal em uma mudança de canal.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
O atraso (em segundos) para mudar de canal.

OtChannelManagerGetFavoriteedChannels

uint32_t otChannelManagerGetFavoredChannels(
  otInstance *aInstance
)

Essa função recebe a máscara do canal favorecida.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
Os canais favorecidos como uma máscara de bits.

OtChannelManagerGetRequestedChannel

uint8_t otChannelManagerGetRequestedChannel(
  otInstance *aInstance
)

Esta função recebe 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
)

Essa função 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 máscara de bits.

OtChannelManagerRequestChannelChange

void otChannelManagerRequestChannelChange(
  otInstance *aInstance,
  uint8_t aChannel
)

Essa função solicita uma mudança no 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 para esta função cancelará uma alteração de canal solicitada anteriormente que está em andamento.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aChannel
Novo canal da rede Thread.

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(), 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 chamá-lo, o administrador do canal executará as três etapas a seguir:

1) ChannelManager decide se a mudança de canal será útil. Essa verificação poderá ser ignorada se aSkipQualityCheck for definida como verdadeira (forçando a seleção de um canal para ocorrer e pulando a verificação de qualidade). Essa etapa usa as métricas coletadas de qualidade de link no dispositivo (como taxa de falha de CCA, frame rate e erro de mensagem por vizinho etc.) para determinar se a qualidade atual do canal está no nível que justifica uma mudança de 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 compatíveis e favorecidos são usados nesta etapa. Consulte otChannelManagerSetSupportedChannels() e otChannelManagerSetFavoriteedChannels().

3) Se o canal selecionado recentemente for diferente do canal atual, o ChannelManager solicitará/iniciará o processo de mudança do 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
)

Esta função ativa/desativa a funcionalidade de seleção automática de canal.

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
)

Esta função 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
O aInterval é inválido (zero).

OtChannelManagerSetCcaFailureRateThreshold

void otChannelManagerSetCcaFailureRateThreshold(
  otInstance *aInstance,
  uint16_t aThreshold
)

Essa função define o limite da taxa de falha na CCA.

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

OtChannelManagerSetDelay

otError otChannelManagerSetDelay(
  otInstance *aInstance,
  uint16_t aDelay
)

Essa função define o atraso (em segundos) usado em uma mudança de canal.

De preferência, o atraso precisa ser maior que o intervalo máximo da pesquisa de dados usado por todos os dispositivos com suspensão de sono 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
)

Essa função define a máscara do 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
)

Essa função 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 saber mais ou contribuir com nossa documentação, consulte Recursos.