Channel Manager
Este módulo incluye funciones para el administrador de canales.
Resumen
Las funciones de este módulo están disponibles cuando se habilita la función Administrador de canales (OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE
). El administrador de canal solo está disponible en una compilación de FTD.
Funciones |
|
---|---|
otChannelManagerGetAutoChannelSelectionEnabled(otInstance *aInstance)
|
bool
Indica si la función de selección de canales automáticos está habilitada o no.
|
otChannelManagerGetAutoChannelSelectionInterval(otInstance *aInstance)
|
uint32_t
Obtiene el intervalo de período (en segundos) que usa la funcionalidad de selección de canales automáticos.
|
otChannelManagerGetCcaFailureRateThreshold(otInstance *aInstance)
|
uint16_t
Obtiene el umbral de tasa de fallas de CCA.
|
otChannelManagerGetDelay(otInstance *aInstance)
|
uint16_t
Obtiene el retraso (en segundos) que utiliza el administrador de canal para un cambio de canal.
|
otChannelManagerGetFavoredChannels(otInstance *aInstance)
|
uint32_t
Obtiene la máscara del canal favorito.
|
otChannelManagerGetRequestedChannel(otInstance *aInstance)
|
uint8_t
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 en un canal de red Thread.
|
otChannelManagerRequestChannelSelect(otInstance *aInstance, bool aSkipQualityCheck)
|
Solicita que
ChannelManager verifique y seleccione un canal nuevo y comience un cambio de canal. |
otChannelManagerSetAutoChannelSelectionEnabled(otInstance *aInstance, bool aEnabled)
|
void
Habilita o inhabilita la funcionalidad de selección automática de canales.
|
otChannelManagerSetAutoChannelSelectionInterval(otInstance *aInstance, uint32_t aInterval)
|
Establece el intervalo (en segundos) que usa la funcionalidad de selección de canales automáticos.
|
otChannelManagerSetCcaFailureRateThreshold(otInstance *aInstance, uint16_t aThreshold)
|
void
Establece el umbral de tasa de fallas de CCA.
|
otChannelManagerSetDelay(otInstance *aInstance, uint16_t aDelay)
|
Establece el retraso (en segundos) que se utiliza para un cambio de canal.
|
otChannelManagerSetFavoredChannels(otInstance *aInstance, uint32_t aChannelMask)
|
void
Establece la máscara del canal favorito.
|
otChannelManagerSetSupportedChannels(otInstance *aInstance, uint32_t aChannelMask)
|
void
Establece la máscara del canal compatible.
|
Funciones
otChannelManagerGetAutoChannelSelectionEnabled
bool otChannelManagerGetAutoChannelSelectionEnabled( otInstance *aInstance )
Indica si la función de selección de canales automáticos está habilitada o no.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
VERDADERO si está habilitado; FALSO si está inhabilitado.
|
otChannelManagerGetAutoChannelSelectionInterval
uint32_t otChannelManagerGetAutoChannelSelectionInterval( otInstance *aInstance )
Obtiene el intervalo de período (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 tasa de fallas de CCA.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
El umbral de tasa de fallas de CCA. El valor 0 se asigna al 0% y 0xffff se asigna al 100%.
|
otManagerManagerGetDelay
uint16_t otChannelManagerGetDelay( otInstance *aInstance )
Obtiene el retraso (en segundos) que utiliza el administrador de canal para 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 favorito.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
Los canales favoritos como máscara de bits
|
otChannelManagerGetRequestedChannel
uint8_t otChannelManagerGetRequestedChannel( otInstance *aInstance )
Obtiene el canal de la última llamada exitosa a otChannelManagerRequestChannelChange()
Detalles | |
---|---|
Qué muestra |
El último canal solicitado o cero si aún no hubo una 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 como máscara de bits
|
otChannelManagerRequestChannelChange
void otChannelManagerRequestChannelChange( otInstance *aInstance, uint8_t aChannel )
Solicita un cambio en un canal de red Thread.
La red cambia al canal determinado después de una demora especificada (consulta otChannelManagerSetDelay()). El cambio de canal se realiza mediante la actualización del conjunto de datos operativo pendiente.
Una llamada posterior cancelará un cambio de canal que se solicitó previamente.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
otChannelManagerRequestChannelSelect
otError otChannelManagerRequestChannelSelect( otInstance *aInstance, bool aSkipQualityCheck )
Solicita que ChannelManager
verifique y seleccione un canal nuevo y 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 su cuenta (según la información de calidad recopilada).
Una vez que se lo llame, el administrador de canal realizará los siguientes 3 pasos:
1) ChannelManager
decide si el cambio de canal podría serte útil. Esta verificación se puede omitir si se configura aSkipQualityCheck
como verdadero (obligando a que se seleccione un canal y se omite la verificación de calidad). En este paso se utilizan las métricas de calidad de vinculación recopiladas en el dispositivo (como la tasa de fallas de CCA, las tasas de errores de marco y mensaje por vecino, etc.) para determinar si la calidad actual del canal es a nivel que justifica un cambio de canal.
2) Si el primer paso es exitoso, ChannelManager
selecciona un canal potencialmente mejor. Usa los datos recopilados de calidad del canal por módulo de ChannelMonitor
. En este paso, se usan los canales compatibles y 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 que se muestran |
|
otManagerManagerSetAutoChannelSelectionEnabled
void otChannelManagerSetAutoChannelSelectionEnabled( otInstance *aInstance, bool aEnabled )
Habilita o inhabilita la funcionalidad de selección automática de canales.
Cuando la opción esté habilitada, ChannelManager
invocará periódicamente un RequestChannelSelect(false)
. SetAutoChannelSelectionInterval()
puede establecer el intervalo de período.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
otManagerManagerSetAutoChannelSelectionInterval
otError otChannelManagerSetAutoChannelSelectionInterval( otInstance *aInstance, uint32_t aInterval )
Establece el intervalo (en segundos) que usa la funcionalidad de selección de canales automáticos.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
otManagerManagerSetCcaFailureRateThreshold
void otChannelManagerSetCcaFailureRateThreshold( otInstance *aInstance, uint16_t aThreshold )
Establece el umbral de tasa de fallas de CCA.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
otManagerManagerSetDelay
otError otChannelManagerSetDelay( otInstance *aInstance, uint16_t aDelay )
Establece el retraso (en segundos) que se utiliza para un cambio de canal.
Preferentemente, el retraso debe ser mayor que el intervalo máximo de sondeo de datos que usan todos los dispositivos del área de sueño dentro de la red de Thread.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
otChannelManagerSetFavoredChannels
void otChannelManagerSetFavoredChannels( otInstance *aInstance, uint32_t aChannelMask )
Establece la máscara del canal favorito.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
otChannelManagerSetSupportedChannels
void otChannelManagerSetSupportedChannels( otInstance *aInstance, uint32_t aChannelMask )
Establece la máscara del 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 colaborar con nuestra documentación, consulta la sección Recursos.