Sonstige

Dieses Modul enthält Plattform-Abstraktionen für verschiedene Verhaltensweisen.

Zusammenfassung

Aufzählungen

otPlatMcuPowerState{
  OT_PLAT_MCU_POWER_STATE_ON = 0,
  OT_PLAT_MCU_POWER_STATE_LOW_POWER = 1,
  OT_PLAT_MCU_POWER_STATE_OFF = 2
}
enum
Aufzählung der Energiezustände des Mikrocontrollers.
otPlatResetReason enum
Aufzählung der möglichen Ursachencodes für die Zurücksetzung.

Funktionen

otPlatAssertFail(const char *aFilename, int aLineNumber)
void
Stellt eine plattformspezifische Implementierung für Assertion bereit.
otPlatGetMcuPowerState(otInstance *aInstance)
Ruft den aktuellen gewünschten MCU-Leistungsstatus ab.
otPlatGetResetReason(otInstance *aInstance)
Gibt den Grund für das letzte Zurücksetzen der Plattform zurück
otPlatReset(otInstance *aInstance)
void
Setzt die Software auf der Plattform zurück, falls dies unterstützt wird.
otPlatResetToBootloader(otInstance *aInstance)
Setzt die Hardware der Plattform zurück, um den Bootloader-Modus zu starten, falls unterstützt
otPlatSetMcuPowerState(otInstance *aInstance, otPlatMcuPowerState aState)
Legt den gewünschten Energiestatus der MCU fest.
otPlatWakeHost(void)
void
Führt einen plattformspezifischen Vorgang zum Aktivieren des Host-MCU aus.

Aufzählungen

otPlatMcuPowerState

 otPlatMcuPowerState

Aufzählung der Energiezustände des Mikrocontrollers.

Diese Werte werden für die NCP-Konfiguration verwendet, wenn OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL aktiviert ist.

Der Energiezustand gibt den gewünschten Energiestatus des Mikrocontrollers (MCU) des NCP an, wenn das Betriebssystem der zugrunde liegenden Plattform in den Ruhezustand wechselt (d.h., alle aktiven Aufgaben/Ereignisse werden verarbeitet und die MCU kann möglicherweise in einen energiesparenden Energiezustand wechseln).

Der Leistungsstatus bestimmt in erster Linie, wie der Host mit dem NCP interagieren soll und ob der Host einen externen Trigger (einen „Poke“) für NCP benötigt, bevor er mit dem NCP kommunizieren kann oder nicht.

Nach dem Zurücksetzen MUSS der Energiestatus der MCU OT_PLAT_POWER_STATE_ON lauten.

Attribute
OT_PLAT_MCU_POWER_STATE_LOW_POWER

Die MCU des NCP kann in den Energiesparmodus (Energiesparmodus) wechseln.

Wenn der gewünschte Energiestatus des NCP auf LOW_POWER gesetzt ist, muss der Host den NCP „anstecken“ (z.B. einen externen Trigger wie eine Unterbrechung), bevor er mit dem NCP kommunizieren kann (Nachricht an das NCP senden). Der „Poke“-Mechanismus wird durch den Plattformcode bestimmt (basierend auf der NCP-Schnittstelle zum Host).

Auch wenn der Energiestatus auf LOW_POWER gesetzt ist, kann NCP weiterhin (zu jeder Zeit) Nachrichten an den Host senden. Der Erhalt einer Nachricht vom NCP bedeutet NICHT, dass sich der Leistungsstatus des NCP geändert hat. Das heißt, es wird erwartet, dass der Host weiter mit dem NCP kommunizieren soll, bis der Stromversorgungsstatus explizit geändert wird (durch einen erfolgreichen Aufruf von otPlatSetMcuPowerState(), der den Status in ON ändert).

OT_PLAT_MCU_POWER_STATE_OFF

NCP ist vollständig deaktiviert.

Es ist ein Zurücksetzen der NCP-Hardware (über eine RESET-PIN) erforderlich, um den NCP auf SPINEL_MCU_POWER_STATE_ON zurückzusetzen. RAM wird nach dem Zurücksetzen nicht beibehalten.

OT_PLAT_MCU_POWER_STATE_ON

Der MCU von NCP bleibt immer aktiviert und aktiv.

Wenn der gewünschte Energiestatus des NCP auf ON gesetzt ist, kann der Host Nachrichten an NCP senden, ohne dass „Poke“ oder externe Trigger erforderlich sind.

otPlatResetReason

 otPlatResetReason

Aufzählung der möglichen Ursachencodes für die Zurücksetzung.

Sie haben die gleiche Reihenfolge wie die Grundcodes für die Spinel-Zurücksetzung.

Funktionen

otPlatAssertFail

void otPlatAssertFail(
  const char *aFilename,
  int aLineNumber
)

Stellt eine plattformspezifische Implementierung für Assertion bereit.

Details
Parameter
[in] aFilename
Der Name der Datei, in der die Assertion aufgetreten ist.
[in] aLineNumber
Die Zeilennummer in der Datei, in der die Assertion aufgetreten ist.

otPlatGetMcuPowerState

otPlatMcuPowerState otPlatGetMcuPowerState(
  otInstance *aInstance
)

Ruft den aktuellen gewünschten MCU-Leistungsstatus ab.

Dies gilt nur und wird für die NCP-Konfiguration verwendet, wenn OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL aktiviert ist.

Nach dem Zurücksetzen MUSS der Energiestatus OT_PLAT_POWER_STATE_ON zurückgeben. Während des Betriebs sollte sich der Energiestatus nur durch einen expliziten erfolgreichen Aufruf von otPlatSetMcuPowerState() ändern.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
Rückgabe
Der aktuelle Energiestatus.

otPlatGetResetReason

otPlatResetReason otPlatGetResetReason(
  otInstance *aInstance
)

Gibt den Grund für das letzte Zurücksetzen der Plattform zurück

Details
Parameter
[in] aInstance
Die OpenThread-Instanzstruktur.

otPlatReset

void otPlatReset(
  otInstance *aInstance
)

Setzt die Software auf der Plattform zurück, falls dies unterstützt wird.

Details
Parameter
[in] aInstance
Die OpenThread-Instanzstruktur.

otPlatResetToBootloader

otError otPlatResetToBootloader(
  otInstance *aInstance
)

Setzt die Hardware der Plattform zurück, um den Bootloader-Modus zu starten, falls unterstützt

Wird verwendet, wenn OPENTHREAD_CONFIG_PLATFORM_BOOTLOADER_MODE_ENABLE aktiviert ist.

Details
Parameter
[in] aInstance
Die OpenThread-Instanzstruktur.
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.

otPlatSetMcuPowerState

otError otPlatSetMcuPowerState(
  otInstance *aInstance,
  otPlatMcuPowerState aState
)

Legt den gewünschten Energiestatus der MCU fest.

Dies gilt nur und wird für die NCP-Konfiguration verwendet, wenn OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL aktiviert ist.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aState
Der neue Energiestatus der MCU.
Rückgabewerte
OT_ERROR_NONE
Der Energiestatus wurde aktualisiert.
OT_ERROR_FAILED
Der angegebene MCU-Leistungsstatus wird von der Plattform nicht unterstützt.

otPlatWakeHost

void otPlatWakeHost(
  void
)

Führt einen plattformspezifischen Vorgang zum Aktivieren des Host-MCU aus.

Dies wird nur für NCP-Konfigurationen verwendet.

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.