Instancja

Ten moduł zawiera funkcje sterujące instancją OpenThread.

Podsumowanie

Definicja typów

otChangedFlags definicja typu
uint32_t
Reprezentuje pole bitu wskazujące konkretny zmieniony stan/konfigurację.
otInstance definicja typu
struct otInstance
Odzwierciedla strukturę instancji OpenThread.
otStateChangedCallback)(otChangedFlags aFlags, void *aContext) definicja typu
void(*
Wskaźnik jest wywoływany w celu powiadomienia o pewnych zmianach konfiguracji lub stanu w OpenThread.

Funkcje

otGetRadioVersionString(otInstance *aInstance)
const char *
Pobiera ciąg wersji radiowej OpenThread.
otGetVersionString(void)
const char *
Pobiera ciąg znaków wersji OpenThread.
otInstanceErasePersistentInfo(otInstance *aInstance)
Wymazuje trwałe informacje OpenThread (ustawienia sieci) przechowywane w pamięci nieulotnej.
otInstanceFactoryReset(otInstance *aInstance)
void
Usuwa wszystkie ustawienia pamięci nieulotnej, a następnie uruchamia resetowanie platformy.
otInstanceFinalize(otInstance *aInstance)
void
Wyłącza bibliotekę OpenThread.
otInstanceGetId(otInstance *aInstance)
uint32_t
Pobiera identyfikator instancji.
otInstanceGetUptime(otInstance *aInstance)
uint64_t
Zwraca aktualną dostępność usługi w milisekundach.
otInstanceGetUptimeAsString(otInstance *aInstance, char *aBuffer, uint16_t aSize)
void
Zwraca bieżącą dostępność instancji w postaci zrozumiałego dla człowieka ciągu.
otInstanceInit(void *aInstanceBuffer, size_t *aInstanceBufferSize)
Inicjuje bibliotekę OpenThread.
otInstanceInitSingle(void)
Inicjuje statyczną pojedynczą instancję biblioteki OpenThread.
otInstanceIsInitialized(otInstance *aInstance)
bool
Wskazuje, czy instancja jest prawidłowa czy zainicjowana.
otInstanceReset(otInstance *aInstance)
void
Powoduje zresetowanie platformy.
otInstanceResetRadioStack(otInstance *aInstance)
void
Resetuje wewnętrzne stany stosu radia OpenThread.
otRemoveStateChangeCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
void
Usuwa wywołanie zwrotne wskazujące, że w OpenThread pojawiła się zmiana konfiguracji lub stanu.
otSetStateChangedCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
Rejestruje wywołanie zwrotne wskazujące, że w OpenThread zmieni się konkretna konfiguracja lub stan.

Definicja typów

Flagi zmian

uint32_t otChangedFlags

Reprezentuje pole bitu wskazujące konkretny zmieniony stan/konfigurację.

Zobacz OT_CHANGED_* definicje.

Instancja OT

struct otInstance otInstance

Odzwierciedla strukturę instancji OpenThread.

Wywołanie wywołania zwrotnego

void(* otStateChangedCallback)(otChangedFlags aFlags, void *aContext)

Wskaźnik jest wywoływany w celu powiadomienia o pewnych zmianach konfiguracji lub stanu w OpenThread.

Szczegóły
Parametry
[in] aFlags
Pole bitowe wskazujące określony stan. Zobacz OT_CHANGED_* definicje.
[in] aContext
Wskazanie kontekstu aplikacji.

Funkcje

Parametr GetOTRadioVersionString

const char * otGetRadioVersionString(
  otInstance *aInstance
)

Pobiera ciąg wersji radiowej OpenThread.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwroty
Wskaźnik wersji radiowej OpenThread.

Parametr GetOTVersion

const char * otGetVersionString(
  void
)

Pobiera ciąg znaków wersji OpenThread.

Szczegóły
Zwroty
Wskaźnik do wersji OpenThread.

otInstanceDELETEPersistentInfo,

otError otInstanceErasePersistentInfo(
  otInstance *aInstance
)

Wymazuje trwałe informacje OpenThread (ustawienia sieci) przechowywane w pamięci nieulotnej.

Wykasowanie danych następuje tylko wtedy, gdy urządzenie ma stan disabled/rolę.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Wartości zwracane
OT_ERROR_NONE
Wszystkie trwałe informacje/stan zostały usunięte.
OT_ERROR_INVALID_STATE
Urządzenie nie jest w stanie/roli disabled.

ototFactorFactor – resetowanie

void otInstanceFactoryReset(
  otInstance *aInstance
)

Usuwa wszystkie ustawienia pamięci nieulotnej, a następnie uruchamia resetowanie platformy.

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

Zakończ instancję

void otInstanceFinalize(
  otInstance *aInstance
)

Wyłącza bibliotekę OpenThread.

Wywołuj tę funkcję, gdy OpenThread nie jest już używany.

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

Identyfikator otInstanceGetId

uint32_t otInstanceGetId(
  otInstance *aInstance
)

Pobiera identyfikator instancji.

Podczas tworzenia instancji identyfikator instancji jest ustawiany na losową wartość, a po jej zainicjowaniu wartość nie ulega zmianie.

Szczegóły
Zwroty
Identyfikator instancji.

Czas dostępności instancji

uint64_t otInstanceGetUptime(
  otInstance *aInstance
)

Zwraca aktualną dostępność usługi w milisekundach.

Wymaga włączenia funkcji OPENTHREAD_CONFIG_UPTIME_ENABLE.

Czas działania jest podawany w milisekundach od zainicjowania instancji OpenThread.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwroty
Czas działania (liczba milisekund).

Parametr OTInstanceGetUptimeAsString

void otInstanceGetUptimeAsString(
  otInstance *aInstance,
  char *aBuffer,
  uint16_t aSize
)

Zwraca bieżącą dostępność instancji w postaci zrozumiałego dla człowieka ciągu.

Wymaga włączenia funkcji OPENTHREAD_CONFIG_UPTIME_ENABLE.

Ciąg znaków ma format „::.” (godziny, minuty, sekundy i milisekundy (jeśli czas działania jest krótszy niż 1 dzień) lub „”.

d.::." (jeśli trwa dłużej niż 1 dzień).

Jeśli wynikowy ciąg nie zmieści się w zakresie aBuffer (znajduje się w jego aSize znakach), zostanie skrócony, ale zawsze będzie zwracany pusty ciąg.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[out] aBuffer
Wskaźnik do tablicy znaków, aby uzyskać ciąg znaków.
[in] aSize
Rozmiar pliku aBuffer (w bajtach). Zalecane użycie: OT_UPTIME_STRING_SIZE.

ot instancji

otInstance * otInstanceInit(
  void *aInstanceBuffer,
  size_t *aInstanceBufferSize
)

Inicjuje bibliotekę OpenThread.

Inicjuje OpenThread i przygotowuje go do kolejnych wywołań interfejsu OpenThread API. Tę funkcję należy wywołać przed innymi wywołaniami OpenThread.

Jest dostępny i można go używać tylko wtedy, gdy jest włączona obsługa wielu instancji OpenThread.

Szczegóły
Parametry
[in] aInstanceBuffer
Bufor dla OpenThread używany do przydzielania struktury otInstance.
[in,out] aInstanceBufferSize
Rozmiar danych wejściowych, czyli rozmiaru bufora instancji. Gdy dane wyjściowe są niewystarczające, liczba bajtów wymaganych przez instancję otInstance jest ograniczona.
Zwroty
Wskaźnik do nowej instancji OpenThread.
Zobacz też:
otInstanceFinalize

OTInInSingleSingle

otInstance * otInstanceInitSingle(
  void
)

Inicjuje statyczną pojedynczą instancję biblioteki OpenThread.

Inicjuje OpenThread i przygotowuje go do kolejnych wywołań interfejsu OpenThread API. Tę funkcję należy wywołać przed innymi wywołaniami OpenThread.

Jest dostępne i można go używać tylko wtedy, gdy obsługa wielu instancji OpenThread jest wyłączona.

Szczegóły
Zwroty
Wskaźnik do pojedynczej instancji OpenThread.

otot zainicjowane

bool otInstanceIsInitialized(
  otInstance *aInstance
)

Wskazuje, czy instancja jest prawidłowa czy zainicjowana.

Instancja jest uznawana za prawidłową, jeśli została pozyskana i zainicjowana przy użyciu zasady otInstanceInitSingle() (w pojedynczej instancji) lub otInstanceInit() (w wielu przypadkach). Kolejne wywołanie otInstanceFinalize() powoduje, że instancja jest uznawana za niezainicjowaną.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwroty
TRUE, jeśli dana instancja jest prawidłowa/zainicjowana, w przeciwnym razie ma wartość FALSE.

Zresetuj instancję

void otInstanceReset(
  otInstance *aInstance
)

Powoduje zresetowanie platformy.

Proces resetowania daje pewność, że wszystkie dane i stany OpenThread (przechowywane w pamięci podręcznej) zostaną wykasowane. otPlatformReset nie usuwa żadnego trwałego stanu/informacji zapisanych w pamięci nieulotnej.

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

OTT

void otInstanceResetRadioStack(
  otInstance *aInstance
)

Resetuje wewnętrzne stany stosu radia OpenThread.

Wywołania zwrotne i konfiguracje są zachowywane.

Ten interfejs API jest dostępny tylko w kompilacjach radiowych (OPENTHREAD_RADIO = 1).

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

otRemoveStateChangeCallback

void otRemoveStateChangeCallback(
  otInstance *aInstance,
  otStateChangedCallback aCallback,
  void *aContext
)

Usuwa wywołanie zwrotne wskazujące, że w OpenThread pojawiła się zmiana konfiguracji lub stanu.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aCallback
Wskaźnik do funkcji, która jest wywoływana z określonymi zmianami konfiguracji lub stanów.
[in] aContext
Wskazanie kontekstu aplikacji.

OTSetStateChangedCallback

otError otSetStateChangedCallback(
  otInstance *aInstance,
  otStateChangedCallback aCallback,
  void *aContext
)

Rejestruje wywołanie zwrotne wskazujące, że w OpenThread zmieni się konkretna konfiguracja lub stan.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aCallback
Wskaźnik do funkcji, która jest wywoływana z określonymi zmianami konfiguracji lub stanów.
[in] aContext
Wskazanie kontekstu aplikacji.
Wartości zwracane
OT_ERROR_NONE
Wywołanie zwrotne zostało dodane do listy.
OT_ERROR_ALREADY
Połączenie zwrotne zostało już zarejestrowane.
OT_ERROR_NO_BUFS
Nie udało się dodać wywołania zwrotnego ze względu na ograniczenia zasobów.

Makra

Zbiór_danych_do_zmiany

 OT_CHANGED_ACTIVE_DATASET (1U << 28)

Zmieniono aktywny zbiór danych operacyjnych.

OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL

 OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL (1U << 21)

Nowy oczekujący kanał wątku w Menedżerze kanałów został zmieniony.

OT_CHANGED_COMMISSIONER_STATE

 OT_CHANGED_COMMISSIONER_STATE (1U << 23)

Zmieniono stan komisarza.

OT_CHANGED_ADRES_IP_DOTYCZĄCY

 OT_CHANGED_IP6_ADDRESS_ADDED (1U << 0)

Adres IPv6 został dodany.

0_CHANGED_IP_6

 OT_CHANGED_IP6_ADDRESS_REMOVED (1U << 1)

Adres IPv6 został usunięty.

OT_CHANGED_IP6_MULTICAST_SUBD

 OT_CHANGED_IP6_MULTICAST_SUBSCRIBED (1U << 12)

Zasubskrybowano adres multicast IPv6.

OT_CHANGED_IP6_MULTICAST_UNSUBDANE

 OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED (1U << 13)

Anulowano subskrypcję adresu IPv6 IPv6.

OT_CHANGED_JOINER_STATE

 OT_CHANGED_JOINER_STATE (1U << 27)

Zmieniono stan złącza.

OT_CHANGED_NAT64_TRANSLATOR_STATE

 OT_CHANGED_NAT64_TRANSLATOR_STATE (1U << 30)

Zmienił się stan tłumacza NAT64.

OT_CHANGED_NETWORK_KEY

 OT_CHANGED_NETWORK_KEY (1U << 18)

Klucz sieci został zmieniony.

 OT_CHANGED_PARENT_LINK_QUALITY (1U << 31)

Zmieniono jakość linku nadrzędnego.

Zbiór_danych_oczekujących_danych_do_zmiany

 OT_CHANGED_PENDING_DATASET (1U << 29)

Oczekiwanie na operacyjny zbiór danych został zmieniony.

OT_CHANGED_PSKC

 OT_CHANGED_PSKC (1U << 19)

Zmieniono klucz PSKC.

OT_CHANGED_ZASADY_BEZPIECZEŃSTWA

 OT_CHANGED_SECURITY_POLICY (1U << 20)

Zasada zabezpieczeń została zmieniona.

OT_CHANGED_SUPPORTED_CHANNEL_MASK

 OT_CHANGED_SUPPORTED_CHANNEL_MASK (1U << 22)

Zmieniono obsługiwaną maskę kanału.

OT_CHANGED_Thread_BACKBONE_ROUTER_LOCAL

 OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL (1U << 26)

Lokalna konfiguracja routera szkieletowego została zmieniona.

OT_CHANGED_Thread_BACKBONE_ROUTER_STATE

 OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE (1U << 25)

Zmieniono stan routera szkieletowego.

OT_CHANGED_wątek_KANAŁU

 OT_CHANGED_THREAD_CHANNEL (1U << 14)

Zmieniono kanał sieciowy wątku.

OT_CHANGED_Thread_CHILD_ADDED

 OT_CHANGED_THREAD_CHILD_ADDED (1U << 10)

Element podrzędny został dodany.

OT_CHANGED_Thread_CHILD_REMOVE

 OT_CHANGED_THREAD_CHILD_REMOVED (1U << 11)

Dziecko zostało usunięte.

OT_CHANGED_Thread_EXT_PANID

 OT_CHANGED_THREAD_EXT_PANID (1U << 17)

Zmieniono identyfikator rozszerzonego numeru PAN sieci.

OT_CHANGED_Thread_KEY_SEQUENCE_COUNTER

 OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER (1U << 8)

Zmieniono sekwencję kluczy wątku.

TY_ZMIANY_WERSJ_W_URZĄDZENIU

 OT_CHANGED_THREAD_LL_ADDR (1U << 3)

Zmieniono adres lokalny linku.

OT_CHANGED_wątków_ML_ADDR

 OT_CHANGED_THREAD_ML_ADDR (1U << 4)

Zmieniono lokalny adres typu mesh.

dane_do_zmiany

 OT_CHANGED_THREAD_NETDATA (1U << 9)

Dane sieci dotyczące wątków zostały zmienione.

OT_CHANGED_Thread_NETIF_STATE

 OT_CHANGED_THREAD_NETIF_STATE (1U << 24)

Zmieniono stan interfejsu sieciowego wątku.

OT_CHANGED_Thread_NETWORK_NAME

 OT_CHANGED_THREAD_NETWORK_NAME (1U << 16)

Zmieniono nazwę sieci wątku.

OT_CHANGED_IDENTYFIKATOR_WERSJI

 OT_CHANGED_THREAD_PANID (1U << 15)

Identyfikator PAN sieci wątków został zmieniony.

OT_CHANGED_WERSJA_W_CZĘŚCIU_WERSJI

 OT_CHANGED_THREAD_PARTITION_ID (1U << 7)

Identyfikator partycji został zmieniony.

OT_CHANGED_Thread_RLOC_ADDED

 OT_CHANGED_THREAD_RLOC_ADDED (1U << 5)

Dodano RLOC.

OT_CHANGED_Thread_RLOC_REMOVE

 OT_CHANGED_THREAD_RLOC_REMOVED (1U << 6)

Lista RLOC została usunięta.

OT_CHANGED_wątek_roku

 OT_CHANGED_THREAD_ROLE (1U << 2)

Zmieniono rolę (wyłączoną, odłączoną, podrzędną, router lub lidera).

DO_UPTIME_STRING_SIZE

 OT_UPTIME_STRING_SIZE 24

Zalecany rozmiar reprezentujący czas działania ciągu.

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.