menedżer kanału
Ten moduł zawiera funkcje przeznaczone do Menedżera kanałów.
Podsumowanie
Funkcje w tym module są dostępne po włączeniu funkcji menedżera kanału (OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE
). Menedżer kanału jest dostępny tylko w przypadku kompilacji FTD.
Functions |
|
---|---|
otChannelManagerGetAutoChannelSelectionEnabled(otInstance *aInstance)
|
bool
Wskazuje, czy funkcja automatycznego wyboru kanałów jest włączona.
|
otChannelManagerGetAutoChannelSelectionInterval(otInstance *aInstance)
|
uint32_t
Pobiera przedział czasu (w sekundach) używany przez funkcję automatycznego wyboru kanałów.
|
otChannelManagerGetCcaFailureRateThreshold(otInstance *aInstance)
|
uint16_t
Pobiera wartość progową odsetka błędów CCA.
|
otChannelManagerGetDelay(otInstance *aInstance)
|
uint16_t
Określa opóźnienie (w sekundach) wykorzystywane przez menedżera kanału w przypadku zmiany kanału.
|
otChannelManagerGetFavoredChannels(otInstance *aInstance)
|
uint32_t
Pobiera maskę ulubionego kanału.
|
otChannelManagerGetRequestedChannel(otInstance *aInstance)
|
uint8_t
Przekierowuje kanał z ostatniego udanego połączenia do:
otChannelManagerRequestChannelChange() |
otChannelManagerGetSupportedChannels(otInstance *aInstance)
|
uint32_t
Pobiera obsługiwaną maskę kanału.
|
otChannelManagerRequestChannelChange(otInstance *aInstance, uint8_t aChannel)
|
void
Wysyła żądanie zmiany kanału sieciowego Thread.
|
otChannelManagerRequestChannelSelect(otInstance *aInstance, bool aSkipQualityCheck)
|
Poproś, aby użytkownik
ChannelManager sprawdził i wybierze nowy kanał, po czym rozpocznie zmianę kanału. |
otChannelManagerSetAutoChannelSelectionEnabled(otInstance *aInstance, bool aEnabled)
|
void
Włącza lub wyłącza funkcję automatycznego wyboru kanałów.
|
otChannelManagerSetAutoChannelSelectionInterval(otInstance *aInstance, uint32_t aInterval)
|
Ustawia przedział czasu (w sekundach) używany przez funkcję automatycznego wyboru kanałów.
|
otChannelManagerSetCcaFailureRateThreshold(otInstance *aInstance, uint16_t aThreshold)
|
void
Ustawia próg odsetka błędów CCA.
|
otChannelManagerSetDelay(otInstance *aInstance, uint16_t aDelay)
|
Ustawia opóźnienie (w sekundach) zmiany kanału.
|
otChannelManagerSetFavoredChannels(otInstance *aInstance, uint32_t aChannelMask)
|
void
Ustawia maskę ulubionego kanału.
|
otChannelManagerSetSupportedChannels(otInstance *aInstance, uint32_t aChannelMask)
|
void
Ustawia obsługiwaną maskę kanału.
|
Functions
OTChannelManagerGetAutoChannelSelectionEnabled
bool otChannelManagerGetAutoChannelSelectionEnabled( otInstance *aInstance )
Wskazuje, czy funkcja automatycznego wyboru kanałów jest włączona.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Jeśli ma wartość TRUE, to TRUE.
|
Czas między automatycznymi instrukcjami wyboru kanałów
uint32_t otChannelManagerGetAutoChannelSelectionInterval( otInstance *aInstance )
Pobiera przedział czasu (w sekundach) używany przez funkcję automatycznego wyboru kanałów.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Odstęp w sekundach.
|
Cel
uint16_t otChannelManagerGetCcaFailureRateThreshold( otInstance *aInstance )
Pobiera wartość progową odsetka błędów CCA.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Próg odsetka błędów CCA. Wartość 0 odpowiada mapowaniu na 0%, a 0xffff na 100%.
|
Opóźnienie kanału na czas oczekiwania
uint16_t otChannelManagerGetDelay( otInstance *aInstance )
Określa opóźnienie (w sekundach) wykorzystywane przez menedżera kanału w przypadku zmiany kanału.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Opóźnienie (w sekundach) związane ze zmianą kanału.
|
KanałWot
uint32_t otChannelManagerGetFavoredChannels( otInstance *aInstance )
Pobiera maskę ulubionego kanału.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Preferowane kanały jako maska.
|
KanałOotChannelGetRequestedChannel
uint8_t otChannelManagerGetRequestedChannel( otInstance *aInstance )
Przekierowuje kanał z ostatniego udanego połączenia do: otChannelManagerRequestChannelChange()
Szczegóły | |
---|---|
Zwroty |
Ostatni żądany kanał lub zero, jeśli nie było jeszcze żadnej prośby o zmianę kanału.
|
OTChannelManagerGetSupportChannels
uint32_t otChannelManagerGetSupportedChannels( otInstance *aInstance )
Pobiera obsługiwaną maskę kanału.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Obsługiwane kanały jako maska bitowa.
|
Prośba o zmianę kanału menedżera
void otChannelManagerRequestChannelChange( otInstance *aInstance, uint8_t aChannel )
Wysyła żądanie zmiany kanału sieciowego Thread.
Sieć przełącza się na dany kanał po określonym czasie (patrz otChannelManagerSetOpóźnienie()). Zmiana kanału jest przeprowadzana przez aktualizację oczekującego zbioru danych operacyjnych.
Kolejna rozmowa spowoduje anulowanie trwającej właśnie zmiany na kanale.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
Prośba o wybór kanału menedżera
otError otChannelManagerRequestChannelSelect( otInstance *aInstance, bool aSkipQualityCheck )
Poproś, aby użytkownik ChannelManager
sprawdził i wybierze nowy kanał, po czym rozpocznie zmianę kanału.
W przeciwieństwie do otChannelManagerRequestChannelChange()
, w którym kanał musi być podany jako parametr, funkcja ChannelManager
wybiera sam kanał (na podstawie zebranych informacji o jakości kanału).
Po nawiązaniu połączenia Menedżer kanału wykona te 3 czynności:
1) ChannelManager
decyduje, czy zmiana kanału będzie przydatna. Ten test można pominąć, jeśli zasada aSkipQualityCheck
ma wartość Prawda (co wymusza wybór kanału i pomija kontrolę jakości). Ten krok wykorzystuje zebrane dane o jakości linku na urządzeniu (takie jak odsetek błędów CCA, odsetek błędów wiadomości i liczba błędów wiadomości na sąsiada itp.), aby określić, czy obecna jakość kanału jest na poziomie, który uzasadnia zmianę kanału.
2) Jeśli przejdzie pierwszy etap, kanał ChannelManager
wybierze potencjalnie lepszy kanał. Wykorzystuje zebrane dane o jakości kanału według modułu ChannelMonitor
. Na tym etapie używane są obsługiwane i preferowane kanały. (zobacz sekcje otChannelManagerSetEnabledChannels() i otChannelManagerSetFavoredChannels()).
3) Jeśli nowo wybrany kanał jest inny niż bieżący, ChannelManager
zażąda/rozpocznie proces zmiany kanału (wewnętrznie wywołuje polecenie RequestChannelChange()
).
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Wartości zwracane |
|
OTChannelManagerSetAutoChannelSelectionEnabled
void otChannelManagerSetAutoChannelSelectionEnabled( otInstance *aInstance, bool aEnabled )
Włącza lub wyłącza funkcję automatycznego wyboru kanałów.
Gdy zasada jest włączona, ChannelManager
okresowo wywołuje funkcję RequestChannelSelect(false)
. Przedział czasu można ustawić w taki sposób: SetAutoChannelSelectionInterval()
.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
Ustawienie odstępukanałubezkanału
otError otChannelManagerSetAutoChannelSelectionInterval( otInstance *aInstance, uint32_t aInterval )
Ustawia przedział czasu (w sekundach) używany przez funkcję automatycznego wyboru kanałów.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Wartości zwracane |
|
Parametr OTChannelManagerSetCcaFailureRateThreshold
void otChannelManagerSetCcaFailureRateThreshold( otInstance *aInstance, uint16_t aThreshold )
Ustawia próg odsetka błędów CCA.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
Opóźnienie kanału na potrzeby uruchamiania kanałów
otError otChannelManagerSetDelay( otInstance *aInstance, uint16_t aDelay )
Ustawia opóźnienie (w sekundach) zmiany kanału.
Opóźnienie powinno być dłuższe niż maksymalny interwał ankiety z danymi wykorzystywany przez wszystkie usypiane urządzenia w sieci Thread.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Wartości zwracane |
|
Ustawiony KanałNaukowy
void otChannelManagerSetFavoredChannels( otInstance *aInstance, uint32_t aChannelMask )
Ustawia maskę ulubionego kanału.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
OTChannelManagerSetsupportedChannels
void otChannelManagerSetSupportedChannels( otInstance *aInstance, uint32_t aChannelMask )
Ustawia obsługiwaną maskę kanału.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
Zasoby
Tematy referencyjne interfejsu API OpenThread pochodzą z kodu źródłowego dostępnego w GitHub. Aby dowiedzieć się więcej lub dodać treści do naszej dokumentacji, zapoznaj się z materiałami.