Instanz

Dieses Modul enthält Funktionen, die die OpenThread-Instanz steuern.

Zusammenfassung

Aufzählungen

anonymous enum{
  OT_CHANGED_IP6_ADDRESS_ADDED = 1 << 0,
  OT_CHANGED_IP6_ADDRESS_REMOVED = 1 << 1,
  OT_CHANGED_THREAD_ROLE = 1 << 2,
  OT_CHANGED_THREAD_LL_ADDR = 1 << 3,
  OT_CHANGED_THREAD_ML_ADDR = 1 << 4,
  OT_CHANGED_THREAD_RLOC_ADDED = 1 << 5,
  OT_CHANGED_THREAD_RLOC_REMOVED = 1 << 6,
  OT_CHANGED_THREAD_PARTITION_ID = 1 << 7,
  OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER = 1 << 8,
  OT_CHANGED_THREAD_NETDATA = 1 << 9,
  OT_CHANGED_THREAD_CHILD_ADDED = 1 << 10,
  OT_CHANGED_THREAD_CHILD_REMOVED = 1 << 11,
  OT_CHANGED_IP6_MULTICAST_SUBSCRIBED = 1 << 12,
  OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED = 1 << 13,
  OT_CHANGED_THREAD_CHANNEL = 1 << 14,
  OT_CHANGED_THREAD_PANID = 1 << 15,
  OT_CHANGED_THREAD_NETWORK_NAME = 1 << 16,
  OT_CHANGED_THREAD_EXT_PANID = 1 << 17,
  OT_CHANGED_NETWORK_KEY = 1 << 18,
  OT_CHANGED_PSKC = 1 << 19,
  OT_CHANGED_SECURITY_POLICY = 1 << 20,
  OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL = 1 << 21,
  OT_CHANGED_SUPPORTED_CHANNEL_MASK = 1 << 22,
  OT_CHANGED_COMMISSIONER_STATE = 1 << 23,
  OT_CHANGED_THREAD_NETIF_STATE = 1 << 24,
  OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE = 1 << 25,
  OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL = 1 << 26,
  OT_CHANGED_JOINER_STATE = 1 << 27,
  OT_CHANGED_ACTIVE_DATASET = 1 << 28,
  OT_CHANGED_PENDING_DATASET = 1 << 29
}
enum
Diese Aufzählung definiert Flags, die als Teil von otStateChangedCallback übergeben werden.

Typabweichungen

otChangedFlags Typdef
uint32_t
Dieser Typ steht für ein Bit-Feld, das einen bestimmten Status/eine geänderte Konfiguration angibt.
otInstance Typdef
struct otInstance
Diese Struktur stellt die OpenThread-Instanzstruktur dar.
otStateChangedCallback)(otChangedFlags aFlags, void *aContext) Typdef
void(*
Dieser Funktionszeiger wird aufgerufen, um bestimmte Konfigurations- oder Statusänderungen in OpenThread zu benachrichtigen.

Funktionen

otGetRadioVersionString(otInstance *aInstance)
const char *
Diese Funktion ruft den String der OpenThread-Radioversion ab.
otGetVersionString(void)
const char *
Diese Funktion ruft den OpenThread-Versionsstring ab.
otInstanceErasePersistentInfo(otInstance *aInstance)
Mit dieser Funktion werden alle nichtflüchtigen OpenThread-Informationen (Netzwerkeinstellungen) gelöscht, die im nichtflüchtigen Speicher gespeichert sind.
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
Diese Funktion deaktiviert die OpenThread-Bibliothek.
otInstanceGetUptime(otInstance *aInstance)
uint64_t
Diese Funktion gibt die aktuelle Betriebszeit der Instanz (in ms) zurück.
otInstanceGetUptimeAsString(otInstance *aInstance, char *aBuffer, uint16_t aSize)
void
Diese Funktion gibt die aktuelle Betriebszeit der Instanz als menschenlesbaren String zurück.
otInstanceInit(void *aInstanceBuffer, size_t *aInstanceBufferSize)
Diese Funktion initialisiert die OpenThread-Bibliothek.
otInstanceInitSingle(void)
Diese Funktion initialisiert die statische einzelne Instanz der OpenThread-Bibliothek.
otInstanceIsInitialized(otInstance *aInstance)
bool
Diese Funktion gibt an, ob die Instanz gültig bzw. initialisiert ist.
otInstanceReset(otInstance *aInstance)
void
Diese Methode löst ein Zurücksetzen der Plattform aus.
otInstanceResetRadioStack(otInstance *aInstance)
void
Diese Methode setzt die internen Status des OpenThread-Radiostacks zurück.
otRemoveStateChangeCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
void
Diese Funktion entfernt einen Callback, der angibt, wenn sich bestimmte Konfigurationen oder Status in OpenThread ändern.
otSetStateChangedCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
Mit dieser Funktion wird ein Callback registriert, der angibt, wann sich eine bestimmte Konfiguration oder ein bestimmter Zustand in OpenThread ändert.

Aufzählungen

anonyme Aufzählung

 anonymous enum

Diese Aufzählung definiert Flags, die als Teil von otStateChangedCallback übergeben werden.

Attribute
OT_CHANGED_ACTIVE_DATASET

Aktives operatives Dataset geändert.

OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL

Neuer Channel mit ausstehender Unterhaltung für Kanalmanager geändert.

OT_CHANGED_COMMISSIONER_STATE

Provisionsstatus geändert.

OT_CHANGED_IP6_ADDRESS_ADDED

IPv6-Adresse wurde hinzugefügt.

OT_CHANGED_IP6_ADDRESS_REMOVED

IPv6-Adresse wurde entfernt.

OT_CHANGED_IP6_MULTICAST_SUBSCRIBED

IPv6-Multicast-Adresse abonniert.

OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED

Abbestellt von einer IPv6-Multicast-Adresse.

OT_CHANGED_JOINER_STATE

Joiner-Status geändert.

OT_CHANGED_NETWORK_KEY

Netzwerkschlüssel geändert.

OT_CHANGED_PENDING_DATASET

Ausstehendes operatives Dataset geändert.

OT_CHANGED_PSKC

PSKc geändert.

OT_CHANGED_SECURITY_POLICY

Sicherheitsrichtlinie geändert.

OT_CHANGED_SUPPORTED_CHANNEL_MASK

Unterstützte Kanalmaske geändert.

OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL

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

OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE

Backbone-Routerstatus geändert.

OT_CHANGED_THREAD_CHANNEL

Thread-Netzwerkkanal geändert.

OT_CHANGED_THREAD_CHILD_ADDED

Kind wurde hinzugefügt.

OT_CHANGED_THREAD_CHILD_REMOVED

Kind wurde entfernt.

OT_CHANGED_THREAD_EXT_PANID

Erweiterte PAN-ID des Thread-Netzwerks geändert.

OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER

Thread-Schlüsselsequenz geändert.

OT_CHANGED_THREAD_LL_ADDR

Die lokale Linkadresse wurde geändert.

OT_CHANGED_THREAD_ML_ADDR

Die lokale Mesh-Adresse wurde geändert.

OT_CHANGED_THREAD_NETDATA

Thread-Netzwerkdaten geändert.

OT_CHANGED_THREAD_NETIF_STATE

Status der Netzwerkschnittstelle des Threads geändert.

OT_CHANGED_THREAD_NETWORK_NAME

Thread-Netzwerkname geändert.

OT_CHANGED_THREAD_PANID

PAN des Threadnetzwerks wurde geändert.

OT_CHANGED_THREAD_PARTITION_ID

Partitions-ID wurde geändert.

OT_CHANGED_THREAD_RLOC_ADDED

RLOC wurde hinzugefügt.

OT_CHANGED_THREAD_RLOC_REMOVED

RLOC wurde entfernt.

OT_CHANGED_THREAD_ROLE

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

Typabweichungen

otChangedFlags

uint32_t otChangedFlags

Dieser Typ steht für ein Bit-Feld, das einen bestimmten Status/eine geänderte Konfiguration angibt.

OT_CHANGED_*-Definitionen ansehen.

OTInstance

struct otInstance otInstance

Diese Struktur stellt die OpenThread-Instanzstruktur dar.

otStateChangedCallback

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

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

Details
Parameter
[in] aFlags
Ein Bit-Feld, das einen bestimmten Status angibt, der sich geändert hat OT_CHANGED_*-Definitionen ansehen.
[in] aContext
Ein Hinweis auf den anwendungsspezifischen Kontext.

Funktionen

OTGetRadioVersionString

const char * otGetRadioVersionString(
  otInstance *aInstance
)

Diese Funktion ruft den String der OpenThread-Radioversion ab.

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

OTGetVersionString

const char * otGetVersionString(
  void
)

Diese Funktion ruft den OpenThread-Versionsstring ab.

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

otInstanceDeletePersistentInfo

otError otInstanceErasePersistentInfo(
  otInstance *aInstance
)

Mit dieser Funktion werden alle nichtflüchtigen OpenThread-Informationen (Netzwerkeinstellungen) gelöscht, die im nichtflüchtigen Speicher gespeichert sind.

Das Löschen ist nur erfolgreich, wenn das Gerät den Status disabled bzw. die Rolle 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
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
)

Diese Funktion 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.

otInstanceGetVerfügbarkeits

uint64_t otInstanceGetUptime(
  otInstance *aInstance
)

Diese Funktion gibt die aktuelle Betriebszeit der Instanz (in ms) zurück.

Für diese Funktion muss OPENTHREAD_CONFIG_UPTIME_ENABLE aktiviert sein.

Die Verfügbarkeit 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 der Millisekunden).

otInstanceGetVerfügbarkeitsAsString

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

Diese Funktion gibt die aktuelle Betriebszeit der Instanz als menschenlesbaren String zurück.

Für diese Funktion 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 einen Tag ist) oder "

d.::." (länger als einen Tag).

Wenn der resultierende String nicht in die Zeichen aBuffer passt (innerhalb der aSize-Zeichen), wird er gekürzt. Der ausgegebene String wird jedoch immer Null beendet.

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

otInstanceInit

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

Diese Funktion initialisiert die OpenThread-Bibliothek.

Diese Funktion initialisiert OpenThread und bereitet sie auf nachfolgende OpenThread API-Aufrufe vor. Diese Funktion muss vor anderen Aufrufen von OpenThread aufgerufen werden.

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

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

otInstanceInitSingle

otInstance * otInstanceInitSingle(
  void
)

Diese Funktion initialisiert die statische einzelne Instanz der OpenThread-Bibliothek.

Diese Funktion initialisiert OpenThread und bereitet sie auf nachfolgende OpenThread API-Aufrufe vor. Diese Funktion muss vor anderen Aufrufen von OpenThread aufgerufen werden.

Diese Funktion 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
)

Diese Funktion gibt an, ob die Instanz gültig bzw. initialisiert ist.

Die Instanz gilt als gültig, wenn sie entweder mit otInstanceInitSingle() (in einem Instanzfall) oder otInstanceInit() (in Multi-Instanz-Fällen) akquiriert und initialisiert wurde. Bei einem nachfolgenden Aufruf von otInstanceFinalize() wird die Instanz als nicht initialisiert betrachtet.

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
)

Diese Methode 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. Beachten Sie, dass der otPlatformReset keine dauerhaften Status/Informationen im nichtflüchtigen Speicher löscht.

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

otInstanceResetRadioStack

void otInstanceResetRadioStack(
  otInstance *aInstance
)

Diese Methode setzt die internen Status des OpenThread-Radiostacks zurück.

Callbacks und Konfigurationen bleiben erhalten.

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

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

OTRemoveStateChangeCallback

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

Diese Funktion entfernt einen Callback, der angibt, wenn sich bestimmte Konfigurationen oder Status in OpenThread ändern.

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 Hinweis auf den anwendungsspezifischen Kontext.

otSetStateChangedCallback

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

Mit dieser Funktion wird ein Callback registriert, der angibt, wann sich eine bestimmte Konfiguration oder ein bestimmter Zustand in 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 Hinweis auf den anwendungsspezifischen Kontext.
Rückgabewerte
OT_ERROR_NONE
Der Callback wurde der Liste der Callbacks hinzugefügt.
OT_ERROR_ALREADY
Der Callback ist bereits registriert.
OT_ERROR_NO_BUFS
Der Callback konnte aufgrund von Ressourcenbeschränkungen nicht hinzugefügt werden.

Makros

OT_UPTIME_STRING_SIZE

 OT_UPTIME_STRING_SIZE 24

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

Ressourcen

Die Themen der OpenThread API stammen aus dem Quellcode, der auf GitHub verfügbar ist. Weitere Informationen oder Informationen, die Sie zu unserer Dokumentation beitragen können, finden Sie unter Ressourcen.