Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Administrador de canales

Este módulo incluye funciones para el administrador de canal.

Resumen

Las funciones de este módulo están disponibles cuando se habilita la función Administrador de canal (OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE). El administrador de canal solo está disponible en una compilación FTD.

Funciones

otChannelManagerGetAutoChannelSelectionEnabled(otInstance *aInstance)
bool
Esta función indica si la función de selección de canales automáticos está habilitada o no.
otChannelManagerGetAutoChannelSelectionInterval(otInstance *aInstance)
uint32_t
Esta función obtiene el intervalo de tiempo (en segundos) que usa la funcionalidad de selección de canales automáticos.
otChannelManagerGetCcaFailureRateThreshold(otInstance *aInstance)
uint16_t
Obtiene el umbral de la tasa de fallas de CCA.
otChannelManagerGetDelay(otInstance *aInstance)
uint16_t
Esta función obtiene la demora (en segundos) que utiliza el Administrador de canales para realizar un cambio de canal.
otChannelManagerGetFavoredChannels(otInstance *aInstance)
uint32_t
Obtiene la máscara del canal favorita.
otChannelManagerGetRequestedChannel(otInstance *aInstance)
uint8_t
Esta función obtiene el canal de la última llamada exitosa a otChannelManagerRequestChannelChange()
otChannelManagerGetSupportedChannels(otInstance *aInstance)
uint32_t
Obtiene la máscara de canal compatible.
otChannelManagerRequestChannelChange(otInstance *aInstance, uint8_t aChannel)
void
Solicita un cambio de canal de red de Thread.
otChannelManagerRequestChannelSelect(otInstance *aInstance, bool aSkipQualityCheck)
Esta función solicita que ChannelManager verifique y seleccione un canal nuevo y que comience un cambio de canal.
otChannelManagerSetAutoChannelSelectionEnabled(otInstance *aInstance, bool aEnabled)
void
Habilita o inhabilita la funcionalidad de selección de canales automáticos.
otChannelManagerSetAutoChannelSelectionInterval(otInstance *aInstance, uint32_t aInterval)
Establece el intervalo de tiempo (en segundos) que utiliza la funcionalidad de selección de canales automáticos.
otChannelManagerSetCcaFailureRateThreshold(otInstance *aInstance, uint16_t aThreshold)
void
Establece el umbral de la tasa de fallas de CCA.
otChannelManagerSetDelay(otInstance *aInstance, uint16_t aDelay)
Establece la demora (en segundos) que se utiliza para un cambio de canal.
otChannelManagerSetFavoredChannels(otInstance *aInstance, uint32_t aChannelMask)
void
Establece la máscara de canal preferida.
otChannelManagerSetSupportedChannels(otInstance *aInstance, uint32_t aChannelMask)
void
Establece la máscara de canal compatible.

Funciones

otChannelManagerGetAutoChannelSelectionEnabled

bool otChannelManagerGetAutoChannelSelectionEnabled(
  otInstance *aInstance
)

Esta función indica si la función de selección de canales automáticos está habilitada o no.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
TRUE si está habilitado; FALSE si está inhabilitado

otChannelManagerGetAutoChannelSelectionInterval

uint32_t otChannelManagerGetAutoChannelSelectionInterval(
  otInstance *aInstance
)

Esta función obtiene el intervalo de tiempo (en segundos) que usa la funcionalidad de selección de canales automáticos.

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

otChannelManagerGetCcaFailureRateThreshold

uint16_t otChannelManagerGetCcaFailureRateThreshold(
  otInstance *aInstance
)

Obtiene el umbral de la tasa de fallas de CCA.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
El umbral de la tasa de fallas de CCA. El valor 0 se asigna al 0% y 0xffff se asigna al 100%.

otChannelManagerGetDelay

uint16_t otChannelManagerGetDelay(
  otInstance *aInstance
)

Esta función obtiene la demora (en segundos) que utiliza el Administrador de canales para realizar un cambio de canal.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
El retraso (en segundos) del cambio de canal.

otChannelManagerGetFavoredChannels

uint32_t otChannelManagerGetFavoredChannels(
  otInstance *aInstance
)

Obtiene la máscara del canal favorita.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
Los canales favoritos a modo de máscara de bits.

otChannelManagerGetRequestedChannel

uint8_t otChannelManagerGetRequestedChannel(
  otInstance *aInstance
)

Esta función obtiene el canal de la última llamada exitosa a otChannelManagerRequestChannelChange()

Detalles
Qué muestra
El último canal solicitado o cero si aún no se ha realizado ninguna solicitud de cambio de canal

otChannelManagerGetSupportedChannels

uint32_t otChannelManagerGetSupportedChannels(
  otInstance *aInstance
)

Obtiene la máscara de canal compatible.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
Los canales admitidos son una máscara de bits.

otChannelManagerRequestChannelChange

void otChannelManagerRequestChannelChange(
  otInstance *aInstance,
  uint8_t aChannel
)

Solicita un cambio de canal de red de Thread.

La red cambia al canal determinado después de una demora específica (consulta otChannelManagerSetDelay()). El cambio de canal se realiza mediante la actualización del conjunto de datos operativos pendiente.

Una llamada posterior cancelará un cambio en curso que se solicitó anteriormente.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aChannel
El nuevo canal de la red Thread.

otChannelManagerRequestChannelSelect

otError otChannelManagerRequestChannelSelect(
  otInstance *aInstance,
  bool aSkipQualityCheck
)

Esta función solicita que ChannelManager verifique y seleccione un canal nuevo y que comience un cambio de canal.

A diferencia de la otChannelManagerRequestChannelChange() en la que se debe proporcionar el canal como parámetro, esta función le pide a ChannelManager que seleccione un canal por sí mismo (según la información de calidad de canal recopilada).

Una vez que se lo llame, el administrador de canal realizará los siguientes tres pasos:

1) ChannelManager decide si el cambio en el canal sería útil. Se puede omitir esta comprobación si aSkipQualityCheck se configura como verdadero (si se fuerza la selección de un canal y se omite la verificación de calidad). Este paso utiliza las métricas de calidad de vínculos recopiladas en el dispositivo (como la tasa de fallas de CCA, las velocidades de error de fotogramas y mensajes por vecino, etc.) para determinar si la calidad actual del canal está en el nivel que justifica un cambio de canal.

2) Si el primer paso es correcto, ChannelManager selecciona un canal potencialmente mejor. Utiliza los datos de calidad de canal recopilados por el módulo ChannelMonitor. En este paso, se usan los canales compatibles y los favoritos. (consulta otChannelManagerSetSupportedChannels() y otChannelManagerSetFavoredChannels()).

3) Si el canal recién seleccionado es diferente del canal actual, ChannelManager solicita o inicia el proceso de cambio de canal (invocando internamente un RequestChannelChange()).

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aSkipQualityCheck
Indica si se debe omitir la verificación de calidad (paso 1).
Valores de retorno
OT_ERROR_NONE
La selección de canales finalizó correctamente.
OT_ERROR_NOT_FOUND
La máscara de canal compatible está vacía, por lo que no se pudo seleccionar un canal.

otChannelManagerSetAutoChannelSelectionEnabled

void otChannelManagerSetAutoChannelSelectionEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Habilita o inhabilita la funcionalidad de selección de canales automáticos.

Si se habilita, ChannelManager invocará periódicamente un RequestChannelSelect(false). SetAutoChannelSelectionInterval() puede establecer el período.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aEnabled
Indica si se habilita o se inhabilita esta funcionalidad.

otChannelManagerSetAutoChannelSelectionInterval

otError otChannelManagerSetAutoChannelSelectionInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

Establece el intervalo de tiempo (en segundos) que utiliza la funcionalidad de selección de canales automáticos.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aInterval
El intervalo en segundos.
Valores de retorno
OT_ERROR_NONE
Se configuró correctamente el intervalo.
OT_ERROR_INVALID_ARGS
El aInterval no es válido (cero).

otChannelManagerSetCcaFailureRateThreshold

void otChannelManagerSetCcaFailureRateThreshold(
  otInstance *aInstance,
  uint16_t aThreshold
)

Establece el umbral de la tasa de fallas de CCA.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aThreshold
Un umbral de tasa de fallas de CCA. El valor 0 se asigna al 0% y 0xffff se asigna al 100%.

otChannelManagerSetDelay

otError otChannelManagerSetDelay(
  otInstance *aInstance,
  uint16_t aDelay
)

Establece la demora (en segundos) que se utiliza para un cambio de canal.

Es preferible que la demora sea mayor que el intervalo máximo de sondeo de datos que usan todos los dispositivos inactivos para dormir dentro de la red Thread.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aDelay
Retraso en segundos.
Valores de retorno
OT_ERROR_NONE
El retraso se actualizó correctamente.
OT_ERROR_INVALID_ARGS
El retraso dado aDelay es demasiado corto.

otChannelManagerSetFavoredChannels

void otChannelManagerSetFavoredChannels(
  otInstance *aInstance,
  uint32_t aChannelMask
)

Establece la máscara de canal preferida.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aChannelMask
Una máscara de canal.

otChannelManagerSetSupportedChannels

void otChannelManagerSetSupportedChannels(
  otInstance *aInstance,
  uint32_t aChannelMask
)

Establece la máscara de canal compatible.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aChannelMask
Una máscara de canal.

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.