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 |
|
||||
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 |
|
||
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 |
|
||
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 |
|
||
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 |
|
||
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 |
|
||
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 |
|
||||
Valores de retorno |
|
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.