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 |
|
||
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 |
|
||
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 |
|
||
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 |
|
||
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 |
|
||
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 |
|
||
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 |
|
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 |
|
||||
Valores de retorno |
|
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 |
|
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 |
|
||||
Valores de retorno |
|
otChannelManagerSetCcaFailureRateThreshold
void otChannelManagerSetCcaFailureRateThreshold( otInstance *aInstance, uint16_t aThreshold )
Establece el umbral de la tasa de fallas de CCA.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
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 |
|
||||
Valores de retorno |
|
otChannelManagerSetFavoredChannels
void otChannelManagerSetFavoredChannels( otInstance *aInstance, uint32_t aChannelMask )
Establece la máscara de canal preferida.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
otChannelManagerSetSupportedChannels
void otChannelManagerSetSupportedChannels( otInstance *aInstance, uint32_t aChannelMask )
Establece la máscara de canal compatible.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
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.