Co-processore di rete

Questo modulo include funzioni che controllano l'esecuzione dello stack Thread.

Riepilogo

Typedef

otNcpDelegateAllowPeekPoke)(uint32_t aAddress, uint16_t aCount) typedef
bool(*
Definisce il tipo delegato (puntatore della funzione) per controllare il comportamento dell'operazione di sbirciamento/poke.
otNcpHdlcSendCallback)(const uint8_t *aBuf, uint16_t aBufLength) typedef
int(*
Il puntatore viene chiamato per inviare dati NCP codificati in HDLC.

Funzioni

otNcpHdlcInit(otInstance *aInstance, otNcpHdlcSendCallback aSendCallback)
void
Inizializza l'NCP in base all'inquadratura HDLC.
otNcpHdlcInitMulti(otInstance **aInstance, uint8_t aCount, otNcpHdlcSendCallback aSendCallback)
void
Inizializza l'NCP in base all'inquadratura HDLC.
otNcpHdlcReceive(const uint8_t *aBuf, uint16_t aBufLength)
void
Viene chiamato dopo la ricezione dei dati NCP codificati in HDLC.
otNcpHdlcSendDone(void)
void
Viene chiamato al termine dell'invio tramite NCP.
otNcpPlatLogv(otLogLevel aLogLevel, otLogRegion aLogRegion, const char *aFormat, va_list aArgs)
void
Scrive il log OpenThread utilizzando otNcpStreamWrite.
otNcpRegisterPeekPokeDelegates(otNcpDelegateAllowPeekPoke aAllowPeekDelegate, otNcpDelegateAllowPeekPoke aAllowPokeDelegate)
void
Registra le funzioni di delega/poke con il modulo NCP.
otNcpSpiInit(otInstance *aInstance)
void
Inizializzare l'NCP in base all'inquadratura SPI.
otNcpStreamWrite(int aStreamId, const uint8_t *aDataPtr, int aDataLen)
Inviare i dati all'organizzatore tramite uno stream specifico.

Typedef

otNcpDelegateAllowPeekPoke

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

Definisce il tipo delegato (puntatore della funzione) per controllare il comportamento dell'operazione di sbirciamento/poke.

Questa funzione di delega viene chiamata per decidere se consentire l'anteprima o il poke di una regione di memoria specifica. Viene utilizzato se il supporto NCP per i comandi di sbirciamento/poke è attivato.

Dettagli
Parametri
[in] aAddress
Indirizzo iniziale della regione di memoria.
[in] aCount
Numero di byte da visualizzare o scansionare.
Restituisce
TRUE per consentire l'anteprima/poke della regione di memoria specificata, FALSE in caso contrario.

otNcpHdlcSendCallback

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

Il puntatore viene chiamato per inviare dati NCP codificati in HDLC.

Dettagli
Parametri
[in] aBuf
Un puntatore a un buffer con un output.
[in] aBufLength
Una lunghezza dei dati di output memorizzati nel buffer.
Restituisce
Numero di byte elaborati dal callback.

Funzioni

otNcpHdlcInit

void otNcpHdlcInit(
  otInstance *aInstance,
  otNcpHdlcSendCallback aSendCallback
)

Inizializza l'NCP in base all'inquadratura HDLC.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aSendCallback
Il puntatore della funzione utilizzato per inviare i dati NCP.

otNcpHdlcInitMulti

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

Inizializza l'NCP in base all'inquadratura HDLC.

Dettagli
Parametri
[in] aInstances
L'array di puntatori dell'istanza OpenThread.
[in] aCount
Numero di elementi nell'array.
[in] aSendCallback
Il puntatore della funzione utilizzato per inviare i dati NCP.

otNcpHdlcReceive

void otNcpHdlcReceive(
  const uint8_t *aBuf,
  uint16_t aBufLength
)

Viene chiamato dopo la ricezione dei dati NCP codificati in HDLC.

Dettagli
Parametri
[in] aBuf
Un puntatore a un buffer.
[in] aBufLength
La lunghezza dei dati memorizzati nel buffer.

otNcpHdlcSendDone

void otNcpHdlcSendDone(
  void
)

Viene chiamato al termine dell'invio tramite NCP.

otNcpPlatLogv

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

Scrive il log OpenThread utilizzando otNcpStreamWrite.

Dettagli
Parametri
[in] aLogLevel
Il livello di log.
[in] aLogRegion
La regione del log.
[in] aFormat
Un puntatore alla stringa di formato.
[in] aArgs
va_list corrispondente a unFormato.

otNcpRegisterPeekPokeDelegates

void otNcpRegisterPeekPokeDelegates(
  otNcpDelegateAllowPeekPoke aAllowPeekDelegate,
  otNcpDelegateAllowPeekPoke aAllowPokeDelegate
)

Registra le funzioni di delega/poke con il modulo NCP.

Le funzioni di delega vengono richiamate dal modulo NCP per decidere se consentire l'anteprima o il poke di una regione di memoria specifica. Se il puntatore delegato è impostato su NULL, consente l'operazione di anteprima/poke per qualsiasi indirizzo.

Dettagli
Parametri
[in] aAllowPeekDelegate
Delega il puntatore della funzione per l'operazione di anteprima.
[in] aAllowPokeDelegate
Delega il puntatore della funzione per l'operazione poke.

otNcpSpiInit

void otNcpSpiInit(
  otInstance *aInstance
)

Inizializzare l'NCP in base all'inquadratura SPI.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.

otNcpStreamWrite

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

Inviare i dati all'organizzatore tramite uno stream specifico.

Tenta di inviare i dati specificati all'host utilizzando l'aStreamId specificato. Questo è utile per segnalare messaggi di errore, implementare console di debug/diagnostica e potenzialmente altri tipi di flussi di dati.

La scrittura viene accettata nella sua interezza o rifiutata. Non vengono tentate le scritture parziali.

Dettagli
Parametri
[in] aStreamId
Un identificatore numerico in cui scrivere il flusso. Se il criterio viene impostato su "0", verrà utilizzato per impostazione predefinita lo stream di debug.
[in] aDataPtr
Un puntatore ai dati da inviare nello stream. Se aDataLen è diverso da zero, questo parametro NON DEVE essere NULL.
[in] aDataLen
Il numero di byte di dati da aDataPtr da inviare.
Valori restituiti
OT_ERROR_NONE
I dati sono stati messi in coda per essere consegnati all'host.
OT_ERROR_BUSY
Risorse insufficienti per completare questa richiesta. Di solito si tratta di una condizione temporanea.
OT_ERROR_INVALID_ARGS
L'ID stream specificato non è valido.

Risorse

Gli argomenti di riferimento dell'API OpenThread provengono dal codice sorgente, disponibile su GitHub. Per saperne di più o per contribuire alla nostra documentazione, consulta la sezione Risorse.