Netzwerk-Co-Prozessor

Dieses Modul enthält Funktionen, die die Ausführung des Thread-Stacks steuern.

Zusammenfassung

Typedefs

otNcpDelegateAllowPeekPoke)(uint32_t aAddress, uint16_t aCount) typedef
bool(*
Definiert den Delegattyp (Funktionszeiger), um das Verhalten von Peek-/Poke-Vorgängen zu steuern.
otNcpHdlcSendCallback)(const uint8_t *aBuf, uint16_t aBufLength) typedef
int(*
Pointer wird zum Senden von HDLC-codierten NCP-Daten aufgerufen.

Funktionen

otNcpHdlcInit(otInstance *aInstance, otNcpHdlcSendCallback aSendCallback)
void
Initialisieren Sie den NCP basierend auf dem HDLC-Framing.
otNcpHdlcInitMulti(otInstance **aInstance, uint8_t aCount, otNcpHdlcSendCallback aSendCallback)
void
Initialisieren Sie den NCP basierend auf dem HDLC-Framing.
otNcpHdlcReceive(const uint8_t *aBuf, uint16_t aBufLength)
void
Wird aufgerufen, nachdem HDLC-codierte NCP-Daten empfangen wurden.
otNcpHdlcSendDone(void)
void
Wird aufgerufen, nachdem der NCP-Sendevorgang abgeschlossen ist.
otNcpPlatLogv(otLogLevel aLogLevel, otLogRegion aLogRegion, const char *aFormat, va_list aArgs)
void
Schreibt ein OpenThread-Log mit otNcpStreamWrite.
otNcpRegisterPeekPokeDelegates(otNcpDelegateAllowPeekPoke aAllowPeekDelegate, otNcpDelegateAllowPeekPoke aAllowPokeDelegate)
void
Registriert Peek-/Poke-Delegate-Funktionen mit dem NCP-Modul.
otNcpSpiInit(otInstance *aInstance)
void
Initialisieren Sie den NCP basierend auf dem SPI-Framing.
otNcpStreamWrite(int aStreamId, const uint8_t *aDataPtr, int aDataLen)
Daten über einen bestimmten Stream an den Host senden.

Typedefs

otNcpDelegateAllowPeekPoke

bool(* otNcpDelegateAllowPeekPoke)(uint32_t aAddress, uint16_t aCount)

Definiert den Delegattyp (Funktionszeiger), um das Verhalten von Peek-/Poke-Vorgängen zu steuern.

Diese Delegatfunktion wird aufgerufen, um zu entscheiden, ob das Peek- oder Poke-Prinzip einer bestimmten Speicherregion zulässig ist. Er wird verwendet, wenn die NCP-Unterstützung für Peek-/Poke-Befehle aktiviert ist.

Details
Parameter
[in] aAddress
Startadresse der Speicherregion.
[in] aCount
Anzahl der Byte, die als Peek oder Anstupser verwendet werden sollen.
Rückgabe
TRUE, um Vorschauen in die angegebene Speicherregion zuzulassen, andernfalls FALSE.

otNcpHdlcSendCallback

int(* otNcpHdlcSendCallback)(const uint8_t *aBuf, uint16_t aBufLength)

Pointer wird zum Senden von HDLC-codierten NCP-Daten aufgerufen.

Details
Parameter
[in] aBuf
Ein Zeiger auf einen Zwischenspeicher mit einer Ausgabe.
[in] aBufLength
Eine Länge der im Puffer gespeicherten Ausgabedaten.
Rückgabe
Anzahl der vom Callback verarbeiteten Byte.

Funktionen

otNcpHdlcInit

void otNcpHdlcInit(
  otInstance *aInstance,
  otNcpHdlcSendCallback aSendCallback
)

Initialisieren Sie den NCP basierend auf dem HDLC-Framing.

Details
Parameter
[in] aInstance
Die OpenThread-Instanzstruktur.
[in] aSendCallback
Der Funktionszeiger, der zum Senden von NCP-Daten verwendet wird.

otNcpHdlcInitMulti

void otNcpHdlcInitMulti(
  otInstance **aInstance,
  uint8_t aCount,
  otNcpHdlcSendCallback aSendCallback
)

Initialisieren Sie den NCP basierend auf dem HDLC-Framing.

Details
Parameter
[in] aInstances
Das Pointer-Array der OpenThread-Instanz.
[in] aCount
Anzahl der Elemente im Array.
[in] aSendCallback
Der Funktionszeiger, der zum Senden von NCP-Daten verwendet wird.

otNcpHdlcReceive

void otNcpHdlcReceive(
  const uint8_t *aBuf,
  uint16_t aBufLength
)

Wird aufgerufen, nachdem HDLC-codierte NCP-Daten empfangen wurden.

Details
Parameter
[in] aBuf
Ein Zeiger auf einen Puffer.
[in] aBufLength
Die Länge der im Puffer gespeicherten Daten.

otNcpHdlcSendDone

void otNcpHdlcSendDone(
  void
)

Wird aufgerufen, nachdem der NCP-Sendevorgang abgeschlossen ist.

otNcpPlatLogv

void otNcpPlatLogv(
  otLogLevel aLogLevel,
  otLogRegion aLogRegion,
  const char *aFormat,
  va_list aArgs
)

Schreibt ein OpenThread-Log mit otNcpStreamWrite.

Details
Parameter
[in] aLogLevel
Die Logebene.
[in] aLogRegion
Die Logregion.
[in] aFormat
Ein Zeiger auf den Formatstring.
[in] aArgs
va_list stimmt mit einem Format überein.

otNcpRegisterPeekPokeDelegates

void otNcpRegisterPeekPokeDelegates(
  otNcpDelegateAllowPeekPoke aAllowPeekDelegate,
  otNcpDelegateAllowPeekPoke aAllowPokeDelegate
)

Registriert Peek-/Poke-Delegate-Funktionen mit dem NCP-Modul.

Die Delegatfunktionen werden vom NCP-Modul aufgerufen, um zu entscheiden, ob das Peek- oder Poke-Prinzip einer bestimmten Speicherregion zulässig ist. Wenn der Delegatzeiger auf NULL gesetzt ist, sind Peek-/Poke-Vorgänge für jede Adresse zulässig.

Details
Parameter
[in] aAllowPeekDelegate
Funktionszeiger für Peek-Vorgang delegieren.
[in] aAllowPokeDelegate
Funktionszeiger für Poke-Vorgang delegieren.

otNcpSpiInit

void otNcpSpiInit(
  otInstance *aInstance
)

Initialisieren Sie den NCP basierend auf dem SPI-Framing.

Details
Parameter
[in] aInstance
Die OpenThread-Instanzstruktur.

otNcpStreamWrite

otError otNcpStreamWrite(
  int aStreamId,
  const uint8_t *aDataPtr,
  int aDataLen
)

Daten über einen bestimmten Stream an den Host senden.

Versucht, die angegebenen Daten mithilfe der angegebenen aStreamId an den Host zu senden. Dies ist nützlich, um Fehlermeldungen zu melden, Debug-/Diagnosekonsolen und möglicherweise andere Arten von Datenstreams zu implementieren.

Der Schreibvorgang wird entweder vollständig akzeptiert oder abgelehnt. Es werden keine teilweisen Schreibvorgänge versucht.

Details
Parameter
[in] aStreamId
Eine numerische Kennung für den Stream, in den geschrieben werden soll. Bei der Einstellung „0“ wird standardmäßig der Debug-Stream verwendet.
[in] aDataPtr
Ein Zeiger auf die Daten, die an den Stream gesendet werden sollen. Wenn aDataLen nicht null ist, DARF dieser Parameter NICHT NULL sein.
[in] aDataLen
Die Anzahl der Byte der zu sendenden Daten von aDataPtr.
Rückgabewerte
OT_ERROR_NONE
Die Daten wurden zur Übermittlung an den Host in die Warteschlange gestellt.
OT_ERROR_BUSY
Es sind nicht genügend Ressourcen vorhanden, um diese Anfrage abzuschließen. Dies ist in der Regel ein vorübergehender Zustand.
OT_ERROR_INVALID_ARGS
Die angegebene aStreamId war ungültig.

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.