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 |
|
||
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 |
|
||
Restituisce |
L'intervallo in secondi.
|
otChannelManagerGetCcaFailureRateThreshold
uint16_t otChannelManagerGetCcaFailureRateThreshold( otInstance *aInstance )
Questa funzione recupera la soglia di tasso di errore CCA.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
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 |
|
||
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 |
|
||
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 |
|
||
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 |
|
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 |
|
||||
Valori di ritorno |
|
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 |
|
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 |
|
||||
Valori di ritorno |
|
otChannelManagerSetCcaFailureRateThreshold
void otChannelManagerSetCcaFailureRateThreshold( otInstance *aInstance, uint16_t aThreshold )
Questa funzione imposta la soglia del tasso di errore CCA.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
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 |
|
||||
Valori di ritorno |
|
otChannelManagerSetFavoredChannels
void otChannelManagerSetFavoredChannels( otInstance *aInstance, uint32_t aChannelMask )
Questa funzione imposta la maschera canale preferita.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
otChannelManagerSetSupportedChannels
void otChannelManagerSetSupportedChannels( otInstance *aInstance, uint32_t aChannelMask )
Questa funzione 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 ulteriori informazioni o per contribuire alla nostra documentazione, consulta la sezione Risorse.