Multipan

Ten moduł zawiera abstrakcję platformy do obsługi wielu obiektów.

Podsumowanie

Funkcje

otPlatMultipanGetActiveInstance(otInstance **aInstance)
Instancja ma obecnie kontrolę nad radiem.
otPlatMultipanIidToInstance(uint8_t aIid)
Pobierz wskaźnik instancji odpowiadający danemu identyfikatorowi IID.
otPlatMultipanInstanceToIid(otInstance *aInstance)
uint8_t
Pobierz identyfikator IID odpowiadający danemu wskaźnikowi instancji OpenThread.
otPlatMultipanSetActiveInstance(otInstance *aInstance, bool aCompletePending)
Ustaw aInstance jako aktualną aktywną instancję, która steruje urządzeniem.
otPlatMultipanSwitchoverDone(otInstance *aInstance, bool aSuccess)
void
Platforma zakończyła procedurę przełączania interfejsu.

Funkcje

otPlatMultipanGetActiveInstance

otError otPlatMultipanGetActiveInstance(
  otInstance **aInstance
)

Instancja ma obecnie kontrolę nad radiem.

Jeśli radio nie działa równolegle we wszystkich interfejsach, ta funkcja zwraca obiekt instancji z przyznanym dostępem z radia.

Szczegóły
Parametry
[out] aInstance
Wskaźnik do zmiennej służącej do przechowywania aktywnego wskaźnika instancji.
Zwracane wartości
OT_ERROR_NONE
Usługa została pobrana.
OT_ERROR_NOT_IMPLEMENTED
Nie udało się z powodu braku obsługi radia.
OT_ERROR_INVALID_COMMAND
Platforma obsługuje jednocześnie wszystkie interfejsy.

otPlatMultipanIidToInstance

otInstance * otPlatMultipanIidToInstance(
  uint8_t aIid
)

Pobierz wskaźnik instancji odpowiadający danemu identyfikatorowi IID.

Szczegóły
Parametry
[in] aIid
Identyfikator IID interfejsu.
Zwracane wartości
Instance
wskaźnik, jeśli aIid ma przypisaną instancję. W przeciwnym razie ma wartość nullptr.

otPlatMultipanInstanceToIid

uint8_t otPlatMultipanInstanceToIid(
  otInstance *aInstance
)

Pobierz identyfikator IID odpowiadający danemu wskaźnikowi instancji OpenThread.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
Zwracane wartości
IID
danego wystąpienia, w przeciwnym razie transmituje IID.

otPlatMultipanSetActiveInstance

otError otPlatMultipanSetActiveInstance(
  otInstance *aInstance,
  bool aCompletePending
)

Ustaw aInstance jako aktualną aktywną instancję, która steruje urządzeniem.

Ta funkcja pozwala wybrać aktualnie aktywną instancję na platformach, które nie obsługują równoległej komunikacji przez wiele interfejsów. Inaczej mówiąc, jeśli w stanie odbierania znajduje się więcej niż 1 instancja, wywołanie metody otPlatMultipanSetActiveInstance gwarantuje, że dana instancja będzie odbierana. Ta funkcja zwraca, jeśli żądanie zostało odebrane prawidłowo. Po zakończeniu przełączania interfejsu platforma powinna wywołać metodę otPlatMultipanSwitchoverDone. Przełączanie interfejsów może potrwać dłużej, jeśli zasada aCompletePending ma wartość Prawda.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aCompletePending
Prawda, jeśli trwająca operacja radiowa powinna zakończyć się przed przełączeniem interfejsu (przełącznik miękki), a wartość false (fałsz) w przypadku przełączania wymuszonego.
Zwracane wartości
OT_ERROR_NONE
Usługa została ustawiona.
OT_ERROR_BUSY
Niepowodzenie z powodu trwającej innej operacji.
OT_ERROR_NOT_IMPLEMENTED
Niepowodzenie z powodu nieznanej instancji lub większej liczby instancji niż dostępnych interfejsów.
OT_ERROR_INVALID_COMMAND
Platforma obsługuje jednocześnie wszystkie interfejsy.
OT_ERROR_ALREADY
Podany interfejs jest już aktywny.

otPlatMultipanSwitchoverDone

void otPlatMultipanSwitchoverDone(
  otInstance *aInstance,
  bool aSuccess
)

Platforma zakończyła procedurę przełączania interfejsu.

Jeśli opóźnienie nie jest potrzebne lub jeśli trzeba zakończyć jakieś dłuższe operacje radiowe, po zakończeniu przełączania interfejsów należy je wywoływać natychmiast po przetworzeniu interfejsu otPlatMultipanSetActiveInstance.

Szczegóły
Parametry
[in] aInstance
Struktura instancji OpenThread.
[in] aSuccess
Wartość to „prawda”, jeśli udało się przełączyć interfejsy, „fałsz”, jeśli przełączanie nie powiodło się.

Zasoby

Tematy referencyjne interfejsu OpenThread API pochodzą z kodu źródłowego dostępnego w GitHub. Aby dowiedzieć się więcej lub dołączyć do naszej dokumentacji, skorzystaj z sekcji Zasoby.