Instancja

Ten moduł zawiera funkcje, które kontrolują instancję OpenThread.

Podsumowanie

Definicje typów

otChangedFlags typedef
uint32_t
Reprezentuje pole bitowe wskazujące określony stan lub konfigurację, która uległa zmianie.
otInstance typedef
struct otInstance
Reprezentuje strukturę instancji OpenThread.
otStateChangedCallback)(otChangedFlags aFlags, void *aContext) typedef
void(*
Wskaźnik jest wywoływany w celu powiadomienia o określonych zmianach konfiguracji lub stanu w OpenThread.

Funkcje

otGetRadioVersionString(otInstance *aInstance)
const char *
Pobiera ciąg znaków wersji radiowej OpenThread.
otGetVersionString(void)
const char *
Pobiera ciąg znaków wersji OpenThread.
otInstanceErasePersistentInfo(otInstance *aInstance)
Wymazuje wszystkie trwałe informacje OpenThread (ustawienia sieci) zapisane w pamięci nieulotnej.
otInstanceFactoryReset(otInstance *aInstance)
void
Usuwa wszystkie ustawienia zapisane w pamięci nieulotnej, a następnie aktywuje resetowanie platformy.
otInstanceFinalize(otInstance *aInstance)
void
Wyłącza bibliotekę OpenThread.
otInstanceGetId(otInstance *aInstance)
uint32_t
Pobiera identyfikator instancji.
otInstanceGetUptime(otInstance *aInstance)
uint64_t
Zwraca bieżącą dostępność instancji (w ms).
otInstanceGetUptimeAsString(otInstance *aInstance, char *aBuffer, uint16_t aSize)
void
Zwraca bieżącą dostępność instancji w postaci ciągu zrozumiałego dla człowieka.
otInstanceInit(void *aInstanceBuffer, size_t *aInstanceBufferSize)
Inicjuje bibliotekę OpenThread.
otInstanceInitMultiple(uint8_t aIdx)
Inicjuje instancję OpenThread.
otInstanceInitSingle(void)
Inicjuje statyczną pojedynczą instancję biblioteki OpenThread.
otInstanceIsInitialized(otInstance *aInstance)
bool
Wskazuje, czy instancja jest prawidłowa/zainicjowana.
otInstanceReset(otInstance *aInstance)
void
Wywołuje resetowanie platformy.
otInstanceResetRadioStack(otInstance *aInstance)
void
Resetuje wewnętrzne stany stosu radiowego OpenThread.
otInstanceResetToBootloader(otInstance *aInstance)
Wyzwala reset platformy do trybu programu rozruchowego (jeśli jest obsługiwany).
otRemoveStateChangeCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
void
Usuwa wywołanie zwrotne wskazujące, że w obrębie OpenThread zmieni się określona konfiguracja lub stan.
otSetStateChangedCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
Rejestruje wywołanie zwrotne wskazujące, że w obrębie OpenThread zmieni się określona konfiguracja lub stan.

Definicje typów

otChangedFlags

uint32_t otChangedFlags

Reprezentuje pole bitowe wskazujące określony stan lub konfigurację, która uległa zmianie.

Zobacz definicje (OT_CHANGED_*).

otInstance

struct otInstance otInstance

Reprezentuje strukturę instancji OpenThread.

otStateChangedCallback

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

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

Szczegóły
Parametry
[in] aFlags
Pole bitowe wskazujące określony stan, który uległ zmianie. Zobacz definicje (OT_CHANGED_*).
[in] aContext
Wskaźnik do kontekstu aplikacji.

Funkcje

otGetRadioVersionString

const char * otGetRadioVersionString(
  otInstance *aInstance
)

Pobiera ciąg znaków wersji radiowej OpenThread.

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

otGetVersionString

const char * otGetVersionString(
  void
)

Pobiera ciąg znaków wersji OpenThread.

Szczegóły
Zwroty
Wskaźnik wersji OpenThread.

otInstanceErasePersistentInfo

otError otInstanceErasePersistentInfo(
  otInstance *aInstance
)

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

Wymazywanie jest udane tylko wtedy, gdy urządzenie ma przypisaną rolę lub stan disabled.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwracane wartości
OT_ERROR_NONE
Wszystkie trwałe informacje/stan zostały usunięte.
OT_ERROR_INVALID_STATE
Urządzenie nie ma przypisanej roli lub stanu disabled.

otInstanceFactoryReset

void otInstanceFactoryReset(
  otInstance *aInstance
)

Usuwa wszystkie ustawienia zapisane w pamięci nieulotnej, a następnie aktywuje resetowanie platformy.

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

otInstanceFinalize

void otInstanceFinalize(
  otInstance *aInstance
)

Wyłącza bibliotekę OpenThread.

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

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

otInstanceGetId

uint32_t otInstanceGetId(
  otInstance *aInstance
)

Pobiera identyfikator instancji.

Podczas tworzenia instancji identyfikator instancji jest ustawiany na wartość losową, a jej wartość nie zmienia się po zainicjowaniu.

Szczegóły
Zwroty
Identyfikator instancji.

otInstanceGetUptime

uint64_t otInstanceGetUptime(
  otInstance *aInstance
)

Zwraca bieżącą dostępność instancji (w ms).

Wymaga włączenia zasady OPENTHREAD_CONFIG_UPTIME_ENABLE.

Czas działania jest określony jako liczba milisekund od zainicjowania instancji OpenThread.

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

otInstanceGetUptimeAsString

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

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

Wymaga włączenia zasady OPENTHREAD_CONFIG_UPTIME_ENABLE.

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

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

Jeśli powstały ciąg znaków nie mieści się w polu aBuffer (łącznie ze znakami aSize), zostanie on obcięty, ale wyjściowy ciąg będzie zawsze miał wartość null.

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

otInstanceInit

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

Inicjuje bibliotekę OpenThread.

Inicjuje OpenThread i przygotowuje ją do kolejnych wywołań interfejsu OpenThread API. Ta funkcja musi zostać wywołana przed innymi wywołaniami OpenThread.

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

Szczegóły
Parametry
[in] aInstanceBuffer
Bufor używany przez OpenThread do przydzielania struktury otInstance.
[in,out] aInstanceBufferSize
W przypadku danych wejściowych rozmiar bufora instancji. W przypadku danych wyjściowych, jeśli jest za mało miejsca na otInstance, liczba bajtów wymagana przez otInstance.
Zwroty
Wskaźnik do nowej instancji OpenThread.
Zobacz też:
otInstanceFinalize

otInstanceInitMultiple

otInstance * otInstanceInitMultiple(
  uint8_t aIdx
)

Inicjuje instancję OpenThread.

Ta funkcja inicjuje OpenThread i przygotowuje ją do kolejnych wywołań interfejsu API OpenThread. Ta funkcja musi zostać wywołana przed innymi wywołaniami OpenThread. Ta metoda inicjuje instancję OpenThread, korzystając z bufora statycznego.

Ta funkcja jest dostępna i można jej używać tylko wtedy, gdy włączona jest obsługa wielu instancji statycznych OpenThread (OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE)

Szczegóły
Parametry
[in] aIdx
Indeks instancji OpenThread do zainicjowania.
Zwroty
Wskaźnik do nowej instancji OpenThread.

otInstanceInitSingle

otInstance * otInstanceInitSingle(
  void
)

Inicjuje statyczną pojedynczą instancję biblioteki OpenThread.

Inicjuje OpenThread i przygotowuje ją do kolejnych wywołań interfejsu OpenThread API. Ta funkcja musi zostać wywołana przed innymi wywołaniami OpenThread.

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

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

otInstanceIsInitialized

bool otInstanceIsInitialized(
  otInstance *aInstance
)

Wskazuje, czy instancja jest prawidłowa/zainicjowana.

Instancja jest uznawana za prawidłową, jeśli została pozyskana i zainicjowana za pomocą polecenia otInstanceInitSingle() (w pojedynczym przypadku) lub otInstanceInit() (w przypadku wielu instancji). Kolejne wywołanie otInstanceFinalize() powoduje, że instancja jest uznawana za niezainicjowaną.

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

otInstanceReset

void otInstanceReset(
  otInstance *aInstance
)

Wywołuje resetowanie platformy.

Resetowanie powoduje wymazanie całego stanu/informacji OpenThread (przechowywanych w pamięci ulotnej). Pamiętaj, że otPlatformReset nie usuwa żadnego trwałego stanu ani informacji zapisanych w pamięci nieulotnej.

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

otInstanceResetRadioStack

void otInstanceResetRadioStack(
  otInstance *aInstance
)

Resetuje wewnętrzne stany stosu radiowego 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.

otInstanceResetToBootloader

otError otInstanceResetToBootloader(
  otInstance *aInstance
)

Wyzwala reset platformy do trybu programu rozruchowego (jeśli jest obsługiwany).

Wymagana jest subskrypcja OPENTHREAD_CONFIG_PLATFORM_BOOTLOADER_MODE_ENABLE.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwracane wartości
OT_ERROR_NONE
Zresetowano do programu rozruchowego.
OT_ERROR_BUSY
Niepowodzenie, ponieważ trwa inna operacja.
OT_ERROR_NOT_CAPABLE
Nie można zresetować do programu rozruchowego.

otRemoveStateChangeCallback

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

Usuwa wywołanie zwrotne wskazujące, że w obrębie OpenThread zmieni się określona 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 stanu.
[in] aContext
Wskaźnik do kontekstu aplikacji.

otSetStateChangedCallback

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

Rejestruje wywołanie zwrotne wskazujące, że w obrębie OpenThread zmieni się określona 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 stanu.
[in] aContext
Wskaźnik do kontekstu aplikacji.
Zwracane wartości
OT_ERROR_NONE
Do listy wywołań zwrotnych dodano wywołanie zwrotne.
OT_ERROR_ALREADY
Wywołanie zwrotne zostało już zarejestrowane.
OT_ERROR_NO_BUFS
Nie udało się dodać wywołania zwrotnego z powodu ograniczeń zasobów.

Makra

OT_CHANGED_ACTIVE_DATASET

 OT_CHANGED_ACTIVE_DATASET (1U << 28)

Aktywny zbiór danych operacyjnych został zmieniony.

OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL

 OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL (1U << 21)

Zmieniono oczekujący kanał w wątku menedżera kanału.

OT_CHANGED_COMMISSIONER_STATE

 OT_CHANGED_COMMISSIONER_STATE (1U << 23)

Zmieniono stan komisarza.

OT_CHANGED_IP6_ADDRESS_ADDED

 OT_CHANGED_IP6_ADDRESS_ADDED (1U << 0)

Adres IPv6 został dodany.

OT_CHANGED_IP6_ADDRESS_REMOVED

 OT_CHANGED_IP6_ADDRESS_REMOVED (1U << 1)

Adres IPv6 został usunięty.

OT_CHANGED_IP6_MULTICAST_SUBSCRIBED

 OT_CHANGED_IP6_MULTICAST_SUBSCRIBED (1U << 12)

Zasubskrybowano adres multiemisji IPv6.

OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED

 OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED (1U << 13)

Anulowano subskrypcję adresu multiemisji IPv6.

OT_CHANGED_JOINER_STATE

 OT_CHANGED_JOINER_STATE (1U << 27)

Zmieniono stan łączenia.

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)

Zmieniono klucz sieci.

 OT_CHANGED_PARENT_LINK_QUALITY (1U << 31)

Jakość linku nadrzędnego została zmieniona.

OT_CHANGED_PENDING_DATASET

 OT_CHANGED_PENDING_DATASET (1U << 29)

Zmieniono oczekujący zbiór danych operacyjnych.

OT_CHANGED_PSKC

 OT_CHANGED_PSKC (1U << 19)

Klucz PSKc został zmieniony.

OT_CHANGED_SECURITY_POLICY

 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)

Zmieniono konfigurację lokalnego routera szkieletowego.

OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE

 OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE (1U << 25)

Zmieniono stan routera szkieletowego.

OT_CHANGED_THREAD_CHANNEL

 OT_CHANGED_THREAD_CHANNEL (1U << 14)

Kanał sieci w wątku został zmieniony.

OT_CHANGED_THREAD_CHILD_ADDED

 OT_CHANGED_THREAD_CHILD_ADDED (1U << 10)

Dodano dziecko.

OT_CHANGED_THREAD_CHILD_REMOVED

 OT_CHANGED_THREAD_CHILD_REMOVED (1U << 11)

Dziecko zostało usunięte.

OT_CHANGED_THREAD_EXT_PANID

 OT_CHANGED_THREAD_EXT_PANID (1U << 17)

Identyfikator PAN rozszerzonej sieci typu Thread został zmieniony.

OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER

 OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER (1U << 8)

Zmieniono sekwencję kluczy wątku.

OT_CHANGED_THREAD_LL_ADDR

 OT_CHANGED_THREAD_LL_ADDR (1U << 3)

Zmieniono adres link-local.

OT_CHANGED_THREAD_ML_ADDR

 OT_CHANGED_THREAD_ML_ADDR (1U << 4)

Zmienił się lokalny adres sieci typu mesh.

OT_CHANGED_THREAD_NETDATA

 OT_CHANGED_THREAD_NETDATA (1U << 9)

Dane sieci typu Thread zostały zmienione.

OT_CHANGED_THREAD_NETIF_STATE

 OT_CHANGED_THREAD_NETIF_STATE (1U << 24)

Zmieniono stan interfejsu sieci typu Thread.

OT_CHANGED_THREAD_NETWORK_NAME

 OT_CHANGED_THREAD_NETWORK_NAME (1U << 16)

Nazwa sieci w wątku została zmieniona.

OT_CHANGED_THREAD_PANID

 OT_CHANGED_THREAD_PANID (1U << 15)

Identyfikator PAN sieci typu Thread został zmieniony.

OT_CHANGED_THREAD_PARTITION_ID

 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_REMOVED

 OT_CHANGED_THREAD_RLOC_REMOVED (1U << 6)

Usunięto RLOC.

OT_CHANGED_THREAD_ROLE

 OT_CHANGED_THREAD_ROLE (1U << 2)

Zmieniono rolę (wyłączona, odłączona, podrzędna, router, replika wiodąca).

OT_UPTIME_STRING_SIZE

 OT_UPTIME_STRING_SIZE 24

Zalecany rozmiar dostępności na potrzeby reprezentacji czasu działania w ciągu znaków.

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.