responsable des canaux de distribution

Ce module comporte des fonctions pour Channel Manager.

Résumé

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

Fonctions

otChannelManagerGetAutoChannelSelectionEnabled(otInstance *aInstance)
bool
Indique si la fonctionnalité de sélection automatique du canal est activée.
otChannelManagerGetAutoChannelSelectionInterval(otInstance *aInstance)
uint32_t
Récupère l'intervalle de temps (en secondes) utilisé par la fonctionnalité de sélection automatique du canal.
otChannelManagerGetCcaFailureRateThreshold(otInstance *aInstance)
uint16_t
Récupère le seuil du taux d'échec CCA.
otChannelManagerGetDelay(otInstance *aInstance)
uint16_t
Récupère le délai (en secondes) utilisé par le gestionnaire de canaux pour une modification de canal.
otChannelManagerGetFavoredChannels(otInstance *aInstance)
uint32_t
Récupère le masque de canal privilégié.
otChannelManagerGetRequestedChannel(otInstance *aInstance)
uint8_t
Récupère la chaîne du dernier appel réussi pour otChannelManagerRequestChannelChange().
otChannelManagerGetSupportedChannels(otInstance *aInstance)
uint32_t
Récupère le masque de canal compatible.
otChannelManagerRequestChannelChange(otInstance *aInstance, uint8_t aChannel)
void
Demande la modification d'un canal réseau Thread.
otChannelManagerRequestChannelSelect(otInstance *aInstance, bool aSkipQualityCheck)
Requêtes que ChannelManager vérifie et sélectionne une nouvelle chaîne, et lance une modification de chaîne
otChannelManagerSetAutoChannelSelectionEnabled(otInstance *aInstance, bool aEnabled)
void
Active ou désactive la fonctionnalité de sélection automatique des canaux.
otChannelManagerSetAutoChannelSelectionInterval(otInstance *aInstance, uint32_t aInterval)
Définit l'intervalle de temps (en secondes) utilisé par la fonctionnalité de sélection automatique du canal.
otChannelManagerSetCcaFailureRateThreshold(otInstance *aInstance, uint16_t aThreshold)
void
Définit le seuil du taux d'échec CCA.
otChannelManagerSetDelay(otInstance *aInstance, uint16_t aDelay)
Définit le délai (en secondes) utilisé pour une modification de canal.
otChannelManagerSetFavoredChannels(otInstance *aInstance, uint32_t aChannelMask)
void
Définit le masque de canal privilégié.
otChannelManagerSetSupportedChannels(otInstance *aInstance, uint32_t aChannelMask)
void
Définit le masque de canal compatible.

Fonctions

otChannelManagerGetAutoChannelSelectionEnabled

bool otChannelManagerGetAutoChannelSelectionEnabled(
  otInstance *aInstance
)

Indique si la fonctionnalité de sélection automatique du canal est activée.

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

otChannelManagerGetAutoChannelSelectionIntervalle

uint32_t otChannelManagerGetAutoChannelSelectionInterval(
  otInstance *aInstance
)

Récupère l'intervalle de temps (en secondes) utilisé par la fonctionnalité de sélection automatique du canal.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
Renvoie
Intervalle en secondes.

otChannelManagerGetCcaFailureRateThreshold

uint16_t otChannelManagerGetCcaFailureRateThreshold(
  otInstance *aInstance
)

Récupère le seuil du taux d'échec CCA.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
Renvoie
Seuil du taux d'échec de la CCA. La valeur 0 correspond à 0% et 0xffff correspond à 100%.

otChannelManagerGetDelay

uint16_t otChannelManagerGetDelay(
  otInstance *aInstance
)

Récupère le délai (en secondes) utilisé par le gestionnaire de canaux pour une modification de canal.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
Renvoie
Délai (en secondes) pour le changement de version.

otChannelManagerGetFavoredChannels

uint32_t otChannelManagerGetFavoredChannels(
  otInstance *aInstance
)

Récupère le masque de canal privilégié.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
Renvoie
Les chaînes préférées en tant que masque de bits

otChannelManagerGetRequestedChannel

uint8_t otChannelManagerGetRequestedChannel(
  otInstance *aInstance
)

Récupère la chaîne du dernier appel réussi pour otChannelManagerRequestChannelChange().

Détails
Renvoie
Dernière chaîne demandée ou aucune valeur si aucune demande de changement de chaîne n'a encore été effectuée.

otChannelManagerGetSupportedChannels

uint32_t otChannelManagerGetSupportedChannels(
  otInstance *aInstance
)

Récupère le masque de canal compatible.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
Renvoie
Chaînes acceptées sous forme de masque de bits.

otChannelManagerRequestChannelChange

void otChannelManagerRequestChannelChange(
  otInstance *aInstance,
  uint8_t aChannel
)

Demande la modification d'un canal réseau Thread.

Le réseau passe au canal donné après un délai spécifié (voir otChannelManagerSetDelay()). La modification du canal est effectuée en mettant à jour l'ensemble de données opérationnel en attente.

Un appel ultérieur entraînera l'annulation d'une modification de chaîne demandée en cours.

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

otChannelManagerRequestChannelSelect

otError otChannelManagerRequestChannelSelect(
  otInstance *aInstance,
  bool aSkipQualityCheck
)

Requêtes que ChannelManager vérifie et sélectionne une nouvelle chaîne, et lance une modification de chaîne

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

Une fois l'appel effectué, il effectue les trois étapes suivantes:

1) ChannelManager détermine si le changement de chaîne peut être utile. Vous pouvez ignorer cette vérification si aSkipQualityCheck est défini sur "true" (afin de forcer la sélection du canal et d'ignorer le contrôle qualité). Cette étape utilise les métriques de qualité des liens collectées sur l'appareil (taux d'échec CCA, taux d'erreur de frame et de message par voisin, etc.) pour déterminer si la qualité actuelle de la chaîne est justifiée par un changement de chaîne.

2) Si la première étape réussit, ChannelManager sélectionnera un meilleur canal. Il utilise les données de qualité de la chaîne recueillies par le module ChannelMonitor. À ce stade, nous utilisons les canaux compatibles et favorisés. (voir otChannelManagerSetSupportedChannels() et otChannelManagerSetFavoredChannels()).

3) Si le canal que vous venez de sélectionner est différent du canal actuel, ChannelManager demande/lance le processus de changement de canal (en interne, il appelle un RequestChannelChange()).

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aSkipQualityCheck
Indique si le contrôle qualité (étape 1) doit être ignoré.
Valeurs renvoyées
OT_ERROR_NONE
Le canal a bien été sélectionné.
OT_ERROR_NOT_FOUND
Le masque de canal compatible est vide, il n'est donc pas possible de sélectionner un canal.

otChannelManagerSetAutoChannelSelectionEnabled

void otChannelManagerSetAutoChannelSelectionEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Active ou désactive la fonctionnalité de sélection automatique des canaux.

Lorsque cette option est activée, ChannelManager appelle régulièrement un RequestChannelSelect(false). L'intervalle de la période peut être défini par SetAutoChannelSelectionInterval().

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aEnabled
Indique si cette fonctionnalité doit être activée ou désactivée.

otChannelManagerSetAutoChannelSelectionInterval

otError otChannelManagerSetAutoChannelSelectionInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

Définit l'intervalle de temps (en secondes) utilisé par la fonctionnalité de sélection automatique du canal.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aInterval
Intervalle en secondes.
Valeurs renvoyées
OT_ERROR_NONE
L'intervalle a bien été défini.
OT_ERROR_INVALID_ARGS
aInterval n'est pas valide (zéro).

otChannelManagerSetCcaFailureRateThreshold

void otChannelManagerSetCcaFailureRateThreshold(
  otInstance *aInstance,
  uint16_t aThreshold
)

Définit le seuil du taux d'échec CCA.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aThreshold
Un seuil de taux d'échec CCA La valeur 0 correspond à 0% et 0xffff correspond à 100%.

otChannelManagerSetDelay

otError otChannelManagerSetDelay(
  otInstance *aInstance,
  uint16_t aDelay
)

Définit le délai (en secondes) utilisé pour une modification de canal.

Le délai doit normalement être plus long que l'intervalle maximal de sondage des données utilisé par tous les appareils en veille au sein du réseau Thread.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aDelay
Délai en secondes.
Valeurs renvoyées
OT_ERROR_NONE
Le délai a bien été mis à jour.
OT_ERROR_INVALID_ARGS
Le délai aDelay indiqué est trop court.

otChannelManagerSetFavoredChannels

void otChannelManagerSetFavoredChannels(
  otInstance *aInstance,
  uint32_t aChannelMask
)

Définit le masque de canal privilégié.

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

otChannelManagerSetSupportedChannels

void otChannelManagerSetSupportedChannels(
  otInstance *aInstance,
  uint32_t aChannelMask
)

Définit le masque de canal compatible.

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

Ressources

Les sujets de référence de l'API OpenThread proviennent du code source, disponible sur GitHub. Pour en savoir plus ou pour contribuer à notre documentation, consultez Ressources.