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

Gestore canale

Questo modulo include funzioni per il gestore del canale.

Riepilogo

Le funzioni di questo modulo sono disponibili quando la funzionalità Channel Manager (OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE) è abilitata. Channel Manager è disponibile solo su una build FTD.

Functions

otChannelManagerGetAutoChannelSelectionEnabled(otInstance *aInstance)
bool
Questa funzione indica se la funzionalità di selezione automatica del canale è abilitata.
otChannelManagerGetAutoChannelSelectionInterval(otInstance *aInstance)
uint32_t
Questa funzione riceve l'intervallo di tempo (in secondi) utilizzato dalla funzionalità di selezione automatica del canale.
otChannelManagerGetCcaFailureRateThreshold(otInstance *aInstance)
uint16_t
Visualizza la soglia di tasso di errore CCA.
otChannelManagerGetDelay(otInstance *aInstance)
uint16_t
Questa funzione riceve il ritardo (in secondi) utilizzato da Gestione canali per la modifica del canale.
otChannelManagerGetFavoredChannels(otInstance *aInstance)
uint32_t
Visualizza la maschera del canale preferita.
otChannelManagerGetRequestedChannel(otInstance *aInstance)
uint8_t
Questa funzione recupera il canale dall'ultima chiamata riuscita a otChannelManagerRequestChannelChange()
otChannelManagerGetSupportedChannels(otInstance *aInstance)
uint32_t
Visualizza la maschera del canale supportata.
otChannelManagerRequestChannelChange(otInstance *aInstance, uint8_t aChannel)
void
Richiede la modifica di un canale di rete Thread.
otChannelManagerRequestChannelSelect(otInstance *aInstance, bool aSkipQualityCheck)
Questa funzione richiede che ChannelManager verifichi e selezioni un nuovo canale e avvii il cambio di canale.
otChannelManagerSetAutoChannelSelectionEnabled(otInstance *aInstance, bool aEnabled)
void
Attiva o disattiva la funzionalità di selezione automatica del canale.
otChannelManagerSetAutoChannelSelectionInterval(otInstance *aInstance, uint32_t aInterval)
Imposta l'intervallo di tempo (in secondi) utilizzato dalla funzionalità di selezione automatica del canale.
otChannelManagerSetCcaFailureRateThreshold(otInstance *aInstance, uint16_t aThreshold)
void
Imposta la soglia del tasso di errore CCA.
otChannelManagerSetDelay(otInstance *aInstance, uint16_t aDelay)
Imposta il ritardo (in secondi) utilizzato per un cambio di canale.
otChannelManagerSetFavoredChannels(otInstance *aInstance, uint32_t aChannelMask)
void
Imposta la maschera del canale preferita.
otChannelManagerSetSupportedChannels(otInstance *aInstance, uint32_t aChannelMask)
void
Imposta la maschera del canale supportata.

Functions

otChannelManagerGetAutoChannelSelectionEnabled

bool otChannelManagerGetAutoChannelSelectionEnabled(
  otInstance *aInstance
)

Questa funzione indica se la funzionalità di selezione automatica del canale è abilitata.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Restituisce
TRUE se abilitato, FALSE se disabilitato.

otChannelManagerGetAutoChannelSelectionInterval

uint32_t otChannelManagerGetAutoChannelSelectionInterval(
  otInstance *aInstance
)

Questa funzione riceve l'intervallo di tempo (in secondi) utilizzato dalla funzionalità di selezione automatica del canale.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Restituisce
L'intervallo in secondi.

otChannelManagerGetCcaFailureRateThreshold

uint16_t otChannelManagerGetCcaFailureRateThreshold(
  otInstance *aInstance
)

Visualizza la soglia di tasso di errore CCA.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Restituisce
La soglia del tasso di errore CCA. Il valore 0 associa lo 0% e lo 0xffff al 100%.

otChannelManagerGetDelay

uint16_t otChannelManagerGetDelay(
  otInstance *aInstance
)

Questa funzione riceve il ritardo (in secondi) utilizzato da Gestione canali per la modifica del canale.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Restituisce
Il ritardo (in secondi) della modifica del canale.

otChannelManagerGetFavoredChannels

uint32_t otChannelManagerGetFavoredChannels(
  otInstance *aInstance
)

Visualizza la maschera del canale preferita.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Restituisce
I canali preferiti sotto forma di maschera.

otChannelManagerGetRequestedChannel

uint8_t otChannelManagerGetRequestedChannel(
  otInstance *aInstance
)

Questa funzione recupera il canale dall'ultima chiamata riuscita a otChannelManagerRequestChannelChange()

Dettagli
Restituisce
L'ultimo canale richiesto o zero se non sono ancora state registrate richieste di modifica del canale.

otChannelManagerGetSupportedChannels

uint32_t otChannelManagerGetSupportedChannels(
  otInstance *aInstance
)

Visualizza la maschera del canale supportata.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Restituisce
I canali supportati come maschera di bit.

otChannelManagerRequestChannelChange

void otChannelManagerRequestChannelChange(
  otInstance *aInstance,
  uint8_t aChannel
)

Richiede la modifica di un canale di rete Thread.

La rete passa al canale specificato dopo un ritardo specificato (vedi otChannelManagerSetDelay()). La modifica del canale viene eseguita aggiornando il set di dati operativo in attesa.

Una chiamata successiva annullerà una modifica del canale già richiesta.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aChannel
Il nuovo canale per la rete Thread.

otChannelManagerRequestChannelSelect

otError otChannelManagerRequestChannelSelect(
  otInstance *aInstance,
  bool aSkipQualityCheck
)

Questa funzione richiede che ChannelManager verifichi e selezioni un nuovo canale e avvii il cambio di canale.

A differenza di otChannelManagerRequestChannelChange() in cui il canale deve essere assegnato come parametro, questa funzione chiede al parametro ChannelManager di selezionare un canale da solo (in base alle informazioni raccolte sulla qualità del canale).

Una volta chiamato, il gestore del canale eseguirà i seguenti tre passaggi:

1) ChannelManager decide se la modifica al canale può essere utile. È possibile saltare questo controllo se il criterio aSkipQualityCheck è impostato su true (forzando che venga effettuata una selezione del canale e saltando il controllo qualità). In questo passaggio vengono utilizzate le metriche sulla qualità dei link raccolte sul dispositivo (ad esempio la percentuale di errori CCA, il tasso di errore relativo a frame e messaggi per il vicino e così via) per determinare se la qualità attuale del canale è al livello che giustifica il cambio di canale.

2) Se il primo passaggio ha esito positivo, ChannelManager seleziona un canale potenzialmente migliore. Utilizza i dati raccolti sulla qualità dei canali in base al modulo ChannelMonitor. In questo passaggio vengono utilizzati i canali supportati e preferiti. (Vedi otChannelManagerSetSupportedChannels() e otChannelManagerSetFavoredChannels()).

3) Se il canale appena selezionato è diverso da quello corrente, ChannelManager richiede/avvia la procedura di modifica del canale (chiamando internamente un RequestChannelChange()).

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aSkipQualityCheck
Indica se il controllo qualità (passaggio 1) deve essere saltato.
Valori restituiti
OT_ERROR_NONE
Selezione del canale completata.
OT_ERROR_NOT_FOUND
La maschera del canale supportata è vuota, pertanto non è possibile selezionare un canale.

otChannelManagerSetAutoChannelSelectionEnabled

void otChannelManagerSetAutoChannelSelectionEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Attiva o disattiva la funzionalità di selezione automatica del canale.

Se viene attivata, ChannelManager richiama periodicamente un RequestChannelSelect(false). L'intervallo ciclo può essere impostato da SetAutoChannelSelectionInterval().

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aEnabled
Indica se attivare o disattivare questa funzionalità.

otChannelManagerSetAutoChannelSelectionInterval

otError otChannelManagerSetAutoChannelSelectionInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

Imposta l'intervallo di tempo (in secondi) utilizzato dalla funzionalità di selezione automatica del canale.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aInterval
L'intervallo in secondi.
Valori restituiti
OT_ERROR_NONE
Intervallo impostato correttamente.
OT_ERROR_INVALID_ARGS
aInterval non è valido (zero).

otChannelManagerSetCcaFailureRateThreshold

void otChannelManagerSetCcaFailureRateThreshold(
  otInstance *aInstance,
  uint16_t aThreshold
)

Imposta la soglia del tasso di errore CCA.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aThreshold
Una soglia di tasso di errore CCA. Il valore 0 associa lo 0% e lo 0xffff al 100%.

otChannelManagerSetDelay

otError otChannelManagerSetDelay(
  otInstance *aInstance,
  uint16_t aDelay
)

Imposta il ritardo (in secondi) utilizzato per un cambio di canale.

Il ritardo dovrebbe essere preferibilmente maggiore dell'intervallo massimo di sondaggi dati utilizzato da tutti i dispositivi di sospensione nella rete Thread.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aDelay
Ritardo in secondi.
Valori restituiti
OT_ERROR_NONE
Il ritardo è stato aggiornato.
OT_ERROR_INVALID_ARGS
Il ritardo specificato aDelay è troppo breve.

otChannelManagerSetFavoredChannels

void otChannelManagerSetFavoredChannels(
  otInstance *aInstance,
  uint32_t aChannelMask
)

Imposta la maschera del canale preferita.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aChannelMask
Una maschera del canale.

otChannelManagerSetSupportatoCanali

void otChannelManagerSetSupportedChannels(
  otInstance *aInstance,
  uint32_t aChannelMask
)

Imposta la maschera del canale supportata.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aChannelMask
Una maschera del canale.

Risorse

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