Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.
Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Supervisión del canal

Este módulo incluye funciones para la función de supervisión de canales.

Resumen

Las funciones de este módulo están disponibles cuando la función de monitor de canal (OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE) está habilitada.

La supervisión de canales supervisará periódicamente todos los canales para ayudar a determinar los canales más limpios (canales con menos interferencia).

Cuando está activa la supervisión de canales, se realiza un análisis de energía de duración cero y se recopila una sola muestra de RSSI en cada canal por intervalo de muestra. Las muestras de RSSI se comparan con un umbral de RSSI especificado previamente. Como indicador de la calidad del canal, el módulo de supervisión de canales mantiene y proporciona la tasa/porcentaje promedio de muestras de RSSI que están por encima del umbral dentro de (aproximadamente) un período de muestra específico (denominado ocupación del canal).

Funciones

otChannelMonitorGetChannelOccupancy(otInstance *aInstance, uint8_t aChannel)
uint16_t
Obtiene la ocupación actual de un canal determinado.
otChannelMonitorGetRssiThreshold(otInstance *aInstance)
int8_t
Obtén el umbral de RSSI de supervisión de canales en dBm.
otChannelMonitorGetSampleCount(otInstance *aInstance)
uint32_t
Obtén la cantidad total de muestras de RSSI (por canal) de supervisión del canal.
otChannelMonitorGetSampleInterval(otInstance *aInstance)
uint32_t
Obtén el intervalo de muestra de supervisión de canales en milisegundos.
otChannelMonitorGetSampleWindow(otInstance *aInstance)
uint32_t
Obtén un promedio de la duración de la ventana de muestra de supervisión de canales (cantidad de muestras).
otChannelMonitorIsEnabled(otInstance *aInstance)
bool
Esta función indica si la operación de supervisión del canal está habilitada y en ejecución.
otChannelMonitorSetEnabled(otInstance *aInstance, bool aEnabled)
Habilita o inhabilita la operación de supervisión del canal.

Funciones

otChannelMonitorGetChannelOccupancy

uint16_t otChannelMonitorGetChannelOccupancy(
  otInstance *aInstance,
  uint8_t aChannel
)

Obtiene la ocupación actual de un canal determinado.

El valor de ocupación del canal representa la tasa o el porcentaje promedio de las muestras de RSSI que superaron el umbral de RSSI (muestras de RSSI).

Para las primeras muestras de la ventana de muestra, el promedio se mantiene como el porcentaje real (es decir, la proporción entre la cantidad de muestras "malos" y la cantidad total de muestras). Después de las muestras de "ventana", el promedio usa un promedio móvil ponderado de manera exponencial. En la práctica, esto significa que el promedio es representativo de hasta 3 * window últimas muestras con el peso más alto dado a las kSampleWindow muestras más recientes.

El valor máximo de 0xffff indica que todas las muestras de RSSI superaron el umbral de RSSI (es decir, el 100% de las muestras eran "malas").

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aChannel
El canal para el cual se ocupa el vínculo.
Qué muestra
Ocupación actual del canal determinado.

otChannelMonitorGetRssiThreshold

int8_t otChannelMonitorGetRssiThreshold(
  otInstance *aInstance
)

Obtén el umbral de RSSI de supervisión de canales en dBm.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
El umbral de RSSI en dBm.

CanalCanaldeEjemploObtenerCanal

uint32_t otChannelMonitorGetSampleCount(
  otInstance *aInstance
)

Obtén la cantidad total de muestras de RSSI (por canal) de supervisión del canal.

El recuento indica la cantidad total de muestras por canal por módulo de supervisión de canales desde su inicio (desde que se habilitó la interfaz de red de Thread).

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
Cantidad total de muestras de RSSI (por canal) tomadas hasta el momento.

otChannelMonitorGetSampleInterval

uint32_t otChannelMonitorGetSampleInterval(
  otInstance *aInstance
)

Obtén el intervalo de muestra de supervisión de canales en milisegundos.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
El intervalo de muestra del monitor del canal en milisegundos.

otChannelMonitorGetSampleWindow

uint32_t otChannelMonitorGetSampleWindow(
  otInstance *aInstance
)

Obtén un promedio de la duración de la ventana de muestra de supervisión de canales (cantidad de muestras).

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
La ventana de muestra promedio

otChannelMonitorIsEnabled

bool otChannelMonitorIsEnabled(
  otInstance *aInstance
)

Esta función indica si la operación de supervisión del canal está habilitada y en ejecución.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
TRUE si la operación de supervisión del canal está habilitada; de lo contrario, muestra FALSE.

otChannelMonitorSetEnabled

otError otChannelMonitorSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Habilita o inhabilita la operación de supervisión del canal.

Una vez que comience la operación, se borrarán todos los datos recopilados anteriormente. Sin embargo, después de inhabilitar la operación, los datos recopilados anteriores seguirán siendo válidos y podrán leerse.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aEnabled
TRUE para habilitar/iniciar la operación de la supervisión del canal y FALSE para inhabilitarla o detenerla.
Valores de retorno
OT_ERROR_NONE
Se cambió correctamente el estado de la supervisión del canal
OT_ERROR_ALREADY
La supervisión de canales ya está en el mismo estado.

Recursos

Los temas de referencia de la API de OpenThread se originan a partir del código fuente, disponible en GitHub. Para obtener más información o contribuir con nuestra documentación, consulta Recursos.