Funzionamento della radio
Questo modulo include l'astrazione della piattaforma per le operazioni radio.
Riepilogo
Funzioni |
|
---|---|
otPlatDiagRadioReceiveDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
|
void
Il driver della radio chiama questo metodo per notificare al modulo di diagnostica OpenThread un frame ricevuto.
|
otPlatDiagRadioTransmitDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
|
void
Il driver della radio chiama questo metodo per notificare il modulo di diagnostica OpenThread che la trasmissione è stata completata.
|
otPlatRadioAddCalibratedPower(otInstance *aInstance, uint8_t aChannel, int16_t aActualPower, const uint8_t *aRawPowerSetting, uint16_t aRawPowerSettingLength)
|
Aggiungi una potenza calibrata del canale specificato alla tabella di calibrazione dell'alimentazione.
|
otPlatRadioAddSrcMatchExtEntry(otInstance *aInstance, const otExtAddress *aExtAddress)
|
Aggiungi un indirizzo esteso alla tabella delle corrispondenze dell'indirizzo di origine.
|
otPlatRadioAddSrcMatchShortEntry(otInstance *aInstance, otShortAddress aShortAddress)
|
Aggiungi un indirizzo breve alla tabella delle corrispondenze dell'indirizzo di origine.
|
otPlatRadioClearCalibratedPowers(otInstance *aInstance)
|
Cancella tutte le potenze calibrate dalla tabella di calibrazione dell'alimentazione.
|
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)
|
Consente di attivare/disattivare o aggiornare il probe basato su ACK avanzato nella 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 ricevitore CSL.
|
otPlatRadioEnableSrcMatch(otInstance *aInstance, bool aEnable)
|
void
Attiva/disattiva la funzionalità di corrispondenza dell'indirizzo di origine.
|
otPlatRadioEnergyScan(otInstance *aInstance, uint8_t aScanChannel, uint16_t aScanDuration)
|
Inizia la sequenza di scansione energetica alla radio.
|
otPlatRadioEnergyScanDone(otInstance *aInstance, int8_t aEnergyScanMaxRssi)
|
void
Il driver della radio chiama questo metodo per notificare a OpenThread il completamento della scansione energetica.
|
otPlatRadioGetCoexMetrics(otInstance *aInstance, otRadioCoexMetrics *aCoexMetrics)
|
Ottieni le metriche della coesistenza radio.
|
otPlatRadioGetCslAccuracy(otInstance *aInstance)
|
uint8_t
Ottieni l'accuratezza stimata corrente del caso peggiore (massima ± deviazione dalla frequenza nominale) dell'orologio radio locale in unità di PPM.
|
otPlatRadioGetCslUncertainty(otInstance *aInstance)
|
uint8_t
L'incertezza fissa (ovvero
|
otPlatRadioGetPreferredChannelMask(otInstance *aInstance)
|
uint32_t
Visualizza la maschera del canale preferito dalla radio su cui il dispositivo preferisce formare.
|
otPlatRadioGetRawPowerSetting(otInstance *aInstance, uint8_t aChannel, uint8_t *aRawPowerSetting, uint16_t *aRawPowerSettingLength)
|
Ottieni le impostazioni di alimentazione non elaborate per il canale in questione.
|
otPlatRadioGetRegion(otInstance *aInstance, uint16_t *aRegionCode)
|
Ottieni il codice regione.
|
otPlatRadioGetRssi(otInstance *aInstance)
|
int8_t
Ottieni la misurazione RSSI più recente.
|
otPlatRadioGetState(otInstance *aInstance)
|
Visualizza lo stato attuale della radio.
|
otPlatRadioGetSupportedChannelMask(otInstance *aInstance)
|
uint32_t
Ottieni la maschera del canale supportata dalle radio su cui il dispositivo può essere attivato.
|
otPlatRadioGetTransmitBuffer(otInstance *aInstance)
|
Ottieni il buffer di frame della trasmissione radio.
|
otPlatRadioIsCoexEnabled(otInstance *aInstance)
|
bool
Controlla se la connessione radio è attiva o meno.
|
otPlatRadioIsEnabled(otInstance *aInstance)
|
bool
Controlla se la radio è attiva o meno.
|
otPlatRadioReceive(otInstance *aInstance, uint8_t aChannel)
|
Passa dalla modalità Sonno alla ricezione (attiva la radio).
|
otPlatRadioReceiveAt(otInstance *aInstance, uint8_t aChannel, uint32_t aStart, uint32_t aDuration)
|
Pianifica una finestra di ricezione radio a un orario e a una durata specifici.
|
otPlatRadioReceiveDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
|
void
Il driver del segnale radio chiama questo metodo per notificare a OpenThread un frame ricevuto.
|
otPlatRadioSetChannelMaxTransmitPower(otInstance *aInstance, uint8_t aChannel, int8_t aMaxPower)
|
Imposta la potenza di trasmissione massima per un canale specifico.
|
otPlatRadioSetChannelTargetPower(otInstance *aInstance, uint8_t aChannel, int16_t aTargetPower)
|
Imposta la potenza target per il canale in questione.
|
otPlatRadioSetCoexEnabled(otInstance *aInstance, bool aEnabled)
|
Attiva il codice radio.
|
otPlatRadioSetRegion(otInstance *aInstance, uint16_t aRegionCode)
|
Imposta il codice regione.
|
otPlatRadioSleep(otInstance *aInstance)
|
Passa dalla ricezione alla modalità di sospensione (disattiva la radio).
|
otPlatRadioTransmit(otInstance *aInstance, otRadioFrame *aFrame)
|
Avvia la sequenza di trasmissione alla radio.
|
otPlatRadioTxDone(otInstance *aInstance, otRadioFrame *aFrame, otRadioFrame *aAckFrame, otError aError)
|
void
Il driver radio chiama questa funzione per notificare OpenThread che l'operazione di trasmissione è stata completata, fornendo sia il frame trasmesso che, se applicabile, il frame di conferma ricevuto.
|
otPlatRadioTxStarted(otInstance *aInstance, otRadioFrame *aFrame)
|
void
Il driver radio chiama questo metodo per notificare a OpenThread che la trasmissione è iniziata.
|
otPlatRadioUpdateCslSampleTime(otInstance *aInstance, uint32_t aCslSampleTime)
|
void
Aggiorna ora di campionamento CSL nel driver radio.
|
Funzioni
otPlatDiagRadioReceiveDone
void otPlatDiagRadioReceiveDone( otInstance *aInstance, otRadioFrame *aFrame, otError aError )
Il driver della radio chiama questo metodo per notificare al modulo di diagnostica OpenThread un frame ricevuto.
Viene utilizzato quando è attiva la diagnostica.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
otPlatDiagRadioTransmitDone
void otPlatDiagRadioTransmitDone( otInstance *aInstance, otRadioFrame *aFrame, otError aError )
Il driver della radio chiama questo metodo per notificare il modulo di diagnostica OpenThread che la trasmissione è stata completata.
Viene utilizzato quando è attiva la diagnostica.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
otPlatRadioAddCalibratedPower
otError otPlatRadioAddCalibratedPower( otInstance *aInstance, uint8_t aChannel, int16_t aActualPower, const uint8_t *aRawPowerSetting, uint16_t aRawPowerSettingLength )
Aggiungi una potenza calibrata del canale specificato alla tabella di calibrazione dell'alimentazione.
aActualPower
indica la potenza di uscita effettivamente misurata quando i parametri dei moduli hardware radio sono impostati su aRawPowerSetting
.
L'impostazione di potenza non elaborata è un array di byte opachi. OpenThread non definisce il formato dell'impostazione di alimentazione non elaborata. Il suo formato riguarda l'hardware radio e deve essere definito dagli sviluppatori nel driver radio della piattaforma. Ad esempio, se l'hardware della radio contiene sia il chip di radio che il chip FEM, l'impostazione di potenza non elaborata può essere una combinazione del registro della potenza della radio e del valore di guadagno FEM.
Dettagli | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||
Valori restituiti |
|
otPlatRadioAddSrcMatchExtEntry
otError otPlatRadioAddSrcMatchExtEntry( otInstance *aInstance, const otExtAddress *aExtAddress )
Aggiungi un indirizzo esteso alla tabella delle corrispondenze dell'indirizzo di origine.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otPlatRadioAddSrcMatchShortEntry
otError otPlatRadioAddSrcMatchShortEntry( otInstance *aInstance, otShortAddress aShortAddress )
Aggiungi un indirizzo breve alla tabella delle corrispondenze dell'indirizzo di origine.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otPlatRadioClearCalibratedPowers
otError otPlatRadioClearCalibratedPowers( otInstance *aInstance )
Cancella tutte le potenze calibrate dalla tabella di calibrazione dell'alimentazione.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
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 restituiti |
|
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 restituiti |
|
otPlatRadioConfigureEnhAckProbing
otError otPlatRadioConfigureEnhAckProbing( otInstance *aInstance, otLinkMetrics aLinkMetrics, otShortAddress aShortAddress, const otExtAddress *aExtAddress )
Consente di attivare/disattivare o aggiornare il probe basato su ACK avanzato nella radio per un iniziatore specifico.
Dopo che il probe basato su ACK avanzato è stato configurato da uno specifico iniziatore di probe, l'ACK avanzato inviato a quel nodo deve includere l'IE specifico del fornitore contenente i dati delle metriche di collegamento. Questo metodo indica al segnale radio di avviare/interrompere la raccolta dei dati delle metriche sui link e includere l'IE specifico del fornitore contenente i dati nell'Advanced-ACK inviati a quell'iniziatore del probe.
Dettagli | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||
Valori restituiti |
|
otPlatRadioDisable
otError otPlatRadioDisable( otInstance *aInstance )
Disattiva la radio.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otPlatRadioEnable
otError otPlatRadioEnable( otInstance *aInstance )
Attiva la radio.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otPlatRadioEnableCsl
otError otPlatRadioEnableCsl( otInstance *aInstance, uint32_t aCslPeriod, otShortAddress aShortAddr, const otExtAddress *aExtAddr )
Attiva o disattiva ricevitore CSL.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||
Valori restituiti |
|
otPlatRadioEnableSrcMatch
void otPlatRadioEnableSrcMatch( otInstance *aInstance, bool aEnable )
Attiva/disattiva la funzionalità di corrispondenza dell'indirizzo di origine.
La funzionalità di corrispondenza dell'indirizzo di origine controlla in che modo il livello radio decide il bit "frame pending" per gli ACK inviati in risposta ai comandi di richiesta dati dei bambini.
Se disattivato, il livello radio deve impostare il "frame pending" su tutti gli ACK ai comandi di richiesta dati.
Se abilitato, il livello radio utilizza la tabella delle corrispondenze degli indirizzi di origine per determinare se impostare o cancellare il bit "frame pending" in un ACK a un comando di richiesta dati.
La tabella delle corrispondenze degli indirizzi di origine fornisce l'elenco degli indirizzi secondari per i quali è presente un frame in attesa. È possibile aggiungere un indirizzo breve o un indirizzo esteso/lungo alla tabella delle corrispondenze dell'indirizzo di origine.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
otPlatRadioEnergyScan
otError otPlatRadioEnergyScan( otInstance *aInstance, uint8_t aScanChannel, uint16_t aScanDuration )
Inizia la sequenza di scansione energetica alla radio.
Viene utilizzato quando la radio fornisce la funzionalità OT_Radio_CAPS_ENERGY_SCAN.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori restituiti |
|
otPlatRadioEnergyScanDone
void otPlatRadioEnergyScanDone( otInstance *aInstance, int8_t aEnergyScanMaxRssi )
Il driver della radio chiama questo metodo per notificare a OpenThread il completamento della scansione energetica.
Viene utilizzato quando la radio fornisce la funzionalità OT_Radio_CAPS_ENERGY_SCAN.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
otPlatRadioGetCoexMetrics
otError otPlatRadioGetCoexMetrics( otInstance *aInstance, otRadioCoexMetrics *aCoexMetrics )
Ottieni le metriche della coesistenza radio.
Viene utilizzato quando la funzionalità OPENTHREAD_CONFIG_PLATFORM_Radi_COEX_ENABLE è attiva.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otPlatRadioGetCslAccuracy
uint8_t otPlatRadioGetCslAccuracy( otInstance *aInstance )
Ottieni l'accuratezza stimata corrente del caso peggiore (massima ± deviazione dalla frequenza nominale) dell'orologio radio locale in unità di PPM.
Questo è l'orologio utilizzato per pianificare le operazioni CSL.
Se l'implementazione non stima il valore attuale, ma restituisce un valore fisso, questo valore DEVE corrispondere alla precisione peggiore rispetto a tutte le possibili condizioni operative previste (temperatura, pressione, ecc.) dell'implementazione.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
La deviazione della pianificazione rx/tx attuale del CSL, in PPM.
|
otPlatRadioGetCslUncertainty
uint8_t otPlatRadioGetCslUncertainty( otInstance *aInstance )
L'incertezza fissa (ovvero
tremolio casuale) dell'ora di arrivo delle trasmissioni CSL ricevute da questo dispositivo in unità di 10 microsecondi.
Indica la deviazione positiva o negativa costante del caso peggiore dell'ora di arrivo effettiva di una trasmissione dal tempo di trasmissione calcolato rispetto all'orologio radio locale, indipendentemente dal tempo trascorso. Oltre all'incertezza accumulata nel tempo trascorso, il campione di canali CSL ("finestra RX") deve essere esteso di due volte questa deviazione, in modo che il ricevitore locale garantisca la trasmissione effettiva in presenza di un tremolio dell'ora di arrivo casuale.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
L'incertezza CSL in unità di 10 us.
|
otPlatRadioGetPreferredChannelMask
uint32_t otPlatRadioGetPreferredChannelMask( otInstance *aInstance )
Visualizza la maschera del canale preferito dalla radio su cui il dispositivo preferisce formare.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
La maschera del canale preferito per la radio.
|
otPlatRadioGetRawPowerSetting
otError otPlatRadioGetRawPowerSetting( otInstance *aInstance, uint8_t aChannel, uint8_t *aRawPowerSetting, uint16_t *aRawPowerSettingLength )
Ottieni le impostazioni di alimentazione non elaborate per il canale in questione.
Il livello radio della piattaforma deve analizzare l'impostazione di potenza non elaborata in base al formato definito dal livello radio e impostare i parametri di ciascun modulo hardware radio.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||
Valori restituiti |
|
otPlatRadioGetRegion
otError otPlatRadioGetRegion( otInstance *aInstance, uint16_t *aRegionCode )
Ottieni il codice regione.
Il formato della regione radio è la rappresentazione ASCII a 2 byte del codice ISO 3166 alpha-2.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||
Valori restituiti |
|
otPlatRadioGetRssi
int8_t otPlatRadioGetRssi( otInstance *aInstance )
Ottieni la misurazione RSSI più recente.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
L'RSSI in dBm, se valido. 127 quando RSSI non è valido.
|
otPlatRadioGetState
otRadioState otPlatRadioGetState( otInstance *aInstance )
Visualizza lo stato attuale della radio.
Non è richiesto da OpenThread. Può essere utilizzata per il debug e/o per scopi specifici dell'applicazione.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Stato attuale della radio.
|
otPlatRadioGetSupportedChannelMask
uint32_t otPlatRadioGetSupportedChannelMask( otInstance *aInstance )
Ottieni la maschera del canale supportata dalle radio su cui il dispositivo può essere attivato.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
La maschera del canale supportata dalla radio.
|
otPlatRadioGetTransmitBuffer
otRadioFrame * otPlatRadioGetTransmitBuffer( otInstance *aInstance )
Ottieni il buffer di frame della 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 del frame di trasmissione.
|
otPlatRadioIsCoexEnabled
bool otPlatRadioIsCoexEnabled( otInstance *aInstance )
Controlla se la connessione radio è attiva o meno.
Viene utilizzato quando la funzionalità OPENTHREAD_CONFIG_PLATFORM_Radi_COEX_ENABLE è attiva.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
TRUE se il codice radio è abilitato, altrimenti FALSE.
|
otPlatRadioIsEnabled
bool otPlatRadioIsEnabled( otInstance *aInstance )
Controlla se la radio è attiva o meno.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
TRUE se la radio è abilitata, FALSE in caso contrario.
|
otPlatRadioReceive
otError otPlatRadioReceive( otInstance *aInstance, uint8_t aChannel )
Passa dalla modalità Sonno alla ricezione (attiva la radio).
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otPlatRadioReceiveAt
otError otPlatRadioReceiveAt( otInstance *aInstance, uint8_t aChannel, uint32_t aStart, uint32_t aDuration )
Pianifica una finestra di ricezione radio a un orario e a una durata specifici.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori restituiti |
|
otPlatRadioReceiveDone
void otPlatRadioReceiveDone( otInstance *aInstance, otRadioFrame *aFrame, otError aError )
Il driver del segnale radio chiama questo metodo per notificare a OpenThread un frame ricevuto.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
otPlatRadioSetChannelMaxTransmitPower
otError otPlatRadioSetChannelMaxTransmitPower( otInstance *aInstance, uint8_t aChannel, int8_t aMaxPower )
Imposta la potenza di trasmissione massima per un canale specifico.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||
Valori restituiti |
|
otPlatRadioSetChannelTargetPower
otError otPlatRadioSetChannelTargetPower( otInstance *aInstance, uint8_t aChannel, int16_t aTargetPower )
Imposta la potenza target per il canale in questione.
Il driver della radio deve impostare la potenza di uscita effettiva in modo che sia inferiore o uguale alla potenza target e il più vicino possibile a quest'ultima.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori restituiti |
|
otPlatRadioSetCoexEnabled
otError otPlatRadioSetCoexEnabled( otInstance *aInstance, bool aEnabled )
Attiva il codice radio.
Viene utilizzato quando la funzionalità OPENTHREAD_CONFIG_PLATFORM_Radi_COEX_ENABLE è attiva.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otPlatRadioSetRegion
otError otPlatRadioSetRegion( otInstance *aInstance, uint16_t aRegionCode )
Imposta il codice regione.
Il formato della regione radio è la rappresentazione ASCII a 2 byte del codice ISO 3166 alpha-2.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori restituiti |
|
otPlatRadioSleep
otError otPlatRadioSleep( otInstance *aInstance )
Passa dalla ricezione alla modalità di sospensione (disattiva la radio).
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori restituiti |
|
otPlatRadioTransmit
otError otPlatRadioTransmit( otInstance *aInstance, otRadioFrame *aFrame )
Avvia la sequenza di trasmissione alla radio.
Prima di richiedere la trasmissione, il chiamante deve formare il frame IEEE 802.15.4 nel buffer fornito da otPlatRadioGetTransmitBuffer()
. Anche il canale e la potenza di trasmissione sono inclusi nella struttura otRadioFrame.
La sequenza di trasmissione è composta da:
- Si passa alla trasmissione da uno dei seguenti stati della radio:
- Ricevi se RX è attivo quando il dispositivo è inattivo o OT_Radio_CAPS_SLEEP_TO_TX non è supportato
- Sospendi se RX è disattivato quando il dispositivo è inattivo ed è supportato OT_Radio_CAPS_SLEEP_TO_TX.
- Trasmette lo psdu sul canale e alla potenza di trasmissione specificata.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otPlatRadioTxDone
void otPlatRadioTxDone( otInstance *aInstance, otRadioFrame *aFrame, otRadioFrame *aAckFrame, otError aError )
Il driver radio chiama questa funzione per notificare OpenThread che l'operazione di trasmissione è stata completata, fornendo sia il frame trasmesso che, se applicabile, il frame di conferma ricevuto.
Quando la radio fornisce la funzionalità OT_RADIO_CAPS_TRANSMIT_SEC
, il livello della piattaforma radio aggiorna aFrame
con il contatore dei frame di sicurezza e i valori dell'indice delle chiavi mantenuti dal segnale radio.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
otPlatRadioTxStarted
void otPlatRadioTxStarted( otInstance *aInstance, otRadioFrame *aFrame )
Il driver radio chiama questo metodo per notificare a OpenThread che la trasmissione è iniziata.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
otPlatRadioUpdateCslSampleTime
void otPlatRadioUpdateCslSampleTime( otInstance *aInstance, uint32_t aCslSampleTime )
Aggiorna ora di campionamento CSL nel driver radio.
L'ora di campionamento viene memorizzata nel driver radio come copia per calcolare la fase durante l'invio di ACK con CSL IE. Il campione CSL (finestra) del ricevitore CSL si estende prima e dopo l'ora di campionamento. L'ora di campionamento CSL indica un timestamp nella finestra di esempio CSL in cui un frame dovrebbe essere ricevuto in "condizioni ideali" in assenza di imprecisioni o deviazioni temporali.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
Risorse
Gli argomenti di riferimento dell'API OpenThread provengono dal codice sorgente, disponibile su GitHub. Per saperne di più o per contribuire alla nostra documentazione, consulta la sezione Risorse.