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

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
[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
A seleção do canal foi concluída.
OT_ERROR_NOT_FOUND
A máscara de canal compatível está vazia, portanto, 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, o ChannelManager invocará periodicamente um RequestChannelSelect(false). O intervalo de 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
Uma limite de taxa de falha da CCA. O valor 0 mapeia para 0% e 0xffff é mapeado como 100%.

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
[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 informado aDelay é muito curto.

CanalOttManagerSetSetededChannels

void otChannelManagerSetFavoredChannels(
  otInstance *aInstance,
  uint32_t aChannelMask
)

Define a máscara de canal favorita.

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 provenientes do código-fonte, disponível no GitHub. Para saber mais ou contribuir com nossa documentação, consulte Recursos.