Router/Leader

Questo modulo include funzioni per i router e i leader Thread.

Riepilogo

Enumerazioni

otCacheEntryState enum
Definisce lo stato della voce della cache EID.
otNeighborTableEvent{
  OT_NEIGHBOR_TABLE_EVENT_CHILD_ADDED,
  OT_NEIGHBOR_TABLE_EVENT_CHILD_REMOVED,
  OT_NEIGHBOR_TABLE_EVENT_CHILD_MODE_CHANGED,
  OT_NEIGHBOR_TABLE_EVENT_ROUTER_ADDED,
  OT_NEIGHBOR_TABLE_EVENT_ROUTER_REMOVED
}
enum
Definisce le costanti utilizzate in otNeighborTableCallback per indicare le modifiche nella tabella dei vicini.
otPowerSupply{
  OT_POWER_SUPPLY_BATTERY = 0,
  OT_POWER_SUPPLY_EXTERNAL = 1,
  OT_POWER_SUPPLY_EXTERNAL_STABLE = 2,
  OT_POWER_SUPPLY_EXTERNAL_UNSTABLE = 3
}
enum
Rappresenta la proprietà dell'alimentatore su un dispositivo.

Typedef

otCacheEntryInfo typedef
Rappresenta una voce della cache EID.
otCacheEntryIterator typedef
Rappresenta un iteratore utilizzato per l'iterazione attraverso le voci della tabella della cache EID.
otCacheEntryState typedef
Definisce lo stato della voce della cache EID.
otChildIp6AddressIterator typedef
uint16_t
Utilizzato per eseguire l'iterazione tramite gli indirizzi IPv6 di una voce secondaria del thread.
otDeviceProperties typedef
Rappresenta le proprietà del dispositivo utilizzate per calcolare il peso del leader locale su un dispositivo.
otNeighborTableCallback)(otNeighborTableEvent aEvent, const otNeighborTableEntryInfo *aEntryInfo) typedef
void(*
Il puntatore viene chiamato per notificare che c'è una modifica nella tabella dei vicini.

Funzioni

otThreadBecomeLeader(otInstance *aInstance)
Diventa leader e crea una nuova partizione.
otThreadBecomeRouter(otInstance *aInstance)
Prova a diventare un router.
otThreadGetAdvertisementTrickleIntervalMax(otInstance *aInstance)
uint32_t
Restituisce il valore Intervallo massimo corrente utilizzato dal timer di flusso annuncio.
otThreadGetChildInfoById(otInstance *aInstance, uint16_t aChildId, otChildInfo *aChildInfo)
Recupera le informazioni diagnostiche per un asset secondario collegato tramite il relativo ID secondario o RLOC16.
otThreadGetChildInfoByIndex(otInstance *aInstance, uint16_t aChildIndex, otChildInfo *aChildInfo)
La funzione conserva le informazioni diagnostiche per un asset secondario collegato in base all'indice delle tabelle interno.
otThreadGetChildNextIp6Address(otInstance *aInstance, uint16_t aChildIndex, otChildIp6AddressIterator *aIterator, otIp6Address *aAddress)
Restituisce l'indirizzo IPv6 successivo (utilizzando un iteratore) per un determinato figlio.
otThreadGetChildRouterLinks(otInstance *aInstance)
uint8_t
Ottieni il parametro MLE_CHILD_ROUTER_LINKS utilizzato nel ruolo REED.
otThreadGetContextIdReuseDelay(otInstance *aInstance)
uint32_t
Ottieni il parametro CONTEXT_ID_REUSE_RESULT utilizzato nel ruolo Leader.
otThreadGetDeviceProperties(otInstance *aInstance)
Recupera le proprietà attuali del dispositivo.
otThreadGetJoinerUdpPort(otInstance *aInstance)
uint16_t
Recupera la porta UDP del joiner.
otThreadGetLocalLeaderWeight(otInstance *aInstance)
uint8_t
Restituisce la Peso leader thread utilizzato quando operi con il ruolo Leader.
otThreadGetMaxAllowedChildren(otInstance *aInstance)
uint16_t
Consente di acquisire il numero massimo di bambini attualmente consentiti.
otThreadGetMaxChildIpAddresses(otInstance *aInstance)
uint8_t
Restituisce il numero massimo di indirizzi IP che ogni server secondario MTD può registrare con questo dispositivo come padre.
otThreadGetMaxRouterId(otInstance *aInstance)
uint8_t
La funzione restituisce l'ID router massimo consentito.
otThreadGetNetworkIdTimeout(otInstance *aInstance)
uint8_t
Ottieni il parametro NETWORK_ID_TIMEOUT.
otThreadGetNextCacheEntry(otInstance *aInstance, otCacheEntryInfo *aEntryInfo, otCacheEntryIterator *aIterator)
Restituisce la voce successiva della cache EID (utilizzando un iteratore).
otThreadGetNextHopAndPathCost(otInstance *aInstance, uint16_t aDestRloc16, uint16_t *aNextHopRloc16, uint8_t *aPathCost)
void
Restituisce il costo dell'hop e del percorso successivo verso una determinata destinazione RLOC16.
otThreadGetParentPriority(otInstance *aInstance)
int8_t
Ottieni la priorità padre assegnata.
otThreadGetPreferredLeaderPartitionId(otInstance *aInstance)
uint32_t
Ottieni l'ID partizione Thread Leader preferito quando operi con il ruolo Leader.
otThreadGetPskc(otInstance *aInstance, otPskc *aPskc)
void
Scarica Thread PSKc.
otThreadGetPskcRef(otInstance *aInstance)
Recupero chiave riferimento alla PSKc Thread archiviato.
otThreadGetRouterDowngradeThreshold(otInstance *aInstance)
uint8_t
Ottieni il parametro ROUTER_DOWNGRADE_THRESHOLD utilizzato nel ruolo Router.
otThreadGetRouterIdRange(otInstance *aInstance, uint8_t *aMinRouterId, uint8_t *aMaxRouterId)
void
Restituisce l'intervallo di ID router che è consentito assegnare ai nodi all'interno della rete Thread.
otThreadGetRouterIdSequence(otInstance *aInstance)
uint8_t
Ottieni la sequenza attuale di ID router.
otThreadGetRouterInfo(otInstance *aInstance, uint16_t aRouterId, otRouterInfo *aRouterInfo)
La funzione conserva le informazioni diagnostiche per un determinato router Thread.
otThreadGetRouterSelectionJitter(otInstance *aInstance)
uint8_t
Ottieni il parametro ROUTER_SELECTION_JITTER utilizzato nel ruolo REED/Router.
otThreadGetRouterUpgradeThreshold(otInstance *aInstance)
uint8_t
Ottieni il parametro ROUTER_UPGRADE_THRESHOLD utilizzato nel ruolo REED.
otThreadIsRouterEligible(otInstance *aInstance)
bool
Indica se il dispositivo è idoneo al router.
otThreadIsRouterIdAllocated(otInstance *aInstance, uint8_t aRouterId)
bool
Indica se è attualmente allocato un ID router.
otThreadRegisterNeighborTableCallback(otInstance *aInstance, otNeighborTableCallback aCallback)
void
Registra una funzione di callback della tabella vicina.
otThreadReleaseRouterId(otInstance *aInstance, uint8_t aRouterId)
Rilascia un ID router assegnato dal dispositivo con il ruolo Leader.
otThreadSetCcmEnabled(otInstance *aInstance, bool aEnabled)
void
Consente di impostare se il dispositivo è stato commissionato utilizzando CCM.
otThreadSetChildRouterLinks(otInstance *aInstance, uint8_t aChildRouterLinks)
Imposta il parametro MLE_CHILD_ROUTER_LINKS utilizzato nel ruolo REED.
otThreadSetContextIdReuseDelay(otInstance *aInstance, uint32_t aDelay)
void
Imposta il parametro CONTEXT_ID_REUSE_RESULT utilizzato nel ruolo di Leader.
otThreadSetDeviceProperties(otInstance *aInstance, const otDeviceProperties *aDeviceProperties)
void
Imposta le proprietà del dispositivo, che verranno poi utilizzate per determinare e impostare la ponderazione leader.
otThreadSetJoinerUdpPort(otInstance *aInstance, uint16_t aJoinerUdpPort)
Imposta la porta UDP del joiner.
otThreadSetLocalLeaderWeight(otInstance *aInstance, uint8_t aWeight)
void
Imposta la Peso leader thread utilizzato quando operi con il ruolo Leader.
otThreadSetMaxAllowedChildren(otInstance *aInstance, uint16_t aMaxChildren)
Imposta il numero massimo di figli attualmente consentiti.
otThreadSetMaxChildIpAddresses(otInstance *aInstance, uint8_t aMaxIpAddresses)
Consente di impostare o ripristinare il numero massimo di indirizzi IP che ogni server secondario MTD può registrare con questo dispositivo come padre.
otThreadSetNetworkIdTimeout(otInstance *aInstance, uint8_t aTimeout)
void
Imposta il parametro NETWORK_ID_TIMEOUT.
otThreadSetParentPriority(otInstance *aInstance, int8_t aParentPriority)
Imposta la priorità principale.
otThreadSetPreferredLeaderPartitionId(otInstance *aInstance, uint32_t aPartitionId)
void
Imposta l'ID partizione Thread Leader preferito da utilizzare quando operi con il ruolo Leader.
otThreadSetPreferredRouterId(otInstance *aInstance, uint8_t aRouterId)
Imposta l'ID router preferito.
otThreadSetPskc(otInstance *aInstance, const otPskc *aPskc)
Imposta la PSKc di Thread.
otThreadSetPskcRef(otInstance *aInstance, otPskcRef aKeyRef)
Imposta il riferimento chiave sulla PSKc di Thread.
otThreadSetRouterDowngradeThreshold(otInstance *aInstance, uint8_t aThreshold)
void
Imposta il parametro ROUTER_DOWNGRADE_THRESHOLD utilizzato nel ruolo Leader.
otThreadSetRouterEligible(otInstance *aInstance, bool aEligible)
Consente di stabilire se il dispositivo è idoneo al router.
otThreadSetRouterIdRange(otInstance *aInstance, uint8_t aMinRouterId, uint8_t aMaxRouterId)
Imposta l'intervallo di ID router che è consentito assegnare ai nodi all'interno della rete Thread.
otThreadSetRouterSelectionJitter(otInstance *aInstance, uint8_t aRouterJitter)
void
Imposta il parametro ROUTER_SELECTION_JITTER utilizzato nel ruolo REED/Router.
otThreadSetRouterUpgradeThreshold(otInstance *aInstance, uint8_t aThreshold)
void
Imposta il parametro ROUTER_UPGRADE_THRESHOLD utilizzato nel ruolo del leader.
otThreadSetSteeringData(otInstance *aInstance, const otExtAddress *aExtAddress)
void
Imposta dati di sterzo fuori banda.
otThreadSetThreadVersionCheckEnabled(otInstance *aInstance, bool aEnabled)
void
Consente di impostare se la soglia di versione TLV del criterio di sicurezza per il routing (campo VR) è abilitata.

Strutture

otCacheEntryInfo

Rappresenta una voce della cache EID.

otCacheEntryIterator

Rappresenta un iteratore utilizzato per l'iterazione attraverso le voci della tabella della cache EID.

otChildInfo

Contiene le informazioni diagnostiche relative a un asset secondario Thread.

otDeviceProperties

Rappresenta le proprietà del dispositivo utilizzate per calcolare il peso del leader locale su un dispositivo.

otNeighborTableEntryInfo

Rappresentano le informazioni sulle voci di una tabella dei vicini (figlio o router) e vengono utilizzate come parametro nel callback otNeighborTableCallback della tabella dei vicini.

Enumerazioni

otCacheEntryState

 otCacheEntryState

Definisce lo stato della voce della cache EID.

otNeighborTableEvent

 otNeighborTableEvent

Definisce le costanti utilizzate in otNeighborTableCallback per indicare le modifiche nella tabella dei vicini.

Proprietà
OT_NEIGHBOR_TABLE_EVENT_CHILD_ADDED

È in corso l'aggiunta di un bambino.

OT_NEIGHBOR_TABLE_EVENT_CHILD_MODE_CHANGED

Viene modificata la modalità di un bambino esistente.

OT_NEIGHBOR_TABLE_EVENT_CHILD_REMOVED

È in corso la rimozione di un bambino.

OT_NEIGHBOR_TABLE_EVENT_ROUTER_ADDED

È in corso l'aggiunta di un router.

OT_NEIGHBOR_TABLE_EVENT_ROUTER_REMOVED

È in corso la rimozione di un router.

otPowerSupply

 otPowerSupply

Rappresenta la proprietà dell'alimentatore su un dispositivo.

Questo viene utilizzato come proprietà in otDeviceProperties per calcolare il peso leader.

Proprietà
OT_POWER_SUPPLY_BATTERY

A batteria.

OT_POWER_SUPPLY_EXTERNAL

Alimentazione esterna (alimentata a corrente).

OT_POWER_SUPPLY_EXTERNAL_STABLE

Alimentazione esterna stabile con batteria di riserva o UPS.

OT_POWER_SUPPLY_EXTERNAL_UNSTABLE

Alimentazione dell'estensione potenzialmente instabile (ad es. lampadina alimentata tramite interruttore).

Typedef

otCacheEntryInfo

struct otCacheEntryInfo otCacheEntryInfo

Rappresenta una voce della cache EID.

otCacheEntryIterator

struct otCacheEntryIterator otCacheEntryIterator

Rappresenta un iteratore utilizzato per l'iterazione attraverso le voci della tabella della cache EID.

Per inizializzare l'iteratore e iniziare dalla prima voce nella tabella della cache, imposta tutti i campi della struttura su zero (ad es. memset l'iteratore a zero).

otCacheEntryState

enum otCacheEntryState otCacheEntryState

Definisce lo stato della voce della cache EID.

otChildIp6AddressIterator

uint16_t otChildIp6AddressIterator

Utilizzato per eseguire l'iterazione tramite gli indirizzi IPv6 di una voce secondaria del thread.

otDeviceProperties

struct otDeviceProperties otDeviceProperties

Rappresenta le proprietà del dispositivo utilizzate per calcolare il peso del leader locale su un dispositivo.

I parametri sono impostati in base alle capacità del dispositivo, ad esempio se fungere da router di confine, la configurazione dell'alimentatore e così via.

mIsUnstable indica la stabilità operativa del dispositivo ed è determinata tramite un meccanismo specifico del fornitore. Possono essere inclusi i seguenti casi:

  • Il dispositivo rileva internamente la perdita dell'alimentatore esterno più spesso del solito. Ciò che di solito viene determinato dal fornitore.
  • Il dispositivo rileva internamente che si riavvia più spesso del solito. Ciò che di solito viene determinato dal fornitore.

otNeighborTableCallback

void(* otNeighborTableCallback)(otNeighborTableEvent aEvent, const otNeighborTableEntryInfo *aEntryInfo)

Il puntatore viene chiamato per notificare che c'è una modifica nella tabella dei vicini.

Dettagli
Parametri
[in] aEvent
Un flag di evento.
[in] aEntryInfo
Un puntatore alle informazioni sulle voci della tabella.

Funzioni

otThreadBecomeLeader

otError otThreadBecomeLeader(
  otInstance *aInstance
)

Diventa leader e crea una nuova partizione.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Valori restituiti
OT_ERROR_NONE
È diventato leader e ha creato una nuova partizione.
OT_ERROR_INVALID_STATE
Il thread è disabilitato.

otThreadBecomeRouter

otError otThreadBecomeRouter(
  otInstance *aInstance
)

Prova a diventare un router.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Valori restituiti
OT_ERROR_NONE
Tentativo di diventare router riuscito.
OT_ERROR_INVALID_STATE
Il thread è disabilitato.

otThreadGetAdvertisementTrickleIntervalMax

uint32_t otThreadGetAdvertisementTrickleIntervalMax(
  otInstance *aInstance
)

Restituisce il valore Intervallo massimo corrente utilizzato dal timer di flusso annuncio.

Questa API richiede OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE ed è destinata esclusivamente ai test.

Dettagli
Restituisce
Il timer di flusso massimo dell'annuncio pubblicitario in millisecondi.

otThreadGetChildInfoById

otError otThreadGetChildInfoById(
  otInstance *aInstance,
  uint16_t aChildId,
  otChildInfo *aChildInfo
)

Recupera le informazioni diagnostiche per un asset secondario collegato tramite il relativo ID secondario o RLOC16.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aChildId
L'ID figlio o RLOC16 per l'asset secondario associato.
[out] aChildInfo
Un puntatore al punto in cui sono posizionate le informazioni secondarie.
Valori restituiti
OT_ERROR_NONE
aChildInfo è stato aggiornato correttamente con le informazioni dell'ID specificato.
OT_ERROR_NOT_FOUND
Nessun bambino valido con questo ID secondario.
OT_ERROR_INVALID_ARGS
Se aChildInfo è NULL.

otThreadGetChildInfoByIndex

otError otThreadGetChildInfoByIndex(
  otInstance *aInstance,
  uint16_t aChildIndex,
  otChildInfo *aChildInfo
)

La funzione conserva le informazioni diagnostiche per un asset secondario collegato in base all'indice delle tabelle interno.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aChildIndex
L'indice della tabella.
[out] aChildInfo
Un puntatore al punto in cui sono posizionate le informazioni secondarie.
Valori restituiti
OT_ERROR_NONE
aChildInfo è stato aggiornato correttamente con le informazioni dell'indice specificato.
OT_ERROR_NOT_FOUND
Nessun elemento figlio valido in questo indice.
OT_ERROR_INVALID_ARGS
aChildInfo è NULL oppure aChildIndex è fuori intervallo (superiore all'indice massimo della tabella).
Vedi anche:
otGetMaxAllowedChildren

otThreadGetChildNextIp6Address

otError otThreadGetChildNextIp6Address(
  otInstance *aInstance,
  uint16_t aChildIndex,
  otChildIp6AddressIterator *aIterator,
  otIp6Address *aAddress
)

Restituisce l'indirizzo IPv6 successivo (utilizzando un iteratore) per un determinato figlio.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aChildIndex
L'indice figlio.
[in,out] aIterator
Un puntatore all'iteratore. Se l'operazione ha esito positivo, l'iteratore verrà aggiornato in modo che rimandi alla voce successiva nell'elenco. Per ottenere il primo indirizzo IPv6, l'iteratore deve essere impostato su OT_CHILD_IP6_ADDRESS_ITERATOR_INIT.
[out] aAddress
Un puntatore a un indirizzo IPv6 in cui si trova l'indirizzo successivo del publisher secondario (in caso di esito positivo).
Valori restituiti
OT_ERROR_NONE
Trovato indirizzo IPv6 successivo (aAddress è stato aggiornato correttamente).
OT_ERROR_NOT_FOUND
L'organizzazione secondaria non ha alcuna voce di indirizzo IPv6 successiva.
OT_ERROR_INVALID_ARGS
I valori aIterator o aAddress sono NULL oppure l'elemento secondario in aChildIndex non è valido.
Vedi anche:
otThreadGetChildInfoByIndex

uint8_t otThreadGetChildRouterLinks(
  otInstance *aInstance
)

Ottieni il parametro MLE_CHILD_ROUTER_LINKS utilizzato nel ruolo REED.

Questo parametro specifica il numero massimo di router vicini con cui il dispositivo (come FED) tenterà di stabilire il collegamento.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Restituisce
Il valore MLE_CHILD_ROUTER_LINKS.
Vedi anche:
otThreadSetChildRouterLinks

otThreadGetContextIdReuseDelay

uint32_t otThreadGetContextIdReuseDelay(
  otInstance *aInstance
)

Ottieni il parametro CONTEXT_ID_REUSE_RESULT utilizzato nel ruolo Leader.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Restituisce
Il valore CONTEXT_ID_REUSE_RESULT.
Vedi anche:
otThreadSetContextIdReuseDelay

otThreadGetDeviceProperties

const otDeviceProperties * otThreadGetDeviceProperties(
  otInstance *aInstance
)

Recupera le proprietà attuali del dispositivo.

Richiede OPENTHREAD_CONFIG_MLE_DEVICE_PROPERTY_LEADER_WEIGHT_ENABLE.

Dettagli
Restituisce
Le proprietà del dispositivo otDeviceProperties.

otThreadGetJoinerUdpPort

uint16_t otThreadGetJoinerUdpPort(
  otInstance *aInstance
)

Recupera la porta UDP del joiner.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Restituisce
Il numero della porta UDP del joiner.
Vedi anche:
otThreadSetJoinerUdpPort

otThreadGetLocalLeaderWeight

uint8_t otThreadGetLocalLeaderWeight(
  otInstance *aInstance
)

Restituisce la Peso leader thread utilizzato quando operi con il ruolo Leader.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Restituisce
Il valore Peso leader del thread.
Vedi anche:
otThreadSetLeaderWeight
otThreadSetDeviceProperties

otThreadGetMaxAllowedChildren

uint16_t otThreadGetMaxAllowedChildren(
  otInstance *aInstance
)

Consente di acquisire il numero massimo di bambini attualmente consentiti.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Restituisce
Il numero massimo di minori attualmente consentito.
Vedi anche:
otThreadSetMaxAllowedChildren

otThreadGetMaxChildIpAddresses

uint8_t otThreadGetMaxChildIpAddresses(
  otInstance *aInstance
)

Restituisce il numero massimo di indirizzi IP che ogni server secondario MTD può registrare con questo dispositivo come padre.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Restituisce
Il numero massimo di indirizzi IP che ogni server secondario MTD può registrare con questo dispositivo come padre.
Vedi anche:
otThreadSetMaxChildIpAddresses

otThreadGetMaxRouterId

uint8_t otThreadGetMaxRouterId(
  otInstance *aInstance
)

La funzione restituisce l'ID router massimo consentito.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Restituisce
L'ID router massimo consentito.

otThreadGetNetworkIdTimeout

uint8_t otThreadGetNetworkIdTimeout(
  otInstance *aInstance
)

Ottieni il parametro NETWORK_ID_TIMEOUT.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Restituisce
Il valore NETWORK_ID_TIMEOUT.
Vedi anche:
otThreadSetNetworkIdTimeout

otThreadGetNextCacheEntry

otError otThreadGetNextCacheEntry(
  otInstance *aInstance,
  otCacheEntryInfo *aEntryInfo,
  otCacheEntryIterator *aIterator
)

Restituisce la voce successiva della cache EID (utilizzando un iteratore).

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[out] aEntryInfo
Un puntatore al punto in cui vengono inserite le informazioni relative alle voci della cache EID.
[in,out] aIterator
Un puntatore a un iteratore. Verrà aggiornato in modo da rimandare alla voce successiva. Per ottenere la prima voce, inizializza l'iteratore impostando tutti i relativi campi su zero (ad es. memset la struttura dell'iteratore a zero).
Valori restituiti
OT_ERROR_NONE
Campo aEntryInfo completato per la prossima voce della cache EID.
OT_ERROR_NOT_FOUND
Nessun'altra voce presente nella tabella della cache degli indirizzi.

otThreadGetNextHopAndPathCost

void otThreadGetNextHopAndPathCost(
  otInstance *aInstance,
  uint16_t aDestRloc16,
  uint16_t *aNextHopRloc16,
  uint8_t *aPathCost
)

Restituisce il costo dell'hop e del percorso successivo verso una determinata destinazione RLOC16.

Può essere utilizzato quando aNextHopRloc16 o aPathCost sono NULL, a indicare che il chiamante non vuole ottenere il valore.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aDestRloc16
L'RLOC16 della destinazione.
[out] aNextHopRloc16
Un puntatore per restituire RLOC16 dell'hop successivo, 0xfffe se non c'è hop successivo.
[out] aPathCost
Un puntatore al costo del percorso di ritorno verso la destinazione.

otThreadGetParentPriority

int8_t otThreadGetParentPriority(
  otInstance *aInstance
)

Ottieni la priorità padre assegnata.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Restituisce
Il valore di priorità principale assegnato, -2 significa che non è stato assegnato.
Vedi anche:
otThreadSetParentPriority

otThreadGetPreferredLeaderPartitionId

uint32_t otThreadGetPreferredLeaderPartitionId(
  otInstance *aInstance
)

Ottieni l'ID partizione Thread Leader preferito quando operi con il ruolo Leader.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Restituisce
Il valore dell'ID partizione leader del thread.

otThreadGetPskc

void otThreadGetPskc(
  otInstance *aInstance,
  otPskc *aPskc
)

Scarica Thread PSKc.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[out] aPskc
Un puntatore a otPskc per restituire la PSKc Thread recuperata.
Vedi anche:
otThreadSetPskc

otThreadGetPskcRef

otPskcRef otThreadGetPskcRef(
  otInstance *aInstance
)

Recupero chiave riferimento alla PSKc Thread archiviato.

Richiede l'abilitazione della funzionalità in fase di build OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Restituisce
Riferimento chiave a PSKc
Vedi anche:
otThreadSetPskcRef

otThreadGetRouterDowngradeThreshold

uint8_t otThreadGetRouterDowngradeThreshold(
  otInstance *aInstance
)

Ottieni il parametro ROUTER_DOWNGRADE_THRESHOLD utilizzato nel ruolo Router.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Restituisce
Il valore ROUTER_DOWNGRADE_THRESHOLD.
Vedi anche:
otThreadSetRouterDowngradeThreshold

otThreadGetRouterIdRange

void otThreadGetRouterIdRange(
  otInstance *aInstance,
  uint8_t *aMinRouterId,
  uint8_t *aMaxRouterId
)

Restituisce l'intervallo di ID router che è consentito assegnare ai nodi all'interno della rete Thread.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[out] aMinRouterId
L'ID router minimo.
[out] aMaxRouterId
L'ID router massimo.
Vedi anche:
otThreadSetRouterIdRange

otThreadGetRouterIdSequence

uint8_t otThreadGetRouterIdSequence(
  otInstance *aInstance
)

Ottieni la sequenza attuale di ID router.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Restituisce
La sequenza di ID router.

otThreadGetRouterInfo

otError otThreadGetRouterInfo(
  otInstance *aInstance,
  uint16_t aRouterId,
  otRouterInfo *aRouterInfo
)

La funzione conserva le informazioni diagnostiche per un determinato router Thread.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aRouterId
L'ID router o RLOC16 di un determinato router.
[out] aRouterInfo
Un puntatore che indica la posizione delle informazioni sul router.
Valori restituiti
OT_ERROR_NONE
Le informazioni sul router per l'ID specificato sono state recuperate correttamente.
OT_ERROR_NOT_FOUND
Nessuna voce del router con l'ID specificato.
OT_ERROR_INVALID_ARGS
aRouterInfo è NULL.

otThreadGetRouterSelectionJitter

uint8_t otThreadGetRouterSelectionJitter(
  otInstance *aInstance
)

Ottieni il parametro ROUTER_SELECTION_JITTER utilizzato nel ruolo REED/Router.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Restituisce
Il valore ROUTER_SELECTION_JITTER.
Vedi anche:
otThreadSetRouterSelectionJitter

otThreadGetRouterUpgradeThreshold

uint8_t otThreadGetRouterUpgradeThreshold(
  otInstance *aInstance
)

Ottieni il parametro ROUTER_UPGRADE_THRESHOLD utilizzato nel ruolo REED.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Restituisce
Il valore ROUTER_UPGRADE_THRESHOLD.
Vedi anche:
otThreadSetRouterUpgradeThreshold

otThreadIsRouterEligible

bool otThreadIsRouterEligible(
  otInstance *aInstance
)

Indica se il dispositivo è idoneo al router.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Valori restituiti
TRUE
Se il dispositivo è idoneo per il router.
FALSE
Se il dispositivo non è idoneo al router.

otThreadIsRouterIdAllocated

bool otThreadIsRouterIdAllocated(
  otInstance *aInstance,
  uint8_t aRouterId
)

Indica se è attualmente allocato un ID router.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aRouterId
L'ID router da controllare.
Valori restituiti
TRUE
Il campo aRouterId è allocato.
FALSE
L'elemento aRouterId non è allocato.

otThreadRegisterNeighborTableCallback

void otThreadRegisterNeighborTableCallback(
  otInstance *aInstance,
  otNeighborTableCallback aCallback
)

Registra una funzione di callback della tabella vicina.

Il callback fornito (se non NULL) viene richiamato in caso di modifica nella tabella dei vicini, ad esempio quando viene aggiunta/rimossa una voce figlio o vicino del router o viene modificata la modalità di un bambino esistente.

Le chiamate successive a questo metodo sovrascriveranno il callback precedente. Tieni presente che questo callback viene richiamato quando la tabella dei vicini/secondari viene aggiornata e sempre prima di otStateChangedCallback.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aCallback
Un puntatore alla funzione di gestore del callback.

otThreadReleaseRouterId

otError otThreadReleaseRouterId(
  otInstance *aInstance,
  uint8_t aRouterId
)

Rilascia un ID router assegnato dal dispositivo con il ruolo Leader.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aRouterId
L'ID router da rilasciare. L'intervallo valido è [0, 62].
Valori restituiti
OT_ERROR_NONE
ID router rilasciato.
OT_ERROR_INVALID_ARGS
aRouterId non è compreso nell'intervallo [0, 62].
OT_ERROR_INVALID_STATE
Al momento il dispositivo non funziona come leader.
OT_ERROR_NOT_FOUND
L'ID router non è attualmente allocato.

otThreadSetCcmEnabled

void otThreadSetCcmEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Consente di impostare se il dispositivo è stato commissionato utilizzando CCM.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aEnabled
TRUE se il dispositivo è stato commissionato utilizzando CCM, FALSE negli altri casi.
otError otThreadSetChildRouterLinks(
  otInstance *aInstance,
  uint8_t aChildRouterLinks
)

Imposta il parametro MLE_CHILD_ROUTER_LINKS utilizzato nel ruolo REED.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aChildRouterLinks
Il valore MLE_CHILD_ROUTER_LINKS.
Valori restituiti
OT_ERROR_NONE
Valore impostato.
OT_ERROR_INVALID_STATE
I protocolli Thread sono abilitati.
Vedi anche:
otThreadGetChildRouterLinks

otThreadSetContextIdReuseDelay

void otThreadSetContextIdReuseDelay(
  otInstance *aInstance,
  uint32_t aDelay
)

Imposta il parametro CONTEXT_ID_REUSE_RESULT utilizzato nel ruolo di Leader.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aDelay
Il valore CONTEXT_ID_REUSE_RESULT.
Vedi anche:
otThreadGetContextIdReuseDelay

otThreadSetDeviceProperties

void otThreadSetDeviceProperties(
  otInstance *aInstance,
  const otDeviceProperties *aDeviceProperties
)

Imposta le proprietà del dispositivo, che verranno poi utilizzate per determinare e impostare la ponderazione leader.

Richiede OPENTHREAD_CONFIG_MLE_DEVICE_PROPERTY_LEADER_WEIGHT_ENABLE.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aDeviceProperties
Le proprietà del dispositivo.

otThreadSetJoinerUdpPort

otError otThreadSetJoinerUdpPort(
  otInstance *aInstance,
  uint16_t aJoinerUdpPort
)

Imposta la porta UDP del joiner.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aJoinerUdpPort
Il numero della porta UDP del joiner.
Valori restituiti
OT_ERROR_NONE
Porta UDP del joiner impostata correttamente.
Vedi anche:
otThreadGetJoinerUdpPort

otThreadSetLocalLeaderWeight

void otThreadSetLocalLeaderWeight(
  otInstance *aInstance,
  uint8_t aWeight
)

Imposta la Peso leader thread utilizzato quando operi con il ruolo Leader.

Consente di impostare direttamente la ponderazione dell'attività leader sul nuovo valore, sostituendo il valore precedente (che potrebbe essere stato determinato dal valore otDeviceProperties corrente).

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aWeight
Il valore Peso leader del thread.
Vedi anche:
otThreadGetLeaderWeight

otThreadSetMaxAllowedChildren

otError otThreadSetMaxAllowedChildren(
  otInstance *aInstance,
  uint16_t aMaxChildren
)

Imposta il numero massimo di figli attualmente consentiti.

Questo parametro può essere impostato solo quando l'operazione del protocollo Thread è stata interrotta.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aMaxChildren
Il numero massimo di elementi secondari consentiti.
Valori restituiti
OT_ERROR_NONE
Il valore massimo è stato impostato
OT_ERROR_INVALID_ARGS
Se aMaxChildren non è compreso nell'intervallo [1, OPENTHREAD_CONFIG_MLE_MAX_CHILDREN].
OT_ERROR_INVALID_STATE
Se Thread non viene interrotto.
Vedi anche:
otThreadGetMaxAllowedChildren

otThreadSetMaxChildIpAddresses

otError otThreadSetMaxChildIpAddresses(
  otInstance *aInstance,
  uint8_t aMaxIpAddresses
)

Consente di impostare o ripristinare il numero massimo di indirizzi IP che ogni server secondario MTD può registrare con questo dispositivo come padre.

Supera 0 per cancellare l'impostazione e ripristinare quella predefinita.

Disponibile quando OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE è abilitato.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aMaxIpAddresses
Il numero massimo di indirizzi IP che ogni server secondario MTD può registrare con questo dispositivo come padre. 0 per cancellare l'impostazione e ripristinare quella predefinita.
Valori restituiti
OT_ERROR_NONE
Numero impostato/cancellato correttamente.
OT_ERROR_INVALID_ARGS
Se supera il numero massimo consentito.
Vedi anche:
otThreadGetMaxChildIpAddresses

otThreadSetNetworkIdTimeout

void otThreadSetNetworkIdTimeout(
  otInstance *aInstance,
  uint8_t aTimeout
)

Imposta il parametro NETWORK_ID_TIMEOUT.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aTimeout
Il valore NETWORK_ID_TIMEOUT.
Vedi anche:
otThreadGetNetworkIdTimeout

otThreadSetParentPriority

otError otThreadSetParentPriority(
  otInstance *aInstance,
  int8_t aParentPriority
)

Imposta la priorità principale.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aParentPriority
Il valore di priorità padre.
Valori restituiti
OT_ERROR_NONE
Priorità padre impostata correttamente.
OT_ERROR_INVALID_ARGS
Se il valore della priorità padre non è compreso tra 1, 0, -1 e -2.
Vedi anche:
otThreadGetParentPriority

otThreadSetPreferredLeaderPartitionId

void otThreadSetPreferredLeaderPartitionId(
  otInstance *aInstance,
  uint32_t aPartitionId
)

Imposta l'ID partizione Thread Leader preferito da utilizzare quando operi con il ruolo Leader.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aPartitionId
Il valore dell'ID partizione leader del thread.

otThreadSetPreferredRouterId

otError otThreadSetPreferredRouterId(
  otInstance *aInstance,
  uint8_t aRouterId
)

Imposta l'ID router preferito.

Dopo essere diventato router/leader, il nodo tenta di utilizzare questo ID router. Se l'ID router preferito non è impostato o se non può essere utilizzato, viene selezionato un ID router generato in modo casuale. Questa proprietà può essere impostata solo quando il ruolo del dispositivo è scollegato o disattivato.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aRouterId
L'ID router preferito.
Valori restituiti
OT_ERROR_NONE
L'ID router preferito è stato impostato.
OT_ERROR_INVALID_STATE
Impossibile impostare (il ruolo non è scollegato o disabilitato)

otThreadSetPskc

otError otThreadSetPskc(
  otInstance *aInstance,
  const otPskc *aPskc
)

Imposta la PSKc di Thread.

L'operazione andrà a buon fine solo se i protocolli Thread sono disabilitati. Una chiamata riuscita a questa funzione renderà non validi anche i set di dati operativi attivi e in attesa nella memoria non volatile.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aPskc
Un puntatore al nuovo PSKc Thread.
Valori restituiti
OT_ERROR_NONE
Impostazione della PSKc Thread.
OT_ERROR_INVALID_STATE
I protocolli Thread sono abilitati.
Vedi anche:
otThreadGetPskc

otThreadSetPskcRef

otError otThreadSetPskcRef(
  otInstance *aInstance,
  otPskcRef aKeyRef
)

Imposta il riferimento chiave sulla PSKc di Thread.

Richiede l'abilitazione della funzionalità in fase di build OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE.

L'operazione andrà a buon fine solo se i protocolli Thread sono disabilitati. Se l'operazione ha esito positivo, annullerà anche i set di dati operativi attivi e in attesa nella memoria non volatile.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aKeyRef
Riferimento chiave al nuovo PSKc Thread.
Valori restituiti
OT_ERROR_NONE
Impostazione della PSKc Thread.
OT_ERROR_INVALID_STATE
I protocolli Thread sono abilitati.
Vedi anche:
otThreadGetPskcRef

otThreadSetRouterDowngradeThreshold

void otThreadSetRouterDowngradeThreshold(
  otInstance *aInstance,
  uint8_t aThreshold
)

Imposta il parametro ROUTER_DOWNGRADE_THRESHOLD utilizzato nel ruolo Leader.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aThreshold
Il valore ROUTER_DOWNGRADE_THRESHOLD.
Vedi anche:
otThreadGetRouterDowngradeThreshold

otThreadSetRouterEligible

otError otThreadSetRouterEligible(
  otInstance *aInstance,
  bool aEligible
)

Consente di stabilire se il dispositivo è idoneo al router.

Se aEligible viene impostato su false e il dispositivo è attualmente in funzione come router, con questa chiamata il dispositivo si scollega e tenta di ricollegarsi come bambino.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aEligible
TRUE per configurare il dispositivo come idoneo al router, FALSE in caso contrario.
Valori restituiti
OT_ERROR_NONE
La configurazione idonea per il router è stata impostata.
OT_ERROR_NOT_CAPABLE
Il dispositivo non è in grado di diventare router.

otThreadSetRouterIdRange

otError otThreadSetRouterIdRange(
  otInstance *aInstance,
  uint8_t aMinRouterId,
  uint8_t aMaxRouterId
)

Imposta l'intervallo di ID router che è consentito assegnare ai nodi all'interno della rete Thread.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aMinRouterId
L'ID router minimo.
[in] aMaxRouterId
L'ID router massimo.
Valori restituiti
OT_ERROR_NONE
Intervallo impostato.
OT_ERROR_INVALID_ARGS
aMinRouterId > aMaxRouterId oppure l'intervallo non è coperto da [0, 62].
Vedi anche:
otThreadGetRouterIdRange

otThreadSetRouterSelectionJitter

void otThreadSetRouterSelectionJitter(
  otInstance *aInstance,
  uint8_t aRouterJitter
)

Imposta il parametro ROUTER_SELECTION_JITTER utilizzato nel ruolo REED/Router.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aRouterJitter
Il valore ROUTER_SELECTION_JITTER.
Vedi anche:
otThreadGetRouterSelectionJitter

otThreadSetRouterUpgradeThreshold

void otThreadSetRouterUpgradeThreshold(
  otInstance *aInstance,
  uint8_t aThreshold
)

Imposta il parametro ROUTER_UPGRADE_THRESHOLD utilizzato nel ruolo del leader.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aThreshold
Il valore ROUTER_UPGRADE_THRESHOLD.
Vedi anche:
otThreadGetRouterUpgradeThreshold

otThreadSetSteeringData

void otThreadSetSteeringData(
  otInstance *aInstance,
  const otExtAddress *aExtAddress
)

Imposta dati di sterzo fuori banda.

L'opzione di configurazione OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE deve essere impostata per consentire l'impostazione dei dati di sterzata fuori banda.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aExtAddress
Indirizzo utilizzato per aggiornare i dati sullo sterzo. Tutti gli zeri per cancellare i dati sullo sterzo (nessun dato sullo sterzo). Tutti gli 0xFF per impostare il filtro dati di governo/bloom in modo da accettare/consentire tutti. Un EUI64 specifico che viene poi aggiunto al filtro dati/fioritura del volante attuale.

otThreadSetThreadVersionCheckEnabled

void otThreadSetThreadVersionCheckEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Consente di impostare se la soglia di versione TLV del criterio di sicurezza per il routing (campo VR) è abilitata.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aEnabled
TRUE per abilitare la soglia di versione TLV del criterio di sicurezza per il routing, altrimenti FALSE.

Macro

OT_CHILD_IP6_ADDRESS_ITERATOR_INIT

 OT_CHILD_IP6_ADDRESS_ITERATOR_INIT 0

Inizializzatore per otChildIP6AddressIterator.

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.