Tracker cronologia

Registra la cronologia di diversi eventi, ad esempio messaggi RX e TX o modifiche alle informazioni di rete.

Riepilogo

Tutte le voci monitorate hanno un timestamp.

Le funzioni di questo modulo sono disponibili quando OPENTHREAD_CONFIG_HISTORY_TRACKER_ENABLE è abilitato.

Enumerazioni

anonymous enum{
  OT_HISTORY_TRACKER_MSG_PRIORITY_LOW = OT_MESSAGE_PRIORITY_LOW,
  OT_HISTORY_TRACKER_MSG_PRIORITY_NORMAL = OT_MESSAGE_PRIORITY_NORMAL,
  OT_HISTORY_TRACKER_MSG_PRIORITY_HIGH = OT_MESSAGE_PRIORITY_HIGH,
  OT_HISTORY_TRACKER_MSG_PRIORITY_NET = OT_MESSAGE_PRIORITY_HIGH + 1
}
enum
Costanti che rappresentano la priorità dei messaggi utilizzate nello struct otHistoryTrackerMessageInfo.
otHistoryTrackerAddressEvent{
  OT_HISTORY_TRACKER_ADDRESS_EVENT_ADDED = 0,
  OT_HISTORY_TRACKER_ADDRESS_EVENT_REMOVED = 1
}
enum
Definisce gli eventi per le informazioni relative a un indirizzo IPv6 (unicast o multicast) (ovvero se l'indirizzo viene aggiunto o rimosso).
otHistoryTrackerNeighborEvent{
  OT_HISTORY_TRACKER_NEIGHBOR_EVENT_ADDED = 0,
  OT_HISTORY_TRACKER_NEIGHBOR_EVENT_REMOVED = 1,
  OT_HISTORY_TRACKER_NEIGHBOR_EVENT_CHANGED = 2,
  OT_HISTORY_TRACKER_NEIGHBOR_EVENT_RESTORING = 3
}
enum
Definisce gli eventi nelle informazioni relative al vicino (ad es.
otHistoryTrackerNetDataEvent{
  OT_HISTORY_TRACKER_NET_DATA_ENTRY_ADDED = 0,
  OT_HISTORY_TRACKER_NET_DATA_ENTRY_REMOVED = 1
}
enum
Definisce gli eventi per una voce Dati di rete (ossia se una voce viene aggiunta o rimossa).
otHistoryTrackerRouterEvent{
  OT_HISTORY_TRACKER_ROUTER_EVENT_ADDED = 0,
  OT_HISTORY_TRACKER_ROUTER_EVENT_REMOVED = 1,
  OT_HISTORY_TRACKER_ROUTER_EVENT_NEXT_HOP_CHANGED = 2,
  OT_HISTORY_TRACKER_ROUTER_EVENT_COST_CHANGED = 3
}
enum
Definisce gli eventi nelle informazioni sul router (ad esempio,

Typedef

otHistoryTrackerExternalRouteInfo typedef
Rappresenta le informazioni di percorso esterne dei Dati di rete.
otHistoryTrackerIterator typedef
Rappresenta un iteratore per scorrere un elenco della cronologia.
otHistoryTrackerMessageInfo typedef
Rappresenta le informazioni di un messaggio IPv6 RX/TX.
otHistoryTrackerMulticastAddressInfo typedef
Rappresenta le informazioni relative a un indirizzo multicast IPv6.
otHistoryTrackerNeighborInfo typedef
Rappresenta le informazioni relative a un vicino.
otHistoryTrackerNetworkInfo typedef
Rappresenta le informazioni di rete di Thread.
otHistoryTrackerOnMeshPrefixInfo typedef
Rappresenta i dati di rete sulle informazioni del prefisso mesh.
otHistoryTrackerRouterInfo typedef
Rappresenta un evento di accesso alla tabella del router.
otHistoryTrackerUnicastAddressInfo typedef
Rappresenta le informazioni di un indirizzo IPv6 unicast.

Funzioni

otHistoryTrackerEntryAgeToString(uint32_t aEntryAge, char *aBuffer, uint16_t aSize)
void
Converte una determinata età di ingresso in una stringa leggibile.
otHistoryTrackerInitIterator(otHistoryTrackerIterator *aIterator)
void
Inizializza un otHistoryTrackerIterator.
otHistoryTrackerIterateExternalRouteHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Esegue l'iterazione sulle voci nell'elenco della cronologia voci del percorso esterno relativo ai dati di rete.
otHistoryTrackerIterateMulticastAddressHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Itera le voci nell'elenco della cronologia degli indirizzi multicast.
otHistoryTrackerIterateNeighborHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Itera le voci nell'elenco della cronologia dei vicini.
otHistoryTrackerIterateNetInfoHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Esegue l'iterazione sulle voci nell'elenco della cronologia delle informazioni sulla rete.
otHistoryTrackerIterateOnMeshPrefixHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Esegue l'iterazione sulle voci nell'elenco della cronologia delle voci relative ai dati di rete su mesh.
otHistoryTrackerIterateRouterHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Esegue l'iterazione delle voci nell'elenco della cronologia del router.
otHistoryTrackerIterateRxHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Esegue l'iterazione delle voci nell'elenco della cronologia dei messaggi RX.
otHistoryTrackerIterateTxHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Esegue l'iterazione delle voci nell'elenco della cronologia dei messaggi TX.
otHistoryTrackerIterateUnicastAddressHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Esegue l'iterazione delle voci nell'elenco della cronologia degli indirizzi unicast.

Strutture

otHistoryTrackerExternalRouteInfo

Rappresenta le informazioni di percorso esterne dei Dati di rete.

otHistoryTrackerIterator

Rappresenta un iteratore per scorrere un elenco della cronologia.

otHistoryTrackerMessageInfo

Rappresenta le informazioni di un messaggio IPv6 RX/TX.

otHistoryTrackerMulticastAddressInfo

Rappresenta le informazioni relative a un indirizzo multicast IPv6.

otHistoryTrackerNeighborInfo

Rappresenta le informazioni relative a un vicino.

otHistoryTrackerNetworkInfo

Rappresenta le informazioni di rete di Thread.

otHistoryTrackerOnMeshPrefixInfo

Rappresenta i dati di rete sulle informazioni del prefisso mesh.

otHistoryTrackerRouterInfo

Rappresenta un evento di accesso alla tabella del router.

otHistoryTrackerUnicastAddressInfo

Rappresenta le informazioni di un indirizzo IPv6 unicast.

Enumerazioni

enum anonimo

 anonymous enum

Costanti che rappresentano la priorità dei messaggi utilizzate nello struct otHistoryTrackerMessageInfo.

Proprietà
OT_HISTORY_TRACKER_MSG_PRIORITY_HIGH

Livello di priorità alta.

OT_HISTORY_TRACKER_MSG_PRIORITY_LOW

Livello di priorità bassa.

OT_HISTORY_TRACKER_MSG_PRIORITY_NET

Livello di priorità Network Control.

OT_HISTORY_TRACKER_MSG_PRIORITY_NORMAL

Livello di priorità normale.

otHistoryTrackerAddressEvent

 otHistoryTrackerAddressEvent

Definisce gli eventi per le informazioni relative a un indirizzo IPv6 (unicast o multicast) (ovvero se l'indirizzo viene aggiunto o rimosso).

Proprietà
OT_HISTORY_TRACKER_ADDRESS_EVENT_ADDED

L'indirizzo è stato aggiunto.

OT_HISTORY_TRACKER_ADDRESS_EVENT_REMOVED

L'indirizzo è stato rimosso.

otHistoryTrackerNeighborEvent

 otHistoryTrackerNeighborEvent

Definisce gli eventi nelle informazioni relative al vicino (ad es.

se viene aggiunto, rimosso o modificato il vicino).

L'evento OT_HISTORY_TRACKER_NEIGHBOR_EVENT_RESTORING può essere applicato solo ai vicini di casa minori. Viene attivato dopo il (ri)avvio del dispositivo, quando l'elenco secondario precedente viene recuperato dalle impostazioni non volatili e il dispositivo tenta di ripristinare la connessione.

Proprietà
OT_HISTORY_TRACKER_NEIGHBOR_EVENT_ADDED

Vicino è stato aggiunto.

OT_HISTORY_TRACKER_NEIGHBOR_EVENT_CHANGED

Quartiere vicino modificato (ad es. flag modalità dispositivo modificati).

OT_HISTORY_TRACKER_NEIGHBOR_EVENT_REMOVED

Il vicino è stato rimosso.

OT_HISTORY_TRACKER_NEIGHBOR_EVENT_RESTORING

È in corso il ripristino del vicino (applicabile solo al figlio).

otHistoryTrackerNetDataEvent

 otHistoryTrackerNetDataEvent

Definisce gli eventi per una voce Dati di rete (ossia se una voce viene aggiunta o rimossa).

Proprietà
OT_HISTORY_TRACKER_NET_DATA_ENTRY_ADDED

Inserimento dati di rete aggiunto.

OT_HISTORY_TRACKER_NET_DATA_ENTRY_REMOVED

Inserimento dati di rete rimosso.

otHistoryTrackerRouterEvent

 otHistoryTrackerRouterEvent

Definisce gli eventi nelle informazioni sul router (ad esempio,

se viene aggiunto, rimosso o modificato il router).

Proprietà
OT_HISTORY_TRACKER_ROUTER_EVENT_ADDED

Il router è stato aggiunto (ID router allocato).

OT_HISTORY_TRACKER_ROUTER_EVENT_COST_CHANGED

Costo del percorso di accesso del router modificato (hop successivo come prima).

OT_HISTORY_TRACKER_ROUTER_EVENT_NEXT_HOP_CHANGED

Hop successivo e costo della voce del router modificati.

OT_HISTORY_TRACKER_ROUTER_EVENT_REMOVED

La voce del router è stata rimossa (ID router rilasciato).

Typedef

otHistoryTrackerExternalRouteInfo

struct otHistoryTrackerExternalRouteInfo otHistoryTrackerExternalRouteInfo

Rappresenta le informazioni di percorso esterne dei Dati di rete.

otHistoryTrackerIterator

struct otHistoryTrackerIterator otHistoryTrackerIterator

Rappresenta un iteratore per scorrere un elenco della cronologia.

I campi di questo tipo sono opachi (destinati all'uso da parte del core OpenThread) e pertanto non devono essere accessibili/utilizzati dal chiamante.

Prima di utilizzare un iteratore, DEVE essere inizializzato utilizzando otHistoryTrackerInitIterator(),

otHistoryTrackerMessageInfo

struct otHistoryTrackerMessageInfo otHistoryTrackerMessageInfo

Rappresenta le informazioni di un messaggio IPv6 RX/TX.

Alcuni dei campi di questo struct sono applicabili solo a un messaggio RX o TX, ad esempio mAveRxRss è l'RSS medio di tutti i frame con frammenti che formano un messaggio ricevuto. Si applica solo a un messaggio RX.

otHistoryTrackerMulticastAddressInfo

struct otHistoryTrackerMulticastAddressInfo otHistoryTrackerMulticastAddressInfo

Rappresenta le informazioni relative a un indirizzo multicast IPv6.

otHistoryTrackerNeighborInfo

struct otHistoryTrackerNeighborInfo otHistoryTrackerNeighborInfo

Rappresenta le informazioni relative a un vicino.

otHistoryTrackerNetworkInfo

struct otHistoryTrackerNetworkInfo otHistoryTrackerNetworkInfo

Rappresenta le informazioni di rete di Thread.

otHistoryTrackerOnMeshPrefixInfo

struct otHistoryTrackerOnMeshPrefixInfo otHistoryTrackerOnMeshPrefixInfo

Rappresenta i dati di rete sulle informazioni del prefisso mesh.

otHistoryTrackerRouterInfo

struct otHistoryTrackerRouterInfo otHistoryTrackerRouterInfo

Rappresenta un evento di accesso alla tabella del router.

otHistoryTrackerUnicastAddressInfo

struct otHistoryTrackerUnicastAddressInfo otHistoryTrackerUnicastAddressInfo

Rappresenta le informazioni di un indirizzo IPv6 unicast.

Funzioni

otHistoryTrackerEntryAgeToString

void otHistoryTrackerEntryAgeToString(
  uint32_t aEntryAge,
  char *aBuffer,
  uint16_t aSize
)

Converte una determinata età di ingresso in una stringa leggibile.

La stringa dell'età inserita segue il formato "::." per ore, minuti, secondi e millisecondi (se inferiore a un giorno) oppure "

giorni ::." (se più lungo di un giorno).

Se la stringa risultante non rientra in aBuffer (all'interno dei suoi aSize caratteri), la stringa viene troncata, ma la stringa restituita è sempre con terminazione null.

Dettagli
Parametri
[in] aEntryAge
Età di accesso (durata in msec).
[out] aBuffer
Un puntatore a un array di caratteri per generare la stringa (NON DEVE essere NULL).
[in] aSize
La dimensione di aBuffer. Si consiglia di utilizzare OT_HISTORY_TRACKER_ENTRY_AGE_STRING_SIZE.

otHistoryTrackerInitIterator

void otHistoryTrackerInitIterator(
  otHistoryTrackerIterator *aIterator
)

Inizializza un otHistoryTrackerIterator.

Un iteratore DEVE essere inizializzato prima di essere utilizzato.

È possibile inizializzare di nuovo un iteratore in modo da partire dall'inizio dell'elenco.

Quando si esegue l'iterazione delle voci di un elenco, per garantire che le fasce di età delle voci siano coerenti, viene data l'età in base al momento in cui l'iteratore è stato inizializzato, ovvero l'età della voce viene fornita come durata (in millisecondi) dall'evento (quando è stata registrata la voce) al tempo di inizializzazione dell'iteratore.

Dettagli
Parametri
[in] aIterator
Un puntatore all'iteratore per l'inizializzazione (DEVE NON essere NULL).

otHistoryTrackerIterateExternalRouteHistory

const otHistoryTrackerExternalRouteInfo * otHistoryTrackerIterateExternalRouteHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

Esegue l'iterazione sulle voci nell'elenco della cronologia voci del percorso esterno relativo ai dati di rete.

Dettagli
Parametri
[in] aInstance
Un puntatore all'istanza OpenThread.
[in,out] aIterator
Un puntatore a un iteratore. DEVE essere inizializzato o il comportamento non è definito.
[out] aEntryAge
Un puntatore a una variabile per visualizzare l'età della voce. NON DEVE essere NULL. L'età viene indicata come durata (in millisecondi) dalla registrazione della voce al tempo di inizializzazione di aIterator. Il valore è impostato su OT_HISTORY_TRACKER_MAX_AGE per le voci che hanno superato la durata massima.
Restituisce
La voce otHistoryTrackerExternalRouteInfo o NULL se non ci sono altre voci nell'elenco.

otHistoryTrackerIterateMulticastAddressHistory

const otHistoryTrackerMulticastAddressInfo * otHistoryTrackerIterateMulticastAddressHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

Itera le voci nell'elenco della cronologia degli indirizzi multicast.

Dettagli
Parametri
[in] aInstance
Un puntatore all'istanza OpenThread.
[in,out] aIterator
Un puntatore a un iteratore. DEVE essere inizializzato o il comportamento non è definito.
[out] aEntryAge
Un puntatore a una variabile per visualizzare l'età della voce. NON DEVE essere NULL. L'età viene indicata come durata (in millisecondi) dalla registrazione della voce al tempo di inizializzazione di aIterator. Il valore è impostato su OT_HISTORY_TRACKER_MAX_AGE per le voci che hanno superato la durata massima.
Restituisce
Un puntatore alla voce otHistoryTrackerMulticastAddressInfo o a NULL se non ci sono altre voci nell'elenco.

otHistoryTrackerIterateNeighborHistory

const otHistoryTrackerNeighborInfo * otHistoryTrackerIterateNeighborHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

Itera le voci nell'elenco della cronologia dei vicini.

Dettagli
Parametri
[in] aInstance
Un puntatore all'istanza OpenThread.
[in,out] aIterator
Un puntatore a un iteratore. DEVE essere inizializzato o il comportamento non è definito.
[out] aEntryAge
Un puntatore a una variabile per visualizzare l'età della voce. NON DEVE essere NULL. L'età viene indicata come durata (in millisecondi) dalla registrazione della voce al tempo di inizializzazione di aIterator. Il valore è impostato su OT_HISTORY_TRACKER_MAX_AGE per le voci che hanno superato la durata massima.
Restituisce
La voce otHistoryTrackerNeighborInfo o NULL se non ci sono altre voci nell'elenco.

otHistoryTrackerIterateNetInfoHistory

const otHistoryTrackerNetworkInfo * otHistoryTrackerIterateNetInfoHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

Esegue l'iterazione sulle voci nell'elenco della cronologia delle informazioni sulla rete.

Dettagli
Parametri
[in] aInstance
Un puntatore all'istanza OpenThread.
[in,out] aIterator
Un puntatore a un iteratore. DEVE essere inizializzato o il comportamento non è definito.
[out] aEntryAge
Un puntatore a una variabile per visualizzare l'età della voce. NON DEVE essere NULL. L'età viene indicata come durata (in millisecondi) dalla registrazione della voce al tempo di inizializzazione di aIterator. Il valore è impostato su OT_HISTORY_TRACKER_MAX_AGE per le voci che hanno superato la durata massima.
Restituisce
Un puntatore alla voce otHistoryTrackerNetworkInfo o a NULL se non ci sono altre voci nell'elenco.

otHistoryTrackerIterateOnMeshPrefixHistory

const otHistoryTrackerOnMeshPrefixInfo * otHistoryTrackerIterateOnMeshPrefixHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

Esegue l'iterazione sulle voci nell'elenco della cronologia delle voci relative ai dati di rete su mesh.

Dettagli
Parametri
[in] aInstance
Un puntatore all'istanza OpenThread.
[in,out] aIterator
Un puntatore a un iteratore. DEVE essere inizializzato o il comportamento non è definito.
[out] aEntryAge
Un puntatore a una variabile per visualizzare l'età della voce. NON DEVE essere NULL. L'età viene indicata come durata (in millisecondi) dalla registrazione della voce al tempo di inizializzazione di aIterator. Il valore è impostato su OT_HISTORY_TRACKER_MAX_AGE per le voci che hanno superato la durata massima.
Restituisce
La voce otHistoryTrackerOnMeshPrefixInfo o NULL se non ci sono altre voci nell'elenco.

otHistoryTrackerIterateRouterHistory

const otHistoryTrackerRouterInfo * otHistoryTrackerIterateRouterHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

Esegue l'iterazione delle voci nell'elenco della cronologia del router.

Dettagli
Parametri
[in] aInstance
Un puntatore all'istanza OpenThread.
[in,out] aIterator
Un puntatore a un iteratore. DEVE essere inizializzato o il comportamento non è definito.
[out] aEntryAge
Un puntatore a una variabile per visualizzare l'età della voce. NON DEVE essere NULL. L'età viene indicata come durata (in millisecondi) dalla registrazione della voce al tempo di inizializzazione di aIterator. Il valore è impostato su OT_HISTORY_TRACKER_MAX_AGE per le voci che hanno superato la durata massima.
Restituisce
La voce otHistoryTrackerRouterInfo o NULL se non ci sono altre voci nell'elenco.

otHistoryTrackerIterateRxHistory

const otHistoryTrackerMessageInfo * otHistoryTrackerIterateRxHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

Esegue l'iterazione delle voci nell'elenco della cronologia dei messaggi RX.

Dettagli
Parametri
[in] aInstance
Un puntatore all'istanza OpenThread.
[in,out] aIterator
Un puntatore a un iteratore. DEVE essere inizializzato o il comportamento non è definito.
[out] aEntryAge
Un puntatore a una variabile per visualizzare l'età della voce. NON DEVE essere NULL. L'età viene indicata come durata (in millisecondi) dalla registrazione della voce al tempo di inizializzazione di aIterator. Il valore è impostato su OT_HISTORY_TRACKER_MAX_AGE per le voci che hanno superato la durata massima.
Restituisce
La voce otHistoryTrackerMessageInfo o NULL se non ci sono altre voci nell'elenco.

otHistoryTrackerIterateTxHistory

const otHistoryTrackerMessageInfo * otHistoryTrackerIterateTxHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

Esegue l'iterazione delle voci nell'elenco della cronologia dei messaggi TX.

Dettagli
Parametri
[in] aInstance
Un puntatore all'istanza OpenThread.
[in,out] aIterator
Un puntatore a un iteratore. DEVE essere inizializzato o il comportamento non è definito.
[out] aEntryAge
Un puntatore a una variabile per visualizzare l'età della voce. NON DEVE essere NULL. L'età viene indicata come durata (in millisecondi) dalla registrazione della voce al tempo di inizializzazione di aIterator. Il valore è impostato su OT_HISTORY_TRACKER_MAX_AGE per le voci che hanno superato la durata massima.
Restituisce
La voce otHistoryTrackerMessageInfo o NULL se non ci sono altre voci nell'elenco.

otHistoryTrackerIterateUnicastAddressHistory

const otHistoryTrackerUnicastAddressInfo * otHistoryTrackerIterateUnicastAddressHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

Esegue l'iterazione delle voci nell'elenco della cronologia degli indirizzi unicast.

Dettagli
Parametri
[in] aInstance
Un puntatore all'istanza OpenThread.
[in,out] aIterator
Un puntatore a un iteratore. DEVE essere inizializzato o il comportamento non è definito.
[out] aEntryAge
Un puntatore a una variabile per visualizzare l'età della voce. NON DEVE essere NULL. L'età viene indicata come durata (in millisecondi) dalla registrazione della voce al tempo di inizializzazione di aIterator. Il valore è impostato su OT_HISTORY_TRACKER_MAX_AGE per le voci che hanno superato la durata massima.
Restituisce
Un puntatore alla voce otHistoryTrackerUnicastAddressInfo o a NULL se non ci sono altre voci nell'elenco.

Macro

OT_HISTORY_TRACKER_ENTRY_AGE_STRING_SIZE

 OT_HISTORY_TRACKER_ENTRY_AGE_STRING_SIZE 21

Dimensione consigliata per la rappresentazione stringa dell'età della voce.

OT_HISTORY_TRACKER_INFINITE_PATH_COST

 OT_HISTORY_TRACKER_INFINITE_PATH_COST 0

Costo percorso infinito - utilizzato in otHistoryTrackerRouterInfo.

OT_HISTORY_TRACKER_MAX_AGE

 OT_HISTORY_TRACKER_MAX_AGE (49 * 24 * 60 * 60 * 1000u)

Questa costante specifica l'età massima delle voci, che è di 49 giorni (in msec).

Le voci che superano l'età massima attribuiranno questo valore alla loro età.

OT_HISTORY_TRACKER_NO_NEXT_HOP

 OT_HISTORY_TRACKER_NO_NEXT_HOP 63

Nessun hop successivo - Per mNextHop in otHistoryTrackerRouterInfo.

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.