Instanz
Dieses Modul enthält Funktionen zur Steuerung der OpenThread-Instanz.
Zusammenfassung
Typedefs |
|
---|---|
otChangedFlags
|
typedefuint32_t
Stellt ein Bitfeld dar, das einen bestimmten geänderten Status bzw. eine bestimmte Konfiguration angibt. |
otInstance
|
typedefstruct otInstance
Stellt die OpenThread-Instanzstruktur dar. |
otStateChangedCallback)(otChangedFlags aFlags, void *aContext)
|
typedefvoid(*
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.
otStateChangedCallback
void(* otStateChangedCallback)(otChangedFlags aFlags, void *aContext)
Pointer wird aufgerufen, um bestimmte Konfigurations- oder Statusänderungen in OpenThread zu benachrichtigen.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
Funktionen
otGetRadioVersionString
const char * otGetRadioVersionString( otInstance *aInstance )
Ruft den OpenThread-Radioversionsstring ab.
Details | |||
---|---|---|---|
Parameter |
|
||
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 |
|
||||
Rückgabewerte |
|
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 |
|
otInstanceFinalize
void otInstanceFinalize( otInstance *aInstance )
Deaktiviert die OpenThread-Bibliothek.
Rufen Sie diese Funktion auf, wenn OpenThread nicht mehr verwendet wird.
Details | |||
---|---|---|---|
Parameter |
|
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 |
|
||
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 „
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 |
|
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 |
|
||||
Rückgabe |
Ein Zeiger auf die neue OpenThread-Instanz.
|
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 |
|
||
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 |
|
||
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 |
|
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 |
|
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 |
|
||||||
Rückgabewerte |
|
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 |
|
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 |
|
||||||
Rückgabewerte |
|
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
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.