Channel Manager
Dieses Modul enthält Funktionen für Channel Manager.
Zusammenfassung
Die Funktionen in diesem Modul sind verfügbar, wenn die Funktion „Channel Manager“ (OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE
) aktiviert ist. Channel Manager ist nur für einen FTD-Build verfügbar.
Functions |
|
---|---|
otChannelManagerGetAutoChannelSelectionEnabled(otInstance *aInstance)
|
bool
Gibt an, ob die Funktion für die automatische Kanalauswahl aktiviert ist.
|
otChannelManagerGetAutoChannelSelectionInterval(otInstance *aInstance)
|
uint32_t
Ruft das Intervall in Sekunden ab, das von der automatischen Kanalauswahl verwendet wird.
|
otChannelManagerGetCcaFailureRateThreshold(otInstance *aInstance)
|
uint16_t
Ruft den CCA-Fehlerratengrenzwert ab
|
otChannelManagerGetDelay(otInstance *aInstance)
|
uint16_t
Ruft die Verzögerung (in Sekunden) für die Kanaländerung ab, die vom Channel Manager verwendet wird.
|
otChannelManagerGetFavoredChannels(otInstance *aInstance)
|
uint32_t
Ruft die bevorzugte Kanalmaske ab.
|
otChannelManagerGetRequestedChannel(otInstance *aInstance)
|
uint8_t
Ruft den Kanal aus dem letzten erfolgreichen Anruf an
otChannelManagerRequestChannelChange() ab |
otChannelManagerGetSupportedChannels(otInstance *aInstance)
|
uint32_t
Ruft die unterstützte Kanalmaske ab.
|
otChannelManagerRequestChannelChange(otInstance *aInstance, uint8_t aChannel)
|
void
Fordert eine Änderung eines Thread-Netzwerkkanals an.
|
otChannelManagerRequestChannelSelect(otInstance *aInstance, bool aSkipQualityCheck)
|
Fordert
ChannelManager an, einen neuen Kanal zu prüfen und auszuwählen, und startet eine Kanaländerung. |
otChannelManagerSetAutoChannelSelectionEnabled(otInstance *aInstance, bool aEnabled)
|
void
Aktiviert oder deaktiviert die Funktion zur automatischen Kanalauswahl.
|
otChannelManagerSetAutoChannelSelectionInterval(otInstance *aInstance, uint32_t aInterval)
|
Legt das Intervall in Sekunden fest, das von der automatischen Kanalauswahl verwendet wird.
|
otChannelManagerSetCcaFailureRateThreshold(otInstance *aInstance, uint16_t aThreshold)
|
void
Legt den Grenzwert der CCA-Fehlerrate fest.
|
otChannelManagerSetDelay(otInstance *aInstance, uint16_t aDelay)
|
Legt die Verzögerung in Sekunden fest, die bei einer Kanaländerung verwendet wird.
|
otChannelManagerSetFavoredChannels(otInstance *aInstance, uint32_t aChannelMask)
|
void
Legt die bevorzugte Kanalmaske fest.
|
otChannelManagerSetSupportedChannels(otInstance *aInstance, uint32_t aChannelMask)
|
void
Legt die unterstützte Kanalmaske fest.
|
Functions
OTChannelManagerGetAutoChannelSelectionEnabled
bool otChannelManagerGetAutoChannelSelectionEnabled( otInstance *aInstance )
Gibt an, ob die Funktion für die automatische Kanalauswahl aktiviert ist.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
WAHR, wenn aktiviert, FALSCH, wenn deaktiviert.
|
OTChannelManagerGetAutoChannelSelectionInterval
uint32_t otChannelManagerGetAutoChannelSelectionInterval( otInstance *aInstance )
Ruft das Intervall in Sekunden ab, das von der automatischen Kanalauswahl verwendet wird.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Das Intervall in Sekunden.
|
otChannelManagerGetCcaFailureRateThreshold
uint16_t otChannelManagerGetCcaFailureRateThreshold( otInstance *aInstance )
Ruft den CCA-Fehlerratengrenzwert ab
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Der CCA-Grenzwert für die Fehlerrate. Der Wert 0 wird einem Wert von 0% und ein Wert von 0xffff zu 100 % zugeordnet.
|
otChannelManagerGetDelay
uint16_t otChannelManagerGetDelay( otInstance *aInstance )
Ruft die Verzögerung (in Sekunden) für die Kanaländerung ab, die vom Channel Manager verwendet wird.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Gibt die Verzögerung für den Kanalwechsel in Sekunden an.
|
otChannelManagerGetFavoredChannels
uint32_t otChannelManagerGetFavoredChannels( otInstance *aInstance )
Ruft die bevorzugte Kanalmaske ab.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Die bevorzugten Kanäle werden als Bitmaske angezeigt.
|
OTChannelManagerGetRequestedChannel
uint8_t otChannelManagerGetRequestedChannel( otInstance *aInstance )
Ruft den Kanal aus dem letzten erfolgreichen Anruf an otChannelManagerRequestChannelChange()
ab
Details | |
---|---|
Rückgabe |
Der zuletzt angeforderte Kanal oder null, wenn noch keine Kanaländerungsanfrage vorhanden ist.
|
Unterstützte Kanäle
uint32_t otChannelManagerGetSupportedChannels( otInstance *aInstance )
Ruft die unterstützte Kanalmaske ab.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Die unterstützten Kanäle als Bitmaske.
|
OTChannelManagerRequestChannelChange
void otChannelManagerRequestChannelChange( otInstance *aInstance, uint8_t aChannel )
Fordert eine Änderung eines Thread-Netzwerkkanals an.
Nach einer bestimmten Verzögerung wechselt das Netzwerk zum angegebenen Kanal. Weitere Informationen finden Sie unter otChannelManagerSetDelay(). Der Kanalwechsel wird durchgeführt, indem das ausstehende operative Dataset aktualisiert wird.
Durch einen nachfolgenden Aufruf wird eine laufende angeforderte Kanaländerung abgebrochen.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
otChannelManagerRequestChannelSelect
otError otChannelManagerRequestChannelSelect( otInstance *aInstance, bool aSkipQualityCheck )
Fordert ChannelManager
an, einen neuen Kanal zu prüfen und auszuwählen, und startet eine Kanaländerung.
Im Gegensatz zum otChannelManagerRequestChannelChange()
, bei dem der Kanal als Parameter angegeben werden muss, fordert diese Funktion das ChannelManager
auf, einen Kanal selbst auszuwählen (basierend auf den erfassten Informationen zur Kanalqualität).
Nach dem Aufruf führt der Kanalmanager die folgenden 3 Schritte aus:
1) ChannelManager
entscheidet, ob der Kanalwechsel hilfreich wäre. Diese Prüfung kann übersprungen werden, wenn aSkipQualityCheck
auf „true“ gesetzt ist. Dadurch wird eine Kanalauswahl erzwungen und die Qualitätsprüfung übersprungen. Bei diesem Schritt werden die auf dem Gerät erfassten Messwerte zur Linkqualität (z. B. CCA-Fehlerrate, Frame- und Nachrichten-Fehlerraten pro Nachbar usw.) verwendet, um festzustellen, ob die aktuelle Kanalqualität auf dem Niveau ist, das eine Kanaländerung rechtfertigt.
2) Wenn der erste Schritt besteht, wählt ChannelManager
einen potenziell besseren Kanal aus. Dabei werden die im ChannelMonitor
-Modul erfassten Daten zur Kanalqualität verwendet. In diesem Schritt werden die unterstützten und bevorzugten Kanäle verwendet. Weitere Informationen finden Sie unter otChannelManagerSetSupportedChannels() und otChannelManagerSetFavoredChannels().
3) Wenn sich der neu ausgewählte Kanal vom aktuellen Kanal unterscheidet, fordert ChannelManager
den Kanaländerungsprozess an oder startet ihn (intern ruft einen RequestChannelChange()
auf).
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otChannelManagerSetAutoChannelSelectionEnabled
void otChannelManagerSetAutoChannelSelectionEnabled( otInstance *aInstance, bool aEnabled )
Aktiviert oder deaktiviert die Funktion zur automatischen Kanalauswahl.
Wenn diese Option aktiviert ist, ruft ChannelManager
regelmäßig ein RequestChannelSelect(false)
-Element auf. Das Intervall kann für SetAutoChannelSelectionInterval()
festgelegt werden.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
otChannelManagerSetAutoChannelSelectionInterval
otError otChannelManagerSetAutoChannelSelectionInterval( otInstance *aInstance, uint32_t aInterval )
Legt das Intervall in Sekunden fest, das von der automatischen Kanalauswahl verwendet wird.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otChannelManagerSetCcaFailureRateThreshold
void otChannelManagerSetCcaFailureRateThreshold( otInstance *aInstance, uint16_t aThreshold )
Legt den Grenzwert der CCA-Fehlerrate fest.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
otChannelManagerSetDelay
otError otChannelManagerSetDelay( otInstance *aInstance, uint16_t aDelay )
Legt die Verzögerung in Sekunden fest, die bei einer Kanaländerung verwendet wird.
Die Verzögerung sollte idealerweise länger sein als das maximale Datenintervall, das von allen Schlafmittel-Geräten im Thread-Netzwerk verwendet wird.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otChannelManagerSetFavoredChannels
void otChannelManagerSetFavoredChannels( otInstance *aInstance, uint32_t aChannelMask )
Legt die bevorzugte Kanalmaske fest.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
Nicht unterstützteKanäle
void otChannelManagerSetSupportedChannels( otInstance *aInstance, uint32_t aChannelMask )
Legt die unterstützte Kanalmaske fest.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
Ressourcen
Die Themen der OpenThread API-Referenz stammen aus dem Quellcode, der auf GitHub verfügbar ist. Weitere Informationen oder als Ergänzung zu unserer Dokumentation finden Sie unter Ressourcen.