Gestore canale

Questo modulo include funzioni per il gestore dei canali.

Riepilogo

Le funzioni in questo modulo sono disponibili quando è abilitata la funzionalità Gestore dei canali (OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE). 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 utilizza l'intervallo di tempo (in secondi) utilizzato dalla funzionalità di selezione automatica del canale.
otChannelManagerGetCcaFailureRateThreshold(otInstance *aInstance)
uint16_t
Questa funzione recupera la soglia di tasso di errore CCA.
otChannelManagerGetDelay(otInstance *aInstance)
uint16_t
Questa funzione ritarda il ritardo (in secondi) utilizzato da Gestione canali per il cambio di canale.
otChannelManagerGetFavoredChannels(otInstance *aInstance)
uint32_t
Questa funzione riceve 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
Questa funzione riceve la maschera di canale supportata.
otChannelManagerRequestChannelChange(otInstance *aInstance, uint8_t aChannel)
void
Questa funzione richiede una modifica del canale di rete Thread.
otChannelManagerRequestChannelSelect(otInstance *aInstance, bool aSkipQualityCheck)
Questa funzione richiede a ChannelManager di controllare e selezionare un nuovo canale e avviare una modifica del canale.
otChannelManagerSetAutoChannelSelectionEnabled(otInstance *aInstance, bool aEnabled)
void
Questa funzione abilita/disattiva la funzionalità di selezione automatica del canale.
otChannelManagerSetAutoChannelSelectionInterval(otInstance *aInstance, uint32_t aInterval)
Questa funzione imposta l'intervallo di tempo (in secondi) utilizzato dalla funzionalità di selezione automatica del canale.
otChannelManagerSetCcaFailureRateThreshold(otInstance *aInstance, uint16_t aThreshold)
void
Questa funzione imposta la soglia del tasso di errore CCA.
otChannelManagerSetDelay(otInstance *aInstance, uint16_t aDelay)
Questa funzione imposta il ritardo (in secondi) utilizzato per un cambio di canale.
otChannelManagerSetFavoredChannels(otInstance *aInstance, uint32_t aChannelMask)
void
Questa funzione imposta la maschera canale preferita.
otChannelManagerSetSupportedChannels(otInstance *aInstance, uint32_t aChannelMask)
void
Questa funzione 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 su un'istanza di OpenThread.
Restituisce
TRUE se abilitato, FALSE se disabilitato.

otChannelManagerGetAutoChannelSelectionInterval

uint32_t otChannelManagerGetAutoChannelSelectionInterval(
  otInstance *aInstance
)

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

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

otChannelManagerGetCcaFailureRateThreshold

uint16_t otChannelManagerGetCcaFailureRateThreshold(
  otInstance *aInstance
)

Questa funzione recupera la soglia di tasso di errore CCA.

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

otChannelManagerGetDelay

uint16_t otChannelManagerGetDelay(
  otInstance *aInstance
)

Questa funzione ritarda il ritardo (in secondi) utilizzato da Gestione canali per il cambio di canale.

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

otChannelManagerGetFavoredChannels

uint32_t otChannelManagerGetFavoredChannels(
  otInstance *aInstance
)

Questa funzione riceve la maschera del canale preferita.

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

otChannelManagerGetRequestChannel

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 state ancora inviate richieste di modifica del canale.

otChannelManagerGetSupportedChannels

uint32_t otChannelManagerGetSupportedChannels(
  otInstance *aInstance
)

Questa funzione riceve la maschera di canale supportata.

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

otChannelManagerRequestChannelChange

void otChannelManagerRequestChannelChange(
  otInstance *aInstance,
  uint8_t aChannel
)

Questa funzione richiede una modifica del 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 operativi in attesa.

Una chiamata successiva a questa funzione annullerà una modifica del canale richiesta in precedenza.

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

otChannelManagerRequestChannelSelect

otError otChannelManagerRequestChannelSelect(
  otInstance *aInstance,
  bool aSkipQualityCheck
)

Questa funzione richiede a ChannelManager di controllare e selezionare un nuovo canale e avviare una modifica del canale.

A differenza di otChannelManagerRequestChannelChange(), in cui il canale deve essere indicato come parametro, questa funzione chiede a ChannelManager di selezionare un canale in sé (sulla base di informazioni raccolte sulla qualità del canale).

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

1) ChannelManager decide se la modifica al canale è utile. È possibile ignorare il controllo se il criterio aSkipQualityCheck è impostato su true (forzando la selezione di un canale) e saltando il controllo qualità. Questo passaggio utilizza le metriche raccolte sulla qualità dei link sul dispositivo (come il tasso di errore CCA, i frame e la percentuale di errori del messaggio per il canale vicino, ecc.) per determinare se la qualità attuale del canale è al livello che giustifica il cambiamento di un canale.

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

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

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

otChannelManagerSetAutoChannelSelectionEnabled

void otChannelManagerSetAutoChannelSelectionEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Questa funzione abilita/disattiva la funzionalità di selezione automatica del canale.

Se l'opzione è abilitata, ChannelManager richiama periodicamente un RequestChannelSelect(false). L'intervallo del periodo può essere impostato da SetAutoChannelSelectionInterval().

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

otChannelManagerSetAutoChannelSelectionInterval

otError otChannelManagerSetAutoChannelSelectionInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

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

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

otChannelManagerSetCcaFailureRateThreshold

void otChannelManagerSetCcaFailureRateThreshold(
  otInstance *aInstance,
  uint16_t aThreshold
)

Questa funzione imposta la soglia del tasso di errore CCA.

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

otChannelManagerSetDelay

otError otChannelManagerSetDelay(
  otInstance *aInstance,
  uint16_t aDelay
)

Questa funzione 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 end-end all'interno della rete Thread.

Dettagli
Parametri
[in] aInstance
Un puntatore su un'istanza di OpenThread.
[in] aDelay
Ritardo in secondi.
Valori di ritorno
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
)

Questa funzione imposta la maschera canale preferita.

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

otChannelManagerSetSupportedChannels

void otChannelManagerSetSupportedChannels(
  otInstance *aInstance,
  uint32_t aChannelMask
)

Questa funzione imposta la maschera del canale supportata.

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

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.