Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Varie

Questo modulo include astrazioni della piattaforma per comportamenti vari.

Riepilogo

Enumerazioni

otPlatMcuPowerState{
  OT_PLAT_MCU_POWER_STATE_ON = 0,
  OT_PLAT_MCU_POWER_STATE_LOW_POWER = 1,
  OT_PLAT_MCU_POWER_STATE_OFF = 2
}
enum
Enumerazione degli stati di alimentazione del microcontroller.
otPlatResetReason enum
Enumerazione dei possibili codici del motivo della reimpostazione.

Functions

otPlatAssertFail(const char *aFilename, int aLineNumber)
void
Questa funzione fornisce un'implementazione specifica per la piattaforma per l'asserzione.
otPlatGetMcuPowerState(otInstance *aInstance)
Questa funzione riceve l'attuale stato di alimentazione MCU desiderato.
otPlatGetResetReason(otInstance *aInstance)
Questa funzione restituisce il motivo dell'ultima reimpostazione della piattaforma.
otPlatReset(otInstance *aInstance)
void
Questa funzione esegue un ripristino del software sulla piattaforma, se supportata.
otPlatSetMcuPowerState(otInstance *aInstance, otPlatMcuPowerState aState)
Questa funzione imposta lo stato di alimentazione MCU desiderato.
otPlatWakeHost(void)
void
Questa funzione esegue un'operazione specifica della piattaforma per riattivare l'MCU host.

Enumerazioni

otPlatMcuPowerState

 otPlatMcuPowerState

Enumerazione degli stati di alimentazione del microcontroller.

Questi valori vengono utilizzati per la configurazione NCP quando è attivo OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL.

Lo stato di alimentazione specifica lo stato di alimentazione desiderato del microcontroller (MCU) di NCP quando il sistema operativo della piattaforma sottostante entra in modalità di inattività (ovvero, tutte le attività/eventi attivi vengono elaborati e l'MCU può entrare potenzialmente in uno stato di risparmio energetico).

Lo stato di alimentazione determina principalmente il modo in cui l'host deve interagire con NCP e se l'host ha bisogno di un trigger esterno (un "poke" o meno) in NCP prima che possa comunicare con l'NCP.

Dopo un ripristino, lo stato di alimentazione MCU DEVE essere OT_PLAT_POWER_STATE_ON.

Proprietà
OT_PLAT_MCU_POWER_STATE_LOW_POWER

L'MCU di NCP può entrare in stato di basso consumo energetico (risparmio energetico).

Quando lo stato di alimentazione desiderato dell'NCP è impostato su LOW_POWER, l'host dovrebbe"poke" (l'NCP, ad esempio un attivatore esterno, come un'interruzione) prima di poter comunicare con l'NCP (invia un messaggio all'NCP). Il meccanismo "poke" è determinato dal codice della piattaforma (in base all'interfaccia di NCP con l'host).

Anche se lo stato di alimentazione è impostato su LOW_POWER, NCP può comunque (in qualsiasi momento) inviare messaggi all'host. Tieni presente che la ricezione di un messaggio dall'NCP NON indica che lo stato di alimentazione dell'NCP è cambiato. Ciò significa che l'host dovrebbe continuare a "poke" quando vuole comunicare con l'NCP finché lo stato dell'alimentazione non viene modificato in modo esplicito.

OT_PLAT_MCU_POWER_STATE_OFF

NCP è del tutto disattivato.

Per ripristinare il protocollo NCP su SPINEL_MCU_POWER_STATE_ON, è necessario reimpostare l'hardware NCP (tramite un PIN RESET). La RAM non viene conservata dopo il ripristino.

OT_PLAT_MCU_POWER_STATE_ON

L'MCU di NCP rimane attivo e attivo sempre.

Quando lo stato di alimentazione desiderato di NCP è impostato su ON, l'host può inviare messaggi a NCP senza richiedere alcun trigger di tipo "poke" o esterno.

Motivo per il ripristino otPlat

 otPlatResetReason

Enumerazione dei possibili codici del motivo della reimpostazione.

Vengono eseguiti nello stesso ordine dei codici dei motivi di reimpostazione di Spinel.

Functions

OtPlatAssertFail

void otPlatAssertFail(
  const char *aFilename,
  int aLineNumber
)

Questa funzione fornisce un'implementazione specifica per la piattaforma per l'asserzione.

Dettagli
Parametri
[in] aFilename
Il nome del file in cui si è verificata la dichiarazione.
[in] aLineNumber
Il numero di riga nel file in cui si è verificata la dichiarazione.

otPlatGetMcuPowerState

otPlatMcuPowerState otPlatGetMcuPowerState(
  otInstance *aInstance
)

Questa funzione riceve l'attuale stato di alimentazione MCU desiderato.

Questo è applicabile e utilizzato solo per la configurazione NCP per OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL abilitato.

Dopo un ripristino, lo stato di accensione DEVE restituire OT_PLAT_POWER_STATE_ON. Durante il funzionamento, lo stato di accensione DOVREBBE cambiare solo tramite una chiamata esplicita riuscita a otPlatSetMcuPowerState().

Dettagli
Parametri
[in] aInstance
Un puntatore sull'istanza di OpenThread.
Restituisce
Stato di alimentazione attuale.

OtPlatGetReimpostaMotivo

otPlatResetReason otPlatGetResetReason(
  otInstance *aInstance
)

Questa funzione restituisce il motivo dell'ultima reimpostazione della piattaforma.

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

Reimposta otPlat

void otPlatReset(
  otInstance *aInstance
)

Questa funzione esegue un ripristino del software sulla piattaforma, se supportata.

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

otPlatSetMcuPowerState

otError otPlatSetMcuPowerState(
  otInstance *aInstance,
  otPlatMcuPowerState aState
)

Questa funzione imposta lo stato di alimentazione MCU desiderato.

Questo è applicabile e utilizzato solo per la configurazione NCP per OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL abilitato.

Dettagli
Parametri
[in] aInstance
Un puntatore sull'istanza di OpenThread.
[in] aState
Il nuovo stato di alimentazione MCU.
Valori di ritorno
OT_ERROR_NONE
Aggiornamento dello stato di alimentazione riuscito.
OT_ERROR_FAILED
Lo stato di alimentazione MCU fornito non è supportato dalla piattaforma.

Host otPlatWake

void otPlatWakeHost(
  void
)

Questa funzione esegue un'operazione specifica della piattaforma per riattivare l'MCU host.

Si utilizza solo per le configurazioni NCP.

Risorse

Gli argomenti di riferimento per l'API OpenThread provengono dal codice sorgente, disponibile su GitHub. Per ulteriori informazioni o per contribuire alla nostra documentazione, consulta la sezione Risorse.