Instanz

Dieses Modul enthält Funktionen zur Steuerung der OpenThread-Instanz.

Zusammenfassung

Typedefs

otChangedFlags typedef
uint32_t
Stellt ein Bitfeld dar, das einen bestimmten geänderten Status bzw. eine bestimmte Konfiguration angibt.
otInstance typedef
struct otInstance
Stellt die OpenThread-Instanzstruktur dar.
otStateChangedCallback)(otChangedFlags aFlags, void *aContext) typedef
void(*
Pointer wird aufgerufen, um bestimmte Konfigurations- oder Statusänderungen in OpenThread zu benachrichtigen.

Funktionen

otGetRadioVersionString(otInstance *aInstance)
const char *
Ruft den OpenThread-Radioversionsstring ab.
otGetVersionString(void)
const char *
Ruft den OpenThread-Versionsstring ab.
otInstanceErasePersistentInfo(otInstance *aInstance)
Löscht alle persistenten OpenThread-Informationen (Netzwerkeinstellungen) im nichtflüchtigen Speicher.
otInstanceFactoryReset(otInstance *aInstance)
void
Löscht alle im nichtflüchtigen Speicher gespeicherten Einstellungen und löst dann ein Zurücksetzen der Plattform aus.
otInstanceFinalize(otInstance *aInstance)
void
Deaktiviert die OpenThread-Bibliothek.
otInstanceGetId(otInstance *aInstance)
uint32_t
Ruft die Instanz-ID ab.
otInstanceGetUptime(otInstance *aInstance)
uint64_t
Gibt die aktuelle Betriebszeit der Instanz (in ms) zurück.
otInstanceGetUptimeAsString(otInstance *aInstance, char *aBuffer, uint16_t aSize)
void
Gibt die aktuelle Instanzlaufzeit als menschenlesbaren String zurück.
otInstanceInit(void *aInstanceBuffer, size_t *aInstanceBufferSize)
Initialisiert die OpenThread-Bibliothek.
otInstanceInitMultiple(uint8_t aIdx)
Initialisiert die OpenThread-Instanz.
otInstanceInitSingle(void)
Initialisiert die einzelne statische Instanz der OpenThread-Bibliothek.
otInstanceIsInitialized(otInstance *aInstance)
bool
Gibt an, ob die Instanz gültig bzw. initialisiert ist.
otInstanceReset(otInstance *aInstance)
void
Löst ein Zurücksetzen der Plattform aus.
otInstanceResetRadioStack(otInstance *aInstance)
void
Setzt den internen Status des OpenThread-Funkstacks zurück.
otInstanceResetToBootloader(otInstance *aInstance)
Löst ein Zurücksetzen der Plattform auf den Bootloader-Modus aus, falls unterstützt.
otRemoveStateChangeCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
void
Entfernt einen Callback, der anzeigt, wenn sich eine bestimmte Konfiguration oder ein bestimmter Status innerhalb von OpenThread ändert.
otSetStateChangedCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
Registriert einen Callback, um anzuzeigen, wenn sich eine bestimmte Konfiguration oder ein bestimmter Status innerhalb von OpenThread ändert.

Typedefs

otChangedFlags

uint32_t otChangedFlags

Stellt ein Bitfeld dar, das einen bestimmten geänderten Status bzw. eine bestimmte Konfiguration angibt.

Siehe OT_CHANGED_*-Definitionen.

otInstance

struct otInstance otInstance

Stellt die OpenThread-Instanzstruktur dar.

otStateChangedCallback

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

Pointer wird aufgerufen, um bestimmte Konfigurations- oder Statusänderungen in OpenThread zu benachrichtigen.

Details
Parameter
[in] aFlags
Ein Bitfeld, das einen bestimmten, geänderten Status angibt. Siehe OT_CHANGED_*-Definitionen.
[in] aContext
Ein Zeiger auf einen anwendungsspezifischen Kontext.

Funktionen

otGetRadioVersionString

const char * otGetRadioVersionString(
  otInstance *aInstance
)

Ruft den OpenThread-Radioversionsstring ab.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
Rückgabe
Ein Zeiger auf die OpenThread-Radioversion.

otGetVersionString

const char * otGetVersionString(
  void
)

Ruft den OpenThread-Versionsstring ab.

Details
Rückgabe
Ein Zeiger auf die OpenThread-Version.

otInstanceErasePersistentInfo

otError otInstanceErasePersistentInfo(
  otInstance *aInstance
)

Löscht alle persistenten OpenThread-Informationen (Netzwerkeinstellungen) im nichtflüchtigen Speicher.

Der Löschvorgang ist nur erfolgreich, wenn das Gerät den Status bzw. die Rolle disabled hat.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
Rückgabewerte
OT_ERROR_NONE
Alle dauerhaften Informationen/Status wurden gelöscht.
OT_ERROR_INVALID_STATE
Das Gerät hat nicht den Status/die Rolle „disabled“.

otInstanceFactoryReset

void otInstanceFactoryReset(
  otInstance *aInstance
)

Löscht alle im nichtflüchtigen Speicher gespeicherten Einstellungen und löst dann ein Zurücksetzen der Plattform aus.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.

otInstanceFinalize

void otInstanceFinalize(
  otInstance *aInstance
)

Deaktiviert die OpenThread-Bibliothek.

Rufen Sie diese Funktion auf, wenn OpenThread nicht mehr verwendet wird.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.

otInstanceGetId

uint32_t otInstanceGetId(
  otInstance *aInstance
)

Ruft die Instanz-ID ab.

Die Instanzkennung wird beim Erstellen der Instanz auf einen zufälligen Wert gesetzt und ihr Wert ändert sich nach der Initialisierung nicht.

Details
Rückgabe
Die Instanzkennung.

otInstanceGetUptime

uint64_t otInstanceGetUptime(
  otInstance *aInstance
)

Gibt die aktuelle Betriebszeit der Instanz (in ms) zurück.

Hierfür muss OPENTHREAD_CONFIG_UPTIME_ENABLE aktiviert sein.

Die Betriebszeit wird als Anzahl der Millisekunden seit der Initialisierung der OpenThread-Instanz angegeben.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
Rückgabe
Die Betriebszeit (Anzahl von Millisekunden).

otInstanceGetUptimeAsString

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

Gibt die aktuelle Instanzlaufzeit als menschenlesbaren String zurück.

Hierfür muss OPENTHREAD_CONFIG_UPTIME_ENABLE aktiviert sein.

Der String hat das Format „::.“ für Stunden, Minuten, Sekunden und Millisekunden (wenn die Betriebszeit kürzer als ein Tag ist) oder „

d.::." (falls länger als ein Tag ist).

Wenn der resultierende String nicht in aBuffer (innerhalb seiner aSize-Zeichen) passt, wird der String abgeschnitten, aber der ausgegebene String wird immer mit Null beendet.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[out] aBuffer
Ein Zeiger auf ein char-Array, um den String auszugeben.
[in] aSize
Die Größe von aBuffer (in Byte). Die Verwendung von OT_UPTIME_STRING_SIZE wird empfohlen.

otInstanceInit

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

Initialisiert die OpenThread-Bibliothek.

Initialisiert OpenThread und bereitet es für nachfolgende OpenThread API-Aufrufe vor. Diese Funktion muss vor allen anderen Aufrufen von OpenThread aufgerufen werden.

Ist verfügbar und kann nur verwendet werden, wenn die Unterstützung für mehrere OpenThread-Instanzen aktiviert ist.

Details
Parameter
[in] aInstanceBuffer
Der Puffer für OpenThread, der zum Zuweisen der otInstance-Struktur verwendet werden soll.
[in,out] aInstanceBufferSize
Bei Eingabe die Größe von aInstanceBuffer. Die Anzahl der für otInstance erforderlichen Byte bei der Ausgabe, wenn nicht genügend Speicherplatz für otInstance vorhanden ist.
Rückgabe
Ein Zeiger auf die neue OpenThread-Instanz.
Weitere Informationen:
otInstanceFinalize

otInstanceInitMultiple

otInstance * otInstanceInitMultiple(
  uint8_t aIdx
)

Initialisiert die OpenThread-Instanz.

Diese Funktion initialisiert OpenThread und bereitet es für nachfolgende OpenThread API-Aufrufe vor. Diese Funktion muss vor allen anderen Aufrufen von OpenThread aufgerufen werden. Diese Methode nutzt einen statischen Puffer, um die OpenThread-Instanz zu initialisieren.

Diese Funktion ist verfügbar und kann nur verwendet werden, wenn die Unterstützung für mehrere statische OpenThread-Instanzen aktiviert ist (OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE).

Details
Parameter
[in] aIdx
Der Index der OpenThread-Instanz, die initialisiert werden soll.
Rückgabe
Ein Zeiger auf die neue OpenThread-Instanz.

otInstanceInitSingle

otInstance * otInstanceInitSingle(
  void
)

Initialisiert die einzelne statische Instanz der OpenThread-Bibliothek.

Initialisiert OpenThread und bereitet es für nachfolgende OpenThread API-Aufrufe vor. Diese Funktion muss vor allen anderen Aufrufen von OpenThread aufgerufen werden.

Ist verfügbar und kann nur verwendet werden, wenn die Unterstützung für mehrere OpenThread-Instanzen deaktiviert ist.

Details
Rückgabe
Ein Zeiger auf die einzelne OpenThread-Instanz.

otInstanceIsInitialized

bool otInstanceIsInitialized(
  otInstance *aInstance
)

Gibt an, ob die Instanz gültig bzw. initialisiert ist.

Die Instanz gilt als gültig, wenn sie entweder mit otInstanceInitSingle() (bei Einzelinstanz) oder mit otInstanceInit() (bei mehreren Instanzen) erfasst und initialisiert wird. Ein nachfolgender Aufruf von otInstanceFinalize() führt dazu, dass die Instanz als nicht initialisiert betrachtet wird.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
Rückgabe
TRUE, wenn die angegebene Instanz gültig/initialisiert ist, andernfalls FALSE.

otInstanceReset

void otInstanceReset(
  otInstance *aInstance
)

Löst ein Zurücksetzen der Plattform aus.

Durch das Zurücksetzen wird sichergestellt, dass alle im flüchtigen Speicher gespeicherten OpenThread-Status/Informationen gelöscht werden. otPlatformReset löscht keine persistenten Status/Informationen, die im nichtflüchtigen Speicher gespeichert sind.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.

otInstanceResetRadioStack

void otInstanceResetRadioStack(
  otInstance *aInstance
)

Setzt den internen Status des OpenThread-Funkstacks zurück.

Callbacks und Konfigurationen bleiben erhalten.

Diese API ist nur unter Funk-Builds (OPENTHREAD_RADIO = 1) verfügbar.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.

otInstanceResetToBootloader

otError otInstanceResetToBootloader(
  otInstance *aInstance
)

Löst ein Zurücksetzen der Plattform auf den Bootloader-Modus aus, falls unterstützt.

Erfordert OPENTHREAD_CONFIG_PLATFORM_BOOTLOADER_MODE_ENABLE.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
Rückgabewerte
OT_ERROR_NONE
Zurücksetzen auf Bootloader erfolgreich.
OT_ERROR_BUSY
Fehler, da ein anderer Vorgang ausgeführt wird.
OT_ERROR_NOT_CAPABLE
Zurücksetzen auf Bootloader ist nicht möglich.

otRemoveStateChangeCallback

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

Entfernt einen Callback, der anzeigt, wenn sich eine bestimmte Konfiguration oder ein bestimmter Status innerhalb von OpenThread ändert.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aCallback
Ein Zeiger auf eine Funktion, die mit bestimmten Konfigurations- oder Statusänderungen aufgerufen wird.
[in] aContext
Ein Zeiger auf einen anwendungsspezifischen Kontext.

otSetStateChangedCallback

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

Registriert einen Callback, um anzuzeigen, wenn sich eine bestimmte Konfiguration oder ein bestimmter Status innerhalb von OpenThread ändert.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aCallback
Ein Zeiger auf eine Funktion, die mit bestimmten Konfigurations- oder Statusänderungen aufgerufen wird.
[in] aContext
Ein Zeiger auf einen anwendungsspezifischen Kontext.
Rückgabewerte
OT_ERROR_NONE
Der Callback wurde der Liste der Callbacks hinzugefügt.
OT_ERROR_ALREADY
Der Rückruf wurde bereits registriert.
OT_ERROR_NO_BUFS
Der Callback konnte aufgrund von Ressourceneinschränkungen nicht hinzugefügt werden.

Makros

OT_CHANGED_ACTIVE_DATASET

 OT_CHANGED_ACTIVE_DATASET (1U << 28)

Aktives operatives Dataset wurde geändert.

OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL

 OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL (1U << 21)

Neuer ausstehender Thread-Kanal für Kanalmanager wurde geändert.

OT_CHANGED_COMMISSIONER_STATE

 OT_CHANGED_COMMISSIONER_STATE (1U << 23)

Der Status des Auftraggebers wurde geändert.

OT_CHANGED_IP6_ADDRESS_ADDED

 OT_CHANGED_IP6_ADDRESS_ADDED (1U << 0)

IPv6-Adresse wurde hinzugefügt.

OT_CHANGED_IP6_ADDRESS_REMOVED

 OT_CHANGED_IP6_ADDRESS_REMOVED (1U << 1)

IPv6-Adresse wurde entfernt.

OT_CHANGED_IP6_MULTICAST_SUBSCRIBED

 OT_CHANGED_IP6_MULTICAST_SUBSCRIBED (1U << 12)

Sie haben eine IPv6-Multicast-Adresse abonniert.

OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED

 OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED (1U << 13)

Sie wurden von einer IPv6-Multicast-Adresse abgemeldet.

OT_CHANGED_JOINER_STATE

 OT_CHANGED_JOINER_STATE (1U << 27)

Joiner-Status geändert.

OT_CHANGED_NAT64_TRANSLATOR_STATE

 OT_CHANGED_NAT64_TRANSLATOR_STATE (1U << 30)

Der Status des NAT64-Übersetzers hat sich geändert.

OT_CHANGED_NETWORK_KEY

 OT_CHANGED_NETWORK_KEY (1U << 18)

Netzwerkschlüssel geändert.

 OT_CHANGED_PARENT_LINK_QUALITY (1U << 31)

Die Qualität des übergeordneten Links hat sich geändert.

OT_CHANGED_PENDING_DATASET

 OT_CHANGED_PENDING_DATASET (1U << 29)

Ausstehendes operatives Dataset geändert.

OT_CHANGED_PSKC

 OT_CHANGED_PSKC (1U << 19)

Der PSKc wurde geändert.

OT_CHANGED_SECURITY_POLICY

 OT_CHANGED_SECURITY_POLICY (1U << 20)

Sicherheitsrichtlinie geändert.

OT_CHANGED_SUPPORTED_CHANNEL_MASK

 OT_CHANGED_SUPPORTED_CHANNEL_MASK (1U << 22)

Unterstützte Kanalmaske geändert.

OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL

 OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL (1U << 26)

Die Konfiguration des lokalen Backbone-Routers wurde geändert.

OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE

 OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE (1U << 25)

Backbone Router-Status geändert.

OT_CHANGED_THREAD_CHANNEL

 OT_CHANGED_THREAD_CHANNEL (1U << 14)

Thread-Netzwerkkanal geändert.

OT_CHANGED_THREAD_CHILD_ADDED

 OT_CHANGED_THREAD_CHILD_ADDED (1U << 10)

Das untergeordnete Element wurde hinzugefügt.

OT_CHANGED_THREAD_CHILD_REMOVED

 OT_CHANGED_THREAD_CHILD_REMOVED (1U << 11)

Das untergeordnete Element wurde entfernt.

OT_CHANGED_THREAD_EXT_PANID

 OT_CHANGED_THREAD_EXT_PANID (1U << 17)

Die erweiterte PAN-ID für das Thread-Netzwerk wurde geändert.

OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER

 OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER (1U << 8)

Thread-Schlüsselsequenz geändert.

OT_CHANGED_THREAD_LL_ADDR

 OT_CHANGED_THREAD_LL_ADDR (1U << 3)

Die Link-Local-Adresse hat sich geändert.

OT_CHANGED_THREAD_ML_ADDR

 OT_CHANGED_THREAD_ML_ADDR (1U << 4)

Die lokale Mesh-Adresse hat sich geändert.

OT_CHANGED_THREAD_NETDATA

 OT_CHANGED_THREAD_NETDATA (1U << 9)

Thread-Netzwerkdaten wurden geändert.

OT_CHANGED_THREAD_NETIF_STATE

 OT_CHANGED_THREAD_NETIF_STATE (1U << 24)

Status der Thread-Netzwerkschnittstelle geändert.

OT_CHANGED_THREAD_NETWORK_NAME

 OT_CHANGED_THREAD_NETWORK_NAME (1U << 16)

Thread-Netzwerkname geändert.

OT_CHANGED_THREAD_PANID

 OT_CHANGED_THREAD_PANID (1U << 15)

PAN-ID des Thread-Netzwerks geändert.

OT_CHANGED_THREAD_PARTITION_ID

 OT_CHANGED_THREAD_PARTITION_ID (1U << 7)

Partitions-ID geändert

OT_CHANGED_THREAD_RLOC_ADDED

 OT_CHANGED_THREAD_RLOC_ADDED (1U << 5)

RLOC wurde hinzugefügt.

OT_CHANGED_THREAD_RLOC_REMOVED

 OT_CHANGED_THREAD_RLOC_REMOVED (1U << 6)

RLOC wurde entfernt.

OT_CHANGED_THREAD_ROLE

 OT_CHANGED_THREAD_ROLE (1U << 2)

Rolle (deaktiviert, getrennt, untergeordnete Elemente, Router, Leader) geändert.

OT_UPTIME_STRING_SIZE

 OT_UPTIME_STRING_SIZE 24

Empfohlene Größe für die Stringdarstellung der Verfügbarkeit.

Ressourcen

OpenThread API-Referenzthemen stammen aus dem Quellcode, der auf GitHub verfügbar ist. Weitere Informationen finden Sie unter Ressourcen. Dort können Sie auch einen Beitrag zu unserer Dokumentation leisten.