Monitoraggio del canale
Questo modulo include funzioni per la funzione di monitoraggio del canale.
Sommario
Le funzioni in questo modulo sono disponibili quando la funzione di monitoraggio del canale ( OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE
) è abilitata.
Il monitoraggio dei canali monitorerà periodicamente tutti i canali per aiutare a determinare i canali più puliti (canali con meno interferenze).
Quando il monitoraggio del canale è attivo, viene eseguita una scansione energetica di durata zero, raccogliendo un singolo campione RSSI su ogni canale per intervallo di campionamento. I campioni RSSI vengono confrontati con una soglia RSSI pre-specificata. Come indicatore della qualità del canale, il modulo di monitoraggio del canale mantiene e fornisce il tasso / percentuale medio di campioni RSSI che sono al di sopra della soglia entro (approssimativamente) una finestra di campionamento specificata (indicata come occupazione del canale).
Funzioni | |
---|---|
otChannelMonitorGetChannelOccupancy ( otInstance *aInstance, uint8_t aChannel) | uint16_t Ottiene l'occupazione del canale corrente per un determinato canale. |
otChannelMonitorGetRssiThreshold ( otInstance *aInstance) | int8_t Ottieni la soglia RSSI di monitoraggio del canale in dBm. |
otChannelMonitorGetSampleCount ( otInstance *aInstance) | uint32_t Ottieni il monitoraggio del canale del numero totale di campioni RSSI (per canale). |
otChannelMonitorGetSampleInterval ( otInstance *aInstance) | uint32_t Ottieni l'intervallo di campionamento del monitoraggio del canale in millisecondi. |
otChannelMonitorGetSampleWindow ( otInstance *aInstance) | uint32_t Ottieni la lunghezza media della finestra campione di monitoraggio del canale (numero di campioni). |
otChannelMonitorIsEnabled ( otInstance *aInstance) | bool Questa funzione indica se l'operazione di monitoraggio del canale è abilitata e in esecuzione. |
otChannelMonitorSetEnabled ( otInstance *aInstance, bool aEnabled) | Questa funzione abilita / disabilita l'operazione di monitoraggio del canale. |
Funzioni
otChannelMonitorGetChannelOccupancy
uint16_t otChannelMonitorGetChannelOccupancy( otInstance *aInstance, uint8_t aChannel )
Ottiene l'occupazione del canale corrente per un determinato canale.
Il valore di occupazione del canale rappresenta il tasso / percentuale medio di campioni RSSI che erano al di sopra della soglia RSSI (campioni RSSI "cattivi").
Per i primi campioni "finestra campione", la media viene mantenuta come percentuale effettiva (ovvero, rapporto tra il numero di campioni "cattivi" e il numero totale di campioni). Dopo i campioni "finestra", la media utilizza una media mobile ponderata esponenzialmente. In pratica, questo significa che la media è rappresentativa fino a 3 * window
ultimi campioni 3 * window
con il peso più alto dato agli ultimi campioni kSampleWindow
.
Il valore massimo di 0xffff
indica che tutti i campioni RSSI erano al di sopra della soglia RSSI (ovvero il 100% dei campioni era "cattivo").
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
| ||||
ritorna | L'occupazione del canale corrente per il canale specificato. |
otChannelMonitorGetRssiThreshold
int8_t otChannelMonitorGetRssiThreshold( otInstance *aInstance )
Ottieni la soglia RSSI di monitoraggio del canale in dBm.
Dettagli | |||
---|---|---|---|
Parametri |
| ||
ritorna | La soglia RSSI in dBm. |
otChannelMonitorGetSampleCount
uint32_t otChannelMonitorGetSampleCount( otInstance *aInstance )
Ottieni il monitoraggio del canale del numero totale di campioni RSSI (per canale).
Il conteggio indica il numero totale di campioni per canale in base al modulo di monitoraggio del canale dal suo avvio (poiché l'interfaccia di rete Thread era abilitata).
Dettagli | |||
---|---|---|---|
Parametri |
| ||
ritorna | Numero totale di campioni RSSI (per canale) presi finora. |
otChannelMonitorGetSampleInterval
uint32_t otChannelMonitorGetSampleInterval( otInstance *aInstance )
Ottieni l'intervallo di campionamento del monitoraggio del canale in millisecondi.
Dettagli | |||
---|---|---|---|
Parametri |
| ||
ritorna | L'intervallo di campionamento del monitoraggio del canale in millisecondi. |
otChannelMonitorGetSampleWindow
uint32_t otChannelMonitorGetSampleWindow( otInstance *aInstance )
Ottieni la lunghezza media della finestra campione di monitoraggio del canale (numero di campioni).
Dettagli | |||
---|---|---|---|
Parametri |
| ||
ritorna | La finestra del campione medio. |
otChannelMonitorIsEnabled
bool otChannelMonitorIsEnabled( otInstance *aInstance )
Questa funzione indica se l'operazione di monitoraggio del canale è abilitata e in esecuzione.
Dettagli | |||
---|---|---|---|
Parametri |
| ||
ritorna | TRUE se l'operazione di monitoraggio del canale è abilitata, FALSE in caso contrario. |
otChannelMonitorSetEnabled
otError otChannelMonitorSetEnabled( otInstance *aInstance, bool aEnabled )
Questa funzione abilita / disabilita l'operazione di monitoraggio del canale.
Una volta avviata l'operazione, tutti i dati raccolti in precedenza vengono cancellati. Tuttavia, dopo che l'operazione è stata disabilitata, i dati raccolti in precedenza sono ancora validi e possono essere letti.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
| ||||
Valori restituiti |
|