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

Monitoramento do canal

Este módulo inclui funções para o recurso de monitoramento de canais.

Resumo

As funções deste módulo estão disponíveis quando o recurso de monitoramento do canal (OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE) está ativado.

O monitoramento de canais é feito periodicamente para monitorar todos os canais para ajudar a determinar os canais mais limpos (canais com menos interferência).

Quando o monitoramento de um canal está ativo, uma verificação de energia de duração zero é realizada, coletando uma única amostra de RSSI em cada canal por intervalo de amostra. As amostras de RSSI são comparadas com um limite RSSI pré-especificado. Como indicador de qualidade do canal, o módulo de monitoramento de canal mantém e fornece a taxa/porcentagem média de amostras de RSSI acima do limite em (aproximadamente) uma janela de amostra especificada (chamada de ocupação do canal).

Funções

otChannelMonitorGetChannelOccupancy(otInstance *aInstance, uint8_t aChannel)
uint16_t
Recebe a ocupação atual de um determinado canal.
otChannelMonitorGetRssiThreshold(otInstance *aInstance)
int8_t
Receba um limite de RSSI de monitoramento do canal em dBm.
otChannelMonitorGetSampleCount(otInstance *aInstance)
uint32_t
Recebe o monitoramento total do número de amostras de RSSI (por canal).
otChannelMonitorGetSampleInterval(otInstance *aInstance)
uint32_t
Acesse o intervalo da amostra de monitoramento do canal em milissegundos.
otChannelMonitorGetSampleWindow(otInstance *aInstance)
uint32_t
Receba o monitoramento em média da duração da janela de amostragem (número de amostras).
otChannelMonitorIsEnabled(otInstance *aInstance)
bool
Esta função indica se a operação do Monitoramento de canais está ativada e em execução.
otChannelMonitorSetEnabled(otInstance *aInstance, bool aEnabled)
Ativa ou desativa a operação de monitoramento de canais.

Funções

OtChannelMonitorGetChannelOccupancy

uint16_t otChannelMonitorGetChannelOccupancy(
  otInstance *aInstance,
  uint8_t aChannel
)

Recebe a ocupação atual de um determinado canal.

O valor de ocupação do canal representa a taxa/porcentagem média de amostras de RSSI que estiveram acima do limite de RSSI ("bad" amostras de RSSI).

Para as primeiras amostras de "janela de amostra", a média é mantida como a porcentagem real (ou seja, a proporção do número de amostras de "bad" por número total de amostras). Após as amostras de "window" o mediador usa uma média móvel exponencialmente ponderada. Na prática, isso significa que a média representa até 3 * window últimas amostras com o maior peso, considerando as kSampleWindow mais recentes.

O valor máximo de 0xffff indica que todas as amostras de RSSI estavam acima do limite de RSSI (ou seja, 100% das amostras eram "bad").

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aChannel
O canal para o qual conseguir o número de links.
Retorna
A ocupação atual do canal fornecido.

OtChannelMonitorGetRssiThreshold

int8_t otChannelMonitorGetRssiThreshold(
  otInstance *aInstance
)

Receba um limite de RSSI de monitoramento do canal em dBm.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
O limite de RSSI em dBm.

OtChannelMonitorGetSampleCount

uint32_t otChannelMonitorGetSampleCount(
  otInstance *aInstance
)

Recebe o monitoramento total do número de amostras de RSSI (por canal).

A contagem indica o número total de amostras por canal por módulo de monitoramento de canal desde o início (desde que a interface de rede Thread foi ativada).

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
Número total de amostras de RSSI (por canal) coletadas até agora.

OtChannelMonitorGetSampleInterval

uint32_t otChannelMonitorGetSampleInterval(
  otInstance *aInstance
)

Acesse o intervalo da amostra de monitoramento do canal em milissegundos.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
O canal monitora o intervalo de amostra em milissegundos.

OtChannelMonitorGetSampleWindow

uint32_t otChannelMonitorGetSampleWindow(
  otInstance *aInstance
)

Receba o monitoramento em média da duração da janela de amostragem (número de amostras).

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
A janela de exemplo de média.

OtChannelMonitorIsEnabled

bool otChannelMonitorIsEnabled(
  otInstance *aInstance
)

Esta função indica se a operação do Monitoramento de canais está ativada e em execução.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
Verdadeiro se a operação de monitoramento de canais estiver ativada. Caso contrário, o valor é FALSO.

OtChannelMonitorSetEnabled

otError otChannelMonitorSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Ativa ou desativa a operação de monitoramento de canais.

Quando a operação é iniciada, os dados coletados anteriormente são apagados. No entanto, depois que a operação é desativada, os dados coletados anteriores ainda são válidos e podem ser lidos.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aEnabled
VERDADEIRO para ativar/iniciar a operação de monitoramento de canal, FALSO para desativar/parar.
Valores de retorno
OT_ERROR_NONE
O estado do monitoramento de canais foi alterado
OT_ERROR_ALREADY
O monitoramento de canais já está no mesmo estado.

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.