Google is committed to advancing racial equity for Black communities. See how.
Cette page a été traduite par l'API Cloud Translation.
Switch to English

Gestionnaire de canaux

Ce module comprend des fonctions pour Channel Manager.

Résumé

Les fonctions de ce module sont disponibles lorsque la fonction Channel Manager ( OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE ) est activée. Channel Manager est disponible uniquement sur une version FTD.

Les fonctions

otChannelManagerGetAutoChannelSelectionEnabled ( otInstance *aInstance)
bool
Cette fonction indique si la fonctionnalité de sélection automatique de canal est activée ou non.
otChannelManagerGetAutoChannelSelectionInterval ( otInstance *aInstance)
uint32_t
Cette fonction obtient l'intervalle de période (en secondes) utilisé par la fonctionnalité de sélection automatique de canal.
otChannelManagerGetDelay ( otInstance *aInstance)
uint16_t
Cette fonction obtient le délai (en secondes) utilisé par Channel Manager pour un changement de canal.
otChannelManagerGetFavoredChannels ( otInstance *aInstance)
uint32_t
Cette fonction obtient le masque de canal préféré.
otChannelManagerGetRequestedChannel ( otInstance *aInstance)
uint8_t
Cette fonction récupère le canal du dernier appel réussi à otChannelManagerRequestChannelChange()
otChannelManagerGetSupportedChannels ( otInstance *aInstance)
uint32_t
Cette fonction obtient le masque de canal pris en charge.
otChannelManagerRequestChannelChange ( otInstance *aInstance, uint8_t aChannel)
void
Cette fonction demande un changement de canal réseau Thread.
otChannelManagerRequestChannelSelect ( otInstance *aInstance, bool aSkipQualityCheck)
Cette fonction demande que ChannelManager vérifie et sélectionne un nouveau canal et lance un changement de canal.
otChannelManagerSetAutoChannelSelectionEnabled ( otInstance *aInstance, bool aEnabled)
void
Cette fonction active / désactive la fonctionnalité de sélection automatique des canaux.
otChannelManagerSetAutoChannelSelectionInterval ( otInstance *aInstance, uint32_t aInterval)
Cette fonction définit l'intervalle de période (en secondes) utilisé par la fonctionnalité de sélection automatique de canal.
otChannelManagerSetDelay ( otInstance *aInstance, uint16_t aDelay)
Cette fonction définit le délai (en secondes) utilisé pour un changement de canal.
otChannelManagerSetFavoredChannels ( otInstance *aInstance, uint32_t aChannelMask)
void
Cette fonction définit le masque de canal préféré.
otChannelManagerSetSupportedChannels ( otInstance *aInstance, uint32_t aChannelMask)
void
Cette fonction définit le masque de canal pris en charge.

Les fonctions

otChannelManagerGetAutoChannelSelectionEnabled

bool otChannelManagerGetAutoChannelSelectionEnabled(
  otInstance *aInstance
)

Cette fonction indique si la fonctionnalité de sélection automatique de canal est activée ou non.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
Retour
TRUE si activé, FALSE si désactivé.

otChannelManagerGetAutoChannelSelectionInterval

uint32_t otChannelManagerGetAutoChannelSelectionInterval(
  otInstance *aInstance
)

Cette fonction obtient l'intervalle de période (en secondes) utilisé par la fonctionnalité de sélection automatique de canal.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
Retour
L'intervalle en secondes.

otChannelManagerGetDelay

uint16_t otChannelManagerGetDelay(
  otInstance *aInstance
)

Cette fonction obtient le délai (en secondes) utilisé par Channel Manager pour un changement de canal.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
Retour
Le délai (en secondes) pour le changement de canal.

otChannelManagerGetFavoredChannels

uint32_t otChannelManagerGetFavoredChannels(
  otInstance *aInstance
)

Cette fonction obtient le masque de canal préféré.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
Retour
Les canaux préférés comme masque de bits.

otChannelManagerGetRequestedChannel

uint8_t otChannelManagerGetRequestedChannel(
  otInstance *aInstance
)

Cette fonction récupère le canal du dernier appel réussi à otChannelManagerRequestChannelChange()

Détails
Retour
Le dernier canal demandé ou zéro s'il n'y a pas encore eu de demande de changement de canal.

otChannelManagerGetSupportedChannels

uint32_t otChannelManagerGetSupportedChannels(
  otInstance *aInstance
)

Cette fonction obtient le masque de canal pris en charge.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
Retour
Les canaux pris en charge comme masque de bits.

otChannelManagerRequestChannelChange

void otChannelManagerRequestChannelChange(
  otInstance *aInstance,
  uint8_t aChannel
)

Cette fonction demande un changement de canal réseau Thread.

Le réseau bascule sur le canal donné après un délai spécifié (voir otChannelManagerSetDelay () ). Le changement de canal est effectué en mettant à jour l'ensemble de données opérationnelles en attente.

Un appel ultérieur à cette fonction annulera un changement de canal demandé précédemment.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in] aChannel
Le nouveau canal pour le réseau Thread.

otChannelManagerRequestChannelSelect

 otError otChannelManagerRequestChannelSelect(
  otInstance *aInstance,
  bool aSkipQualityCheck
)

Cette fonction demande que ChannelManager vérifie et sélectionne un nouveau canal et lance un changement de canal.

Contrairement à otChannelManagerRequestChannelChange() où le canal doit être donné en paramètre, cette fonction demande au ChannelManager de sélectionner un canal par lui-même (en fonction des informations de qualité du canal collectées).

Une fois appelé, le Channel Manager exécutera les 3 étapes suivantes:

1) ChannelManager décide si le changement de canal serait utile. Ce contrôle peut être ignoré si aSkipQualityCheck est défini sur true (forçant une sélection de canal à se produire et sautant le contrôle de qualité). Cette étape utilise les métriques de qualité de liaison collectées sur le périphérique (telles que le taux d'échec CCA, les taux d'erreur de trame et de message par voisin, etc.) pour déterminer si la qualité actuelle du canal est au niveau qui justifie un changement de canal.

2) Si la première étape réussit, ChannelManager sélectionne un canal potentiellement meilleur. Il utilise les données de qualité de canal collectées par le module ChannelMonitor . Les canaux pris en charge et favoris sont utilisés à cette étape. (voir otChannelManagerSetSupportedChannels () et otChannelManagerSetFavoredChannels () ).

3) Si le canal nouvellement sélectionné est différent du canal actuel, ChannelManager demande / démarre le processus de changement de canal (en appelant en interne un RequestChannelChange() ).

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in] aSkipQualityCheck
Indique si le contrôle de qualité (étape 1) doit être ignoré.
Valeurs de retour
OT_ERROR_NONE
La sélection du canal s'est terminée avec succès.
OT_ERROR_NOT_FOUND
Le masque de canal pris en charge est vide, il n'a donc pas été possible de sélectionner un canal.

otChannelManagerSetAutoChannelSelectionEnabled

void otChannelManagerSetAutoChannelSelectionEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Cette fonction active / désactive la fonctionnalité de sélection automatique des canaux.

Lorsqu'il est activé, ChannelManager appellera périodiquement un RequestChannelSelect(false) . L'intervalle de période peut être défini par SetAutoChannelSelectionInterval() .

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in] aEnabled
Indique s'il faut activer ou désactiver cette fonctionnalité.

otChannelManagerSetAutoChannelSelectionInterval

 otError otChannelManagerSetAutoChannelSelectionInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

Cette fonction définit l'intervalle de période (en secondes) utilisé par la fonctionnalité de sélection automatique de canal.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in] aInterval
L'intervalle en secondes.
Valeurs de retour
OT_ERROR_NONE
L'intervalle a été défini avec succès.
OT_ERROR_INVALID_ARGS
Le aInterval n'est pas valide (zéro).

otChannelManagerSetDelay

 otError otChannelManagerSetDelay(
  otInstance *aInstance,
  uint16_t aDelay
)

Cette fonction définit le délai (en secondes) utilisé pour un changement de canal.

Le délai doit de préférence être plus long que l'intervalle d'interrogation de données maximal utilisé par tous les périphériques endormis du réseau Thread.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in] aDelay
Délai en secondes.
Valeurs de retour
OT_ERROR_NONE
Le délai a été mis à jour avec succès.
OT_ERROR_INVALID_ARGS
Le délai aDelay donné est trop court.

otChannelManagerSetFavoredChannels

void otChannelManagerSetFavoredChannels(
  otInstance *aInstance,
  uint32_t aChannelMask
)

Cette fonction définit le masque de canal préféré.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in] aChannelMask
Un masque de canal.

otChannelManagerSetSupportedChannels

void otChannelManagerSetSupportedChannels(
  otInstance *aInstance,
  uint32_t aChannelMask
)

Cette fonction définit le masque de canal pris en charge.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in] aChannelMask
Un masque de canal.