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
[in] aInstance
Wskaźnik do instancji OpenThread.
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
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwroty
Odstęp w sekundach.

Cel

uint16_t otChannelManagerGetCcaFailureRateThreshold(
  otInstance *aInstance
)

Pobiera wartość progową odsetka błędów CCA.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
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
[in] aInstance
Wskaźnik do instancji OpenThread.
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
[in] aInstance
Wskaźnik do instancji OpenThread.
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
[in] aInstance
Wskaźnik do instancji OpenThread.
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
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aChannel
Nowy kanał dla sieci Thread.

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
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aSkipQualityCheck
Wskazuje, czy należy pominąć kontrolę jakości (krok 1).
Wartości zwracane
OT_ERROR_NONE
Wybór kanału zakończony.
OT_ERROR_NOT_FOUND
Obsługiwana maska kanału jest pusta, więc nie udało się wybrać kanału.

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
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aEnabled
Wskazuje, czy włączyć czy wyłączyć tę funkcję.

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
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aInterval
Odstęp w sekundach.
Wartości zwracane
OT_ERROR_NONE
Interwał został ustawiony.
OT_ERROR_INVALID_ARGS
aInterval jest nieprawidłowy (zero).

Parametr OTChannelManagerSetCcaFailureRateThreshold

void otChannelManagerSetCcaFailureRateThreshold(
  otInstance *aInstance,
  uint16_t aThreshold
)

Ustawia próg odsetka błędów CCA.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aThreshold
Próg odsetka błędów CCA. Wartość 0 odpowiada mapowaniu na 0%, a 0xffff na 100%.

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
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aDelay
Opóźnienie w sekundach.
Wartości zwracane
OT_ERROR_NONE
Opóźnienie zostało zaktualizowane.
OT_ERROR_INVALID_ARGS
Podane opóźnienie (aDelay) jest zbyt krótkie.

Ustawiony KanałNaukowy

void otChannelManagerSetFavoredChannels(
  otInstance *aInstance,
  uint32_t aChannelMask
)

Ustawia maskę ulubionego kanału.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aChannelMask
Maska kanału.

OTChannelManagerSetsupportedChannels

void otChannelManagerSetSupportedChannels(
  otInstance *aInstance,
  uint32_t aChannelMask
)

Ustawia obsługiwaną maskę kanału.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aChannelMask
Maska kanału.

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.