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

Monitoramento de Canal

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

Resumo

As funções neste módulo estão disponíveis quando o recurso de monitor de canal ( OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE ) está habilitado.

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

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

Funções

otChannelMonitorGetChannelOccupancy ( otInstance *aInstance, uint8_t aChannel)
uint16_t
Obtém a ocupação atual do canal para um determinado canal.
otChannelMonitorGetRssiThreshold ( otInstance *aInstance)
int8_t
Obtenha o limite de RSSI de monitoramento de canal em dBm.
otChannelMonitorGetSampleCount ( otInstance *aInstance)
uint32_t
Obtenha o número total de amostras RSSI de monitoramento de canal (por canal).
otChannelMonitorGetSampleInterval ( otInstance *aInstance)
uint32_t
Obtenha intervalo de amostra de monitoramento de canal em milissegundos.
otChannelMonitorGetSampleWindow ( otInstance *aInstance)
uint32_t
Obtenha monitoramento de canal medindo o comprimento da janela de amostra (número de amostras).
otChannelMonitorIsEnabled ( otInstance *aInstance)
bool
Esta função indica se a operação de monitoramento de canal está habilitada e em execução.
otChannelMonitorSetEnabled ( otInstance *aInstance, bool aEnabled)
Esta função ativa / desativa a operação de monitoramento de canal.

Funções

otChannelMonitorGetChannelOccupancy

uint16_t otChannelMonitorGetChannelOccupancy(
  otInstance *aInstance,
  uint8_t aChannel
)

Obtém a ocupação atual do canal para um determinado canal.

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

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 "ruins" pelo número total de amostras). Após as amostras de "janela", o calculador usa uma média móvel exponencialmente ponderada. Praticamente, isso significa que a média é representativa de até 3 * window últimas amostras da 3 * window com o maior peso dado às últimas amostras do kSampleWindow .

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

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância OpenThread.
[in] aChannel
O canal para o qual obter a ocupação do link.
Devoluções
A ocupação atual do canal para um determinado canal.

otChannelMonitorGetRssiThreshold

int8_t otChannelMonitorGetRssiThreshold(
  otInstance *aInstance
)

Obtenha o limite de RSSI de monitoramento de canal em dBm.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância OpenThread.
Devoluções
O limite RSSI em dBm.

otChannelMonitorGetSampleCount

uint32_t otChannelMonitorGetSampleCount(
  otInstance *aInstance
)

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

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

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância OpenThread.
Devoluções
Número total de amostras RSSI (por canal) obtidas até agora.

otChannelMonitorGetSampleInterval

uint32_t otChannelMonitorGetSampleInterval(
  otInstance *aInstance
)

Obtenha intervalo de amostra de monitoramento de canal em milissegundos.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância OpenThread.
Devoluções
O intervalo de amostra do monitor de canal em milissegundos.

otChannelMonitorGetSampleWindow

uint32_t otChannelMonitorGetSampleWindow(
  otInstance *aInstance
)

Obtenha monitoramento de canal medindo o comprimento da janela de amostra (número de amostras).

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância OpenThread.
Devoluções
A janela de amostra de média.

otChannelMonitorIsEnabled

bool otChannelMonitorIsEnabled(
  otInstance *aInstance
)

Esta função indica se a operação de monitoramento de canal está habilitada e em execução.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância OpenThread.
Devoluções
TRUE se a operação de monitoramento de canal estiver habilitada, FALSE caso contrário.

otChannelMonitorSetEnabled

otError otChannelMonitorSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Esta função ativa / desativa a operação de monitoramento de canal.

Uma vez que a operação começa, todos os dados coletados anteriormente são apagados. No entanto, após a operação ser desativada, os dados coletados anteriormente ainda são válidos e podem ser lidos.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância OpenThread.
[in] aEnabled
TRUE para ativar / iniciar a operação de monitoramento de canal, FALSE para desativá-la / interrompê-la.
Valores Retornados
OT_ERROR_NONE
Estado de monitoramento de canal alterado com sucesso
OT_ERROR_ALREADY
O monitoramento de canal já está no mesmo estado.