Funzionamento radio
Questo modulo include l'astrazione della piattaforma per le operazioni radio.
Riepilogo
Functions |
|
---|---|
otPlatDiagRadioReceiveDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
|
void
Il driver della radio chiama questo metodo per inviare una notifica al modulo di diagnostica OpenThread relativo a un frame ricevuto.
|
otPlatDiagRadioTransmitDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
|
void
Il driver radio contatta questo metodo per comunicare al modulo diagnostico OpenThread che la trasmissione è stata completata.
|
otPlatRadioAddSrcMatchExtEntry(otInstance *aInstance, const otExtAddress *aExtAddress)
|
Aggiungi un indirizzo esteso alla tabella delle corrispondenze degli indirizzi di origine.
|
otPlatRadioAddSrcMatchShortEntry(otInstance *aInstance, otShortAddress aShortAddress)
|
Aggiungi un indirizzo breve alla tabella delle corrispondenze dell'indirizzo di origine.
|
otPlatRadioClearSrcMatchExtEntries(otInstance *aInstance)
|
void
Cancella tutti gli indirizzi estesi/lungi dalla tabella delle corrispondenze degli indirizzi di origine.
|
otPlatRadioClearSrcMatchExtEntry(otInstance *aInstance, const otExtAddress *aExtAddress)
|
Rimuovi un indirizzo esteso dalla tabella delle corrispondenze dell'indirizzo di origine.
|
otPlatRadioClearSrcMatchShortEntries(otInstance *aInstance)
|
void
Cancella tutti gli indirizzi brevi dalla tabella delle corrispondenze degli indirizzi di origine.
|
otPlatRadioClearSrcMatchShortEntry(otInstance *aInstance, otShortAddress aShortAddress)
|
Rimuovi un indirizzo breve dalla tabella delle corrispondenze dell'indirizzo di origine.
|
otPlatRadioConfigureEnhAckProbing(otInstance *aInstance, otLinkMetrics aLinkMetrics, otShortAddress aShortAddress, const otExtAddress *aExtAddress)
|
Attiva/disattiva o aggiorna il probe basato su ACK avanzato in radio per un iniziatore specifico.
|
otPlatRadioDisable(otInstance *aInstance)
|
Disattiva la radio.
|
otPlatRadioEnable(otInstance *aInstance)
|
Attiva la radio.
|
otPlatRadioEnableCsl(otInstance *aInstance, uint32_t aCslPeriod, otShortAddress aShortAddr, const otExtAddress *aExtAddr)
|
Attiva o disattiva il ricevitore CSL.
|
otPlatRadioEnableSrcMatch(otInstance *aInstance, bool aEnable)
|
void
Attiva/disattiva la corrispondenza di indirizzi di origine.
|
otPlatRadioEnergyScan(otInstance *aInstance, uint8_t aScanChannel, uint16_t aScanDuration)
|
Avvia la sequenza di scansione energetica della radio.
|
otPlatRadioEnergyScanDone(otInstance *aInstance, int8_t aEnergyScanMaxRssi)
|
void
Il driver della radio chiama questo metodo per comunicare a OpenThread che la scansione energetica è stata completata.
|
otPlatRadioGetCoexMetrics(otInstance *aInstance, otRadioCoexMetrics *aCoexMetrics)
|
Recupera le metriche di coesistenza della radio.
|
otPlatRadioGetCslAccuracy(otInstance *aInstance)
|
uint8_t
Ottieni la precisione corrente, in unità di ± ppm, dell'orologio utilizzato per pianificare le operazioni CSL.
|
otPlatRadioGetCslUncertainty(otInstance *aInstance)
|
uint8_t
L'incertezza fissa del Dispositivo per la pianificazione delle Trasmissioni CSL in unità di 10 microsecondi.
|
otPlatRadioGetPreferredChannelMask(otInstance *aInstance)
|
uint32_t
Acquista la maschera del canale radio preferita su cui il dispositivo preferisce formare.
|
otPlatRadioGetRegion(otInstance *aInstance, uint16_t *aRegionCode)
|
Recupera il codice regione.
|
otPlatRadioGetRssi(otInstance *aInstance)
|
int8_t
Recupera la misurazione RSSI più recente.
|
otPlatRadioGetState(otInstance *aInstance)
|
Sapere lo stato attuale della radio.
|
otPlatRadioGetSupportedChannelMask(otInstance *aInstance)
|
uint32_t
Procurati la maschera del canale radio supportata da cui è consentito l'accensione del dispositivo.
|
otPlatRadioGetTransmitBuffer(otInstance *aInstance)
|
Ottieni il buffer di trasmissione radio.
|
otPlatRadioIsCoexEnabled(otInstance *aInstance)
|
bool
Controlla se il coex è attivato o meno.
|
otPlatRadioIsEnabled(otInstance *aInstance)
|
bool
Controlla se la radio è attiva o meno.
|
otPlatRadioReceive(otInstance *aInstance, uint8_t aChannel)
|
Attiva la transizione dalla modalità di sospensione a quella di ricezione.
|
otPlatRadioReceiveAt(otInstance *aInstance, uint8_t aChannel, uint32_t aStart, uint32_t aDuration)
|
Programmare una finestra di ricezione radio per un'ora e una durata specifiche.
|
otPlatRadioReceiveDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
|
void
Il driver radio contatta questo metodo per informare OpenThread di un frame ricevuto.
|
otPlatRadioSetChannelMaxTransmitPower(otInstance *aInstance, uint8_t aChannel, int8_t aMaxPower)
|
Impostare la potenza massima di trasmissione per un determinato canale.
|
otPlatRadioSetCoexEnabled(otInstance *aInstance, bool aEnabled)
|
Attiva il coex radio.
|
otPlatRadioSetRegion(otInstance *aInstance, uint16_t aRegionCode)
|
Imposta il codice regione.
|
otPlatRadioSleep(otInstance *aInstance)
|
Trasmettere la radio da Ricevi a Sonno (spegni la radio).
|
otPlatRadioTransmit(otInstance *aInstance, otRadioFrame *aFrame)
|
Avvia la sequenza di trasmissione sulla radio.
|
otPlatRadioTxDone(otInstance *aInstance, otRadioFrame *aFrame, otRadioFrame *aAckFrame, otError aError)
|
void
Il driver della radio chiama questa funzione per informare OpenThread che l'operazione di trasmissione è stata completata, fornendo sia il frame trasmesso sia, se applicabile, il frame dell'ac ricevuto.
|
otPlatRadioTxStarted(otInstance *aInstance, otRadioFrame *aFrame)
|
void
Il driver radio contatta questo metodo per comunicare a OpenThread che la trasmissione è iniziata.
|
otPlatRadioUpdateCslSampleTime(otInstance *aInstance, uint32_t aCslSampleTime)
|
void
Aggiorna tempo di campionamento CSL nel driver radio.
|
Functions
otPlatDiagRadioReceiveDone
void otPlatDiagRadioReceiveDone( otInstance *aInstance, otRadioFrame *aFrame, otError aError )
Il driver della radio chiama questo metodo per inviare una notifica al modulo di diagnostica OpenThread relativo a un frame ricevuto.
Questa funzione viene utilizzata quando è attiva la diagnostica.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
otPlatDiagRadioTransmitDone
void otPlatDiagRadioTransmitDone( otInstance *aInstance, otRadioFrame *aFrame, otError aError )
Il driver radio contatta questo metodo per comunicare al modulo diagnostico OpenThread che la trasmissione è stata completata.
Questa funzione viene utilizzata quando è attiva la diagnostica.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
otPlatRadioAddSrcMatchExtEntry
otError otPlatRadioAddSrcMatchExtEntry( otInstance *aInstance, const otExtAddress *aExtAddress )
Aggiungi un indirizzo esteso alla tabella delle corrispondenze degli indirizzi di origine.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori di ritorno |
|
otPlatRadioAddSrcMatchShortEntry
otError otPlatRadioAddSrcMatchShortEntry( otInstance *aInstance, otShortAddress aShortAddress )
Aggiungi un indirizzo breve alla tabella delle corrispondenze dell'indirizzo di origine.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori di ritorno |
|
otPlatRadioClearSrcMatchExtEntries
void otPlatRadioClearSrcMatchExtEntries( otInstance *aInstance )
Cancella tutti gli indirizzi estesi/lungi dalla tabella delle corrispondenze degli indirizzi di origine.
Dettagli | |||
---|---|---|---|
Parametri |
|
otPlatRadioClearSrcMatchExtEntry
otError otPlatRadioClearSrcMatchExtEntry( otInstance *aInstance, const otExtAddress *aExtAddress )
Rimuovi un indirizzo esteso dalla tabella delle corrispondenze dell'indirizzo di origine.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori di ritorno |
|
otPlatRadioClearSrcMatchShortEntries
void otPlatRadioClearSrcMatchShortEntries( otInstance *aInstance )
Cancella tutti gli indirizzi brevi dalla tabella delle corrispondenze degli indirizzi di origine.
Dettagli | |||
---|---|---|---|
Parametri |
|
otPlatRadioClearSrcMatchShortEntry
otError otPlatRadioClearSrcMatchShortEntry( otInstance *aInstance, otShortAddress aShortAddress )
Rimuovi un indirizzo breve dalla tabella delle corrispondenze dell'indirizzo di origine.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori di ritorno |
|
otPlatRadioConfigureEnhAckProbing
otError otPlatRadioConfigureEnhAckProbing( otInstance *aInstance, otLinkMetrics aLinkMetrics, otShortAddress aShortAddress, const otExtAddress *aExtAddress )
Attiva/disattiva o aggiorna il probe basato su ACK avanzato in radio per un iniziatore specifico.
Dopo che il probe basato su ACK avanzato è stato configurato da un iniziatore del probing specifico, il ACK avanzato inviato a tale nodo deve includere IE specifico del fornitore contenente i dati delle metriche del link. Questo metodo indica alla radio di iniziare/interrompere la raccolta dei dati delle metriche dei link e includere IE specifico del fornitore contenente i dati in Enhanced-ACK inviati all'iniziatore di Probing.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||
Valori di ritorno |
|
OtPlatRadioDisable
otError otPlatRadioDisable( otInstance *aInstance )
Disattiva la radio.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori di ritorno |
|
otPlatRadioEnable
otError otPlatRadioEnable( otInstance *aInstance )
Attiva la radio.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori di ritorno |
|
otPlatRadioEnableCsl
otError otPlatRadioEnableCsl( otInstance *aInstance, uint32_t aCslPeriod, otShortAddress aShortAddr, const otExtAddress *aExtAddr )
Attiva o disattiva il ricevitore CSL.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||
Valori di ritorno |
|
otPlatRadioEnableSrcMatch
void otPlatRadioEnableSrcMatch( otInstance *aInstance, bool aEnable )
Attiva/disattiva la corrispondenza di indirizzi di origine.
La funzionalità di corrispondenza dell'indirizzo di origine controlla in che modo il livello radio decide il bit "in attesa" per gli attacchi inviati in risposta a comandi di richiesta dati da bambini e ragazzi.
Se disabilitato, il livello radio deve impostare il frame "in attesa" su tutti i comandi per i comandi di richiesta dati.
Se l'opzione è abilitata, il livello radio utilizza la tabella delle corrispondenze dell'indirizzo di origine per determinare se impostare o cancellare il bit "frame pending" in un attacco a un comando di richiesta di dati.
La tabella delle corrispondenze dell'indirizzo di origine fornisce un elenco di elementi secondari per i quali è presente un frame in attesa. Alla tabella delle corrispondenze dell'indirizzo di origine può essere aggiunto un indirizzo breve o un indirizzo esteso/lungo.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
otPlatRadioEnergyScan
otError otPlatRadioEnergyScan( otInstance *aInstance, uint8_t aScanChannel, uint16_t aScanDuration )
Avvia la sequenza di scansione energetica della radio.
Questa funzione viene utilizzata quando la radio fornisce una funzionalità OT_RADIO_CAPS_ENERGY_SCAN.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori di ritorno |
|
otPlatRadioEnergyScanDone
void otPlatRadioEnergyScanDone( otInstance *aInstance, int8_t aEnergyScanMaxRssi )
Il driver della radio chiama questo metodo per comunicare a OpenThread che la scansione energetica è stata completata.
Questa funzione viene utilizzata quando la radio fornisce una funzionalità OT_RADIO_CAPS_ENERGY_SCAN.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
otPlatRadioGetCoexMetrics
otError otPlatRadioGetCoexMetrics( otInstance *aInstance, otRadioCoexMetrics *aCoexMetrics )
Recupera le metriche di coesistenza della radio.
Questa funzione viene utilizzata quando la funzione OPENthread_CONFIG_PLATFORM_RADIO_COEX_ENABLE è abilitata.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori di ritorno |
|
otPlatRadioGetCslAccuracy
uint8_t otPlatRadioGetCslAccuracy( otInstance *aInstance )
Ottieni la precisione corrente, in unità di ± ppm, dell'orologio utilizzato per pianificare le operazioni CSL.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
La deviazione di pianificazione CSL rx/tx corrente, in unità di ± ppm.
|
otPlatRadioGetCslIncertezza
uint8_t otPlatRadioGetCslUncertainty( otInstance *aInstance )
L'incertezza fissa del Dispositivo per la pianificazione delle Trasmissioni CSL in unità di 10 microsecondi.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
L'incertezza CSL in unità di 10 us.
|
otPlatRadioGetFavoriteChannelMask
uint32_t otPlatRadioGetPreferredChannelMask( otInstance *aInstance )
Acquista la maschera del canale radio preferita su cui il dispositivo preferisce formare.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
La maschera del canale preferita.
|
otPlatRadioGetRegion
otError otPlatRadioGetRegion( otInstance *aInstance, uint16_t *aRegionCode )
Recupera il codice regione.
Il formato dell'area radio è la rappresentazione ascii a 2 byte del codice ISO 3166 alpha-2.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori di ritorno |
|
otPlatRadioGetRssi
int8_t otPlatRadioGetRssi( otInstance *aInstance )
Recupera la misurazione RSSI più recente.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Il codice RSSI in dBm quando è valido. 127 quando RSSI non è valido.
|
otPlatRadioGetState
otRadioState otPlatRadioGetState( otInstance *aInstance )
Sapere lo stato attuale della radio.
Questa funzione non è richiesta da OpenThread. Può essere utilizzata per finalità di debug e/o specifiche dell'applicazione.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Stato attuale della radio.
|
otPlatRadioGetSupportedChannelMask
uint32_t otPlatRadioGetSupportedChannelMask( otInstance *aInstance )
Procurati la maschera del canale radio supportata da cui è consentito l'accensione del dispositivo.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
La maschera del canale supportata dalla radio.
|
otPlatRadioGetTransmitBuffer
otRadioFrame * otPlatRadioGetTransmitBuffer( otInstance *aInstance )
Ottieni il buffer di trasmissione radio.
OpenThread forma il frame IEEE 802.15.4 in questo buffer, quindi chiama otPlatRadioTransmit()
per richiedere la trasmissione.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Un puntatore al buffer di trasmissione.
|
otPlatRadioIsCoexEnabled
bool otPlatRadioIsCoexEnabled( otInstance *aInstance )
Controlla se il coex è attivato o meno.
Questa funzione viene utilizzata quando la funzione OPENthread_CONFIG_PLATFORM_RADIO_COEX_ENABLE è abilitata.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
TRUE se il coex radio è attivato, altrimenti FALSE.
|
otPlatRadioIsEnabled
bool otPlatRadioIsEnabled( otInstance *aInstance )
Controlla se la radio è attiva o meno.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
TRUE se la radio è attivata, FALSE altrimenti.
|
otPlatRadioReceive
otError otPlatRadioReceive( otInstance *aInstance, uint8_t aChannel )
Attiva la transizione dalla modalità di sospensione a quella di ricezione.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori di ritorno |
|
otPlatRadioReceiveAt
otError otPlatRadioReceiveAt( otInstance *aInstance, uint8_t aChannel, uint32_t aStart, uint32_t aDuration )
Programmare una finestra di ricezione radio per un'ora e una durata specifiche.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori di ritorno |
|
otPlatRadioReceiveDone
void otPlatRadioReceiveDone( otInstance *aInstance, otRadioFrame *aFrame, otError aError )
Il driver radio contatta questo metodo per informare OpenThread di un frame ricevuto.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
otPlatRadioSetChannelMaxTransmitPower
otError otPlatRadioSetChannelMaxTransmitPower( otInstance *aInstance, uint8_t aChannel, int8_t aMaxPower )
Impostare la potenza massima di trasmissione per un determinato canale.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||
Valori di ritorno |
|
otPlatRadioSetCoexEnabled
otError otPlatRadioSetCoexEnabled( otInstance *aInstance, bool aEnabled )
Attiva il coex radio.
Questa funzione viene utilizzata quando la funzione OPENthread_CONFIG_PLATFORM_RADIO_COEX_ENABLE è abilitata.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori di ritorno |
|
OtPlatRadioSetRegion
otError otPlatRadioSetRegion( otInstance *aInstance, uint16_t aRegionCode )
Imposta il codice regione.
Il formato dell'area radio è la rappresentazione ascii a 2 byte del codice ISO 3166 alpha-2.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori di ritorno |
|
otPlatRadioSleep
otError otPlatRadioSleep( otInstance *aInstance )
Trasmettere la radio da Ricevi a Sonno (spegni la radio).
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori di ritorno |
|
Trasmissione otPlatRadio
otError otPlatRadioTransmit( otInstance *aInstance, otRadioFrame *aFrame )
Avvia la sequenza di trasmissione sulla radio.
Prima di richiedere la trasmissione, il chiamante deve formare il frame IEEE 802.15.4 nel buffer fornito da otPlatRadioGetTransmitBuffer()
. Il canale e la potenza di trasmissione sono inclusi anche nella struttura di otRadioFrame.
La sequenza di trasmissione è composta da:
- Transizione della radio a uno dei seguenti stati:
- Ricevi se RX è attivo quando il dispositivo è inattivo o se OT_RADIO_CAPS_SLEEP_TO_TX non è supportato
- Sospendi se RX non è attivo quando il dispositivo è inattivo ed è supportata OT_RADIO_CAPS_SLEEP_TO_TX.
- Trasmette il PSdu sul canale specificato e alla potenza di trasmissione specificata.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori di ritorno |
|
otPlatRadioTxDone
void otPlatRadioTxDone( otInstance *aInstance, otRadioFrame *aFrame, otRadioFrame *aAckFrame, otError aError )
Il driver della radio chiama questa funzione per informare OpenThread che l'operazione di trasmissione è stata completata, fornendo sia il frame trasmesso sia, se applicabile, il frame dell'ac ricevuto.
Quando la radio offre la funzionalità OT_RADIO_CAPS_TRANSMIT_SEC
, il livello della piattaforma radio aggiorna aFrame
con il contatore del frame di sicurezza e i valori dell'indice chiavi gestiti dalla radio.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
otPlatRadioTxStarted
void otPlatRadioTxStarted( otInstance *aInstance, otRadioFrame *aFrame )
Il driver radio contatta questo metodo per comunicare a OpenThread che la trasmissione è iniziata.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
otPlatRadioUpdateCslSampleTime
void otPlatRadioUpdateCslSampleTime( otInstance *aInstance, uint32_t aCslSampleTime )
Aggiorna tempo di campionamento CSL nel driver radio.
Il tempo di campionamento viene memorizzato nel driver della radio come copia per calcolare la fase durante l'invio di ACK con CSL IE.
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.