Gestore canale
Questo modulo include funzioni per il gestore dei canali.
Riepilogo
Le funzioni in questo modulo sono disponibili quando la funzionalità Gestore canali (OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE
) è abilitata. Channel Manager è disponibile solo su una build FTD.
Funzioni |
|
---|---|
otChannelManagerGetAutoChannelSelectionEnabled(otInstance *aInstance)
|
bool
Indica se la funzionalità di selezione automatica del canale è abilitata.
|
otChannelManagerGetAutoChannelSelectionInterval(otInstance *aInstance)
|
uint32_t
Visualizza l'intervallo di tempo (in secondi) utilizzato dalla funzionalità di selezione automatica del canale.
|
otChannelManagerGetCcaFailureRateThreshold(otInstance *aInstance)
|
uint16_t
Visualizza la soglia del tasso di errore CCA.
|
otChannelManagerGetDelay(otInstance *aInstance)
|
uint16_t
Visualizza il ritardo (in secondi) utilizzato dal gestore del canale per la modifica del canale.
|
otChannelManagerGetFavoredChannels(otInstance *aInstance)
|
uint32_t
Visualizza la maschera del canale preferita.
|
otChannelManagerGetRequestedChannel(otInstance *aInstance)
|
uint8_t
Indirizza 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
Richiedi la modifica di un canale di rete Thread.
|
otChannelManagerRequestChannelSelect(otInstance *aInstance, bool aSkipQualityCheck)
|
Richieste che
ChannelManager controlla e seleziona un nuovo canale e avvia una modifica del 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 una modifica del 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.
|
Funzioni
otChannelManagerGetAutoChannelSelectionEnabled
bool otChannelManagerGetAutoChannelSelectionEnabled( otInstance *aInstance )
Indica se la funzionalità di selezione automatica del canale è abilitata.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
TRUE se è attivata, FALSE se disattivata.
|
OtChannelManagerGetAutoChannelSelectionInterval
uint32_t otChannelManagerGetAutoChannelSelectionInterval( otInstance *aInstance )
Visualizza l'intervallo di tempo (in secondi) utilizzato dalla funzionalità di selezione automatica del canale.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
L'intervallo in secondi.
|
otChannelManagerGetCcaFailureRateThreshold
uint16_t otChannelManagerGetCcaFailureRateThreshold( otInstance *aInstance )
Visualizza la soglia del tasso di errore CCA.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
La soglia di tasso di errore CCA. Il valore 0 corrisponde a 0% e 0xffff viene mappato al 100%.
|
OtChannelManagerGetDelay
uint16_t otChannelManagerGetDelay( otInstance *aInstance )
Visualizza il ritardo (in secondi) utilizzato dal gestore del canale per la modifica del canale.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Il ritardo (in secondi) della modifica del canale.
|
Canale OtChannelGetFavoredChannels
uint32_t otChannelManagerGetFavoredChannels( otInstance *aInstance )
Visualizza la maschera del canale preferita.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
I canali preferiti come maschera.
|
otChannelManagerGetRequestChannel
uint8_t otChannelManagerGetRequestedChannel( otInstance *aInstance )
Indirizza il canale dall'ultima chiamata riuscita a otChannelManagerRequestChannelChange()
Dettagli | |
---|---|
Restituisce |
L'ultimo canale richiesto o zero se non è stata ancora inviata alcuna richiesta di modifica del canale.
|
otChannelManagerGetSupportatoChannels
uint32_t otChannelManagerGetSupportedChannels( otInstance *aInstance )
Visualizza la maschera del canale supportata.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
I canali supportati come maschera.
|
otChannelManagerRequestChannelChange
void otChannelManagerRequestChannelChange( otInstance *aInstance, uint8_t aChannel )
Richiedi la modifica di un canale di rete Thread.
La rete passa al canale specificato dopo un determinato ritardo (vedi otChannelManagerSetDelay()). La modifica del canale viene eseguita aggiornando il set di dati operativo in attesa.
Una chiamata successiva comporterà l'annullamento di una modifica del canale richiesta in precedenza.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
otChannelManagerRequestChannelSelect
otError otChannelManagerRequestChannelSelect( otInstance *aInstance, bool aSkipQualityCheck )
Richieste che ChannelManager
controlla e seleziona un nuovo canale e avvia una modifica del canale.
A differenza di otChannelManagerRequestChannelChange()
, dove il canale deve essere assegnato come parametro, questa funzione chiede a ChannelManager
di selezionare un canale da solo (in base alle informazioni sulla qualità del canale raccolte).
Una volta chiamato, il Gestore canale eseguirà i seguenti tre passaggi:
1) ChannelManager
decide se la modifica al canale è utile. Questo controllo può essere ignorato se il criterio aSkipQualityCheck
è impostato su true (forzando la selezione di un canale e ignorando il controllo qualità). Questo passaggio utilizza le metriche relative alla qualità dei link raccolte sul dispositivo (ad esempio, tasso di errore CCA, tasso di errore relativi a frame e messaggi per il vicino e così via) per determinare se la qualità corrente del canale è al livello che giustifica un cambiamento del canale.
2) Se il primo passaggio ha esito positivo, ChannelManager
seleziona un canale potenzialmente migliore. Utilizza i dati sulla qualità del canale raccolti per modulo ChannelMonitor
. In questo passaggio vengono utilizzati i canali preferiti e supportati. (vedi otChannelManagerSetsupportedChannels() e otChannelManagerSetFavoredChannels()).
3) Se il canale appena selezionato è diverso da quello attuale, ChannelManager
richiede/avvia la procedura di modifica del canale (chiamando internamente un RequestChannelChange()
).
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otChannelManagerSetAutoChannelSelectionEnabled
void otChannelManagerSetAutoChannelSelectionEnabled( otInstance *aInstance, bool aEnabled )
Attiva o disattiva la funzionalità di selezione automatica del canale.
Se viene attivato, ChannelManager
richiama periodicamente un RequestChannelSelect(false)
. L'intervallo del ciclo può essere impostato da SetAutoChannelSelectionInterval()
.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
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 |
|
||||
Valori restituiti |
|
otChannelManagerSetCcaFailureRateThreshold
void otChannelManagerSetCcaFailureRateThreshold( otInstance *aInstance, uint16_t aThreshold )
Imposta la soglia del tasso di errore CCA.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
OtChannelManagerSetDelay
otError otChannelManagerSetDelay( otInstance *aInstance, uint16_t aDelay )
Imposta il ritardo (in secondi) utilizzato per una modifica del canale.
Il ritardo dovrebbe essere preferibilmente maggiore dell'intervallo massimo di sondaggi dati utilizzato da tutti i dispositivi di sonno all'interno della rete Thread.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otChannelManagerSetFavoredChannels
void otChannelManagerSetFavoredChannels( otInstance *aInstance, uint32_t aChannelMask )
Imposta la maschera del canale preferita.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
otChannelManagerSetsupportedChannels
void otChannelManagerSetSupportedChannels( otInstance *aInstance, uint32_t aChannelMask )
Imposta la maschera del canale supportata.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
Risorse
Gli argomenti di riferimento per l'API OpenThread provengono dal codice sorgente, disponibile su GitHub. Per maggiori informazioni o per contribuire alla nostra documentazione, consulta Risorse.