Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Funzionamento della 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 diagnostico OpenThread di un frame ricevuto.
otPlatDiagRadioTransmitDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
Il driver della radio chiama questo metodo per notificare al modulo diagnostico OpenThread che la trasmissione è stata completata.
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.
otPlatRadioClearSrcMatchExtEntries(otInstance *aInstance)
void
Cancella tutti gli indirizzi estesi/lungi dalla tabella delle corrispondenze dell'indirizzo 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 la sezione Probing basata 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 il 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)
Avvia 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 che la scansione energetica è stata completata.
otPlatRadioGetCoexMetrics(otInstance *aInstance, otRadioCoexMetrics *aCoexMetrics)
Ottieni le metriche di coesistenza della radio.
otPlatRadioGetCslAccuracy(otInstance *aInstance)
uint8_t
Ottieni la precisione corrente, in unità di ± ppm, dell'orologio utilizzato per la pianificazione delle 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
Visualizza la maschera del canale preferita via radio su cui il dispositivo preferisce formare.
otPlatRadioGetRegion(otInstance *aInstance, uint16_t *aRegionCode)
Ottieni il codice regione.
otPlatRadioGetRssi(otInstance *aInstance)
int8_t
Ottieni la misurazione RSSI più recente.
otPlatRadioGetState(otInstance *aInstance)
Controlla lo stato attuale della radio.
otPlatRadioGetSupportedChannelMask(otInstance *aInstance)
uint32_t
Ottieni la maschera del canale supportata dalla radio che il dispositivo può consentire.
otPlatRadioGetTransmitBuffer(otInstance *aInstance)
Seleziona il buffer di trasmissione radio.
otPlatRadioIsCoexEnabled(otInstance *aInstance)
bool
Controlla se il coex radio è attivato.
otPlatRadioIsEnabled(otInstance *aInstance)
bool
Controlla se la radio è attiva o meno.
otPlatRadioReceive(otInstance *aInstance, uint8_t aChannel)
Passa la radio dalla modalità di sospensione a quella di ricezione (attiva la radio).
otPlatRadioReceiveAt(otInstance *aInstance, uint8_t aChannel, uint32_t aStart, uint32_t aDuration)
Programma una finestra di ricezione della radio in un orario e una durata specifici.
otPlatRadioReceiveDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
Il driver della radio chiama questo metodo per inviare una notifica a OpenThread di un frame ricevuto.
otPlatRadioSetChannelMaxTransmitPower(otInstance *aInstance, uint8_t aChannel, int8_t aMaxPower)
Impostare la potenza di trasmissione massima per un canale specifico.
otPlatRadioSetCoexEnabled(otInstance *aInstance, bool aEnabled)
Attiva il coex.
otPlatRadioSetRegion(otInstance *aInstance, uint16_t aRegionCode)
Imposta il codice della regione.
otPlatRadioSleep(otInstance *aInstance)
Passa la radio dalla ricezione alla sospensione (spegni la radio).
otPlatRadioTransmit(otInstance *aInstance, otRadioFrame *aFrame)
Avvia la sequenza di trasmissione 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 della radio chiama questo metodo per notificare a OpenThread che la trasmissione è iniziata.
otPlatRadioUpdateCslSampleTime(otInstance *aInstance, uint32_t aCslSampleTime)
void
Aggiorna tempo di campionamento CSL nel driver radio.

Functions

otPlatDiagRadioRiceviFine

void otPlatDiagRadioReceiveDone(
  otInstance *aInstance,
  otRadioFrame *aFrame,
  otError aError
)

Il driver della radio chiama questo metodo per inviare una notifica al modulo diagnostico OpenThread di un frame ricevuto.

Questa funzione viene utilizzata quando è attiva la diagnostica.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aFrame
Un puntatore al frame ricevuto o a NULL se l'operazione di ricezione non è riuscita.
[in] aError
OT_ERROR_NONE quando ha ricevuto un frame, OT_ERROR_ABORT quando la ricezione è stata interrotta e non è stato ricevuto un frame, OT_ERROR_NO_BUFS quando non è stato possibile ricevere un frame per mancanza di spazio nel buffer rx.

otPlatDiagRadioTransmitDone

void otPlatDiagRadioTransmitDone(
  otInstance *aInstance,
  otRadioFrame *aFrame,
  otError aError
)

Il driver della radio chiama questo metodo per notificare al modulo diagnostico OpenThread che la trasmissione è stata completata.

Questa funzione viene utilizzata quando è attiva la diagnostica.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aFrame
Un puntatore al frame che è stato trasmesso.
[in] aError
OT_ERROR_NONE quando il frame è stato trasmesso, OT_ERROR_CHANNEL_ACCESS_FAILURE TX non è stato possibile a causa di attività sul canale, OT_ERROR_ABORT quando la trasmissione è stata interrotta per altri motivi.

otPlatRadioAddSrcMatchExtEntry

otError otPlatRadioAddSrcMatchExtEntry(
  otInstance *aInstance,
  const otExtAddress *aExtAddress
)

Aggiungi un indirizzo esteso alla tabella delle corrispondenze dell'indirizzo di origine.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aExtAddress
L'indirizzo esteso da aggiungere memorizzato nell'ordine dei byte di end-endian.
Valori restituiti
OT_ERROR_NONE
L'indirizzo esteso è stato aggiunto alla tabella delle corrispondenze della sorgente.
OT_ERROR_NO_BUFS
Nessuna voce disponibile nella tabella delle corrispondenze di origine.

otPlatRadioAddSrcMatchShortEntry

otError otPlatRadioAddSrcMatchShortEntry(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

Aggiungi un indirizzo breve alla tabella delle corrispondenze dell'indirizzo di origine.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aShortAddress
L'indirizzo breve da aggiungere.
Valori restituiti
OT_ERROR_NONE
L'indirizzo breve è stato aggiunto alla tabella delle corrispondenze di origine.
OT_ERROR_NO_BUFS
Nessuna voce disponibile nella tabella delle corrispondenze di origine.

otPlatRadioClearSrcMatchExtEntries

void otPlatRadioClearSrcMatchExtEntries(
  otInstance *aInstance
)

Cancella tutti gli indirizzi estesi/lungi dalla tabella delle corrispondenze dell'indirizzo di origine.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.

otPlatRadioClearSrcMatchExtEntry

otError otPlatRadioClearSrcMatchExtEntry(
  otInstance *aInstance,
  const otExtAddress *aExtAddress
)

Rimuovi un indirizzo esteso dalla tabella delle corrispondenze dell'indirizzo di origine.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aExtAddress
L'indirizzo esteso da rimuovere memorizzato nell'ordine dei byte di end-endian.
Valori restituiti
OT_ERROR_NONE
L'indirizzo esteso è stato rimosso dalla tabella delle corrispondenze di origine.
OT_ERROR_NO_ADDRESS
L'indirizzo esteso non è incluso nella tabella delle corrispondenze dell'indirizzo di origine.

otPlatRadioClearSrcMatchShortEntries

void otPlatRadioClearSrcMatchShortEntries(
  otInstance *aInstance
)

Cancella tutti gli indirizzi brevi dalla tabella delle corrispondenze degli indirizzi di origine.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.

otPlatRadioClearSrcMatchShortEntry

otError otPlatRadioClearSrcMatchShortEntry(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

Rimuovi un indirizzo breve dalla tabella delle corrispondenze dell'indirizzo di origine.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aShortAddress
L'indirizzo breve da rimuovere.
Valori restituiti
OT_ERROR_NONE
Rimozione dell'indirizzo breve dalla tabella delle corrispondenze di origine riuscita.
OT_ERROR_NO_ADDRESS
L'indirizzo breve non è incluso nella tabella delle corrispondenze dell'indirizzo di origine.

otPlatRadioConfigureEnhAckProbing

otError otPlatRadioConfigureEnhAckProbing(
  otInstance *aInstance,
  otLinkMetrics aLinkMetrics,
  otShortAddress aShortAddress,
  const otExtAddress *aExtAddress
)

Attiva/disattiva o aggiorna la sezione Probing basata su ACK avanzato nella radio per un iniziatore specifico.

Dopo che il Probing basato su ACK avanzato è configurato da un iniziatore di probing specifico, il ACK ottimizzato deve essere inviato a quel nodo e deve includere IE specifico per il fornitore contenente i dati delle metriche dei link. Questo metodo indica alla radio di avviare/interrompere la raccolta dei dati delle metriche link e includere IE specifico per il fornitore che contiene i dati in Enhanced-ACK inviati a tale iniziatore del probing.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aLinkMetrics
Questo parametro specifica le metriche per le quali eseguire query. Per la specifica 4.11.3.4.4.6 possono essere specificate al massimo 2 metriche. Il probe potrebbe essere disattivato se aLinkMetrics è a 0 bit di bit.
[in] aShortAddress
L'indirizzo breve dell'Iniziatore di probing.
[in] aExtAddress
L'indirizzo di origine esteso dell'iniziatore di probing. aExtAddr NON DEVE essere NULL.
Valori restituiti
OT_ERROR_NONE
La configurazione del probe basato su ACK avanzato è stata completata.
OT_ERROR_INVALID_ARGS
Punteggio di aExtAddress: NULL.
OT_ERROR_NOT_FOUND
L'avviore indicato da aShortAddress non è stato trovato durante il tentativo di cancellazione.
OT_ERROR_NO_BUFS
Non è più possibile avviare Avvio app.

otPlatRadioDisabled

otError otPlatRadioDisable(
  otInstance *aInstance
)

Disattiva la radio.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
Valori restituiti
OT_ERROR_NONE
Passaggio a Disattivato completato.
OT_ERROR_INVALID_STATE
La radio non era in stato di sospensione.

otPlatRadioEnable

otError otPlatRadioEnable(
  otInstance *aInstance
)

Attiva la radio.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
Valori restituiti
OT_ERROR_NONE
Attivato correttamente.
OT_ERROR_FAILED
Impossibile attivare la radio.

otPlatRadioEnableCsl

otError otPlatRadioEnableCsl(
  otInstance *aInstance,
  uint32_t aCslPeriod,
  otShortAddress aShortAddr,
  const otExtAddress *aExtAddr
)

Attiva o disattiva il ricevitore CSL.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aCslPeriod
Periodo CSL, 0 per disabilitare CSL.
[in] aShortAddr
L'indirizzo di origine breve del peer del ricevente CSL.
[in] aExtAddr
L'indirizzo di origine esteso del peer del ricevente CSL.
Valori restituiti
kErrorNotImplemented
Il driver della radio non supporta CSL.
kErrorFailed
Altri errori specifici della piattaforma.
kErrorNone
Attivazione o disattivazione di CSL riuscita.

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 "frame in attesa" per i suggerimenti inviati in risposta ai comandi di richiesta di dati da bambini.

Se l'opzione non è attiva, il livello radio deve impostare il "frame pending" su tutti i comandi per i comandi di richiesta di dati.

Se questa opzione è abilitata, il livello radio utilizza la tabella delle corrispondenze dell'indirizzo di origine per determinare se impostare o cancellare il valore "frame in attesa" in un comando a un comando di richiesta di dati.

La tabella delle corrispondenze dell'indirizzo di origine fornisce l'elenco delle cartelle secondarie per le 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
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aEnable
Attiva/disattiva la funzionalità di corrispondenza dell'indirizzo di origine.

otPlatRadioEnergyScan

otError otPlatRadioEnergyScan(
  otInstance *aInstance,
  uint8_t aScanChannel,
  uint16_t aScanDuration
)

Avvia la sequenza di scansione energetica alla radio.

Questa funzione viene utilizzata quando la radio fornisce la funzionalità OT_Radio_CAPS_ENERGY_SCAN.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aScanChannel
Il canale su cui eseguire la scansione energetica.
[in] aScanDuration
La durata, in millisecondi, della scansione del canale.
Valori restituiti
OT_ERROR_NONE
Ricerca del canale avviata.
OT_ERROR_BUSY
La radio sta eseguendo la scansione dei lavori di svago.
OT_ERROR_NOT_IMPLEMENTED
La radio non supporta la scansione energetica.

otPlatRadioEnergyScanDone

void otPlatRadioEnergyScanDone(
  otInstance *aInstance,
  int8_t aEnergyScanMaxRssi
)

Il driver della radio chiama questo metodo per notificare a OpenThread che la scansione energetica è stata completata.

Questa funzione viene utilizzata quando la radio fornisce la funzionalità OT_Radio_CAPS_ENERGY_SCAN.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aEnergyScanMaxRssi
Il numero RSSI massimo rilevato sul canale scansionato.

otPlatRadioGetCoexMetrics

otError otPlatRadioGetCoexMetrics(
  otInstance *aInstance,
  otRadioCoexMetrics *aCoexMetrics
)

Ottieni le metriche di coesistenza della radio.

Questa funzione viene utilizzata quando la funzionalità OPENThread_CONFIG_PLATFORM_Radio_COEX_ENABLE è abilitata.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[out] aCoexMetrics
Un puntatore alla struttura delle metriche di coesistenza.
Valori restituiti
OT_ERROR_NONE
Le metriche di coex sono state recuperate.
OT_ERROR_INVALID_ARGS
aCoexMetrics era NULL.

otPlatRadioGetCslAccuracy

uint8_t otPlatRadioGetCslAccuracy(
  otInstance *aInstance
)

Ottieni la precisione corrente, in unità di ± ppm, dell'orologio utilizzato per la pianificazione delle operazioni CSL.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Restituisce
La deviazione corrente della pianificazione CSL rx/tx, 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
[in] aInstance
Un puntatore a un'istanza OpenThread.
Restituisce
L'incertezza CSL in unità di 10 noi.

otPlatRadioGetpreferredChannelMask

uint32_t otPlatRadioGetPreferredChannelMask(
  otInstance *aInstance
)

Visualizza la maschera del canale preferita via radio su cui il dispositivo preferisce formare.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
Restituisce
La maschera del canale radio preferita.

otPlatRadioGetRegion

otError otPlatRadioGetRegion(
  otInstance *aInstance,
  uint16_t *aRegionCode
)

Ottieni il codice regione.

Il formato dell'area geografica radio è la rappresentazione ascii a 2 byte del codice ISO 3166 alpha-2.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[out] aRegionCode
La regione radio.
Valori restituiti
OT_ERROR_INVALID_ARGS
aRegionCode è nullptr.
OT_ERROR_FAILED
Altri errori specifici della piattaforma.
OT_ERROR_NONE
Il codice regione è stato recuperato.

otPlatRadioGetRssi

int8_t otPlatRadioGetRssi(
  otInstance *aInstance
)

Ottieni la misurazione RSSI più recente.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
Restituisce
L'RSSI in dBm quando è valido. 127 quando RSSI non è valido.

otPlatRadioGetState

otRadioState otPlatRadioGetState(
  otInstance *aInstance
)

Controlla lo stato attuale della radio.

Questa funzione non è richiesta da OpenThread. Può essere utilizzato per scopi di debug e/o specifici dell'applicazione.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
Restituisce
Stato attuale della radio.

otPlatRadioGetSupportedChannelMask

uint32_t otPlatRadioGetSupportedChannelMask(
  otInstance *aInstance
)

Ottieni la maschera del canale supportata dalla radio che il dispositivo può consentire.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
Restituisce
La maschera del canale supportata dalla radio.

otPlatRadioGetTransmitBuffer

otRadioFrame * otPlatRadioGetTransmitBuffer(
  otInstance *aInstance
)

Seleziona 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
[in] aInstance
La struttura dell'istanza OpenThread.
Restituisce
Un puntatore al buffer di frame di trasmissione.

otPlatRadioIsCoexEnabled

bool otPlatRadioIsCoexEnabled(
  otInstance *aInstance
)

Controlla se il coex radio è attivato.

Questa funzione viene utilizzata quando la funzionalità OPENThread_CONFIG_PLATFORM_Radio_COEX_ENABLE è abilitata.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
Restituisce
TRUE se il coex radio è abilitato, FALSE in caso contrario.

otPlatRadioIsEnabled

bool otPlatRadioIsEnabled(
  otInstance *aInstance
)

Controlla se la radio è attiva o meno.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
Restituisce
TRUE se la radio è abilitata, FALSE in caso contrario.

otPlatRadioRicevi

otError otPlatRadioReceive(
  otInstance *aInstance,
  uint8_t aChannel
)

Passa la radio dalla modalità di sospensione a quella di ricezione (attiva la radio).

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aChannel
Il canale da utilizzare per la ricezione.
Valori restituiti
OT_ERROR_NONE
Transizione ricevuta.
OT_ERROR_INVALID_STATE
La radio è stata disabilitata o trasmessa.

otPlatRadioReceivedAt

otError otPlatRadioReceiveAt(
  otInstance *aInstance,
  uint8_t aChannel,
  uint32_t aStart,
  uint32_t aDuration
)

Programma una finestra di ricezione della radio in un orario e una durata specifici.

Dettagli
Parametri
[in] aChannel
Il canale radio su cui ricevere i video.
[in] aStart
L'ora di inizio del periodo di ricezione, in microsecondi.
[in] aDuration
La durata della finestra di ricezione, in microsecondi
Valori restituiti
OT_ERROR_NONE
Finestra di ricezione programmata.
OT_ERROR_FAILED
Impossibile pianificare la finestra di ricezione.

otPlatRadioReceivedDone

void otPlatRadioReceiveDone(
  otInstance *aInstance,
  otRadioFrame *aFrame,
  otError aError
)

Il driver della radio chiama questo metodo per inviare una notifica a OpenThread di un frame ricevuto.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aFrame
Un puntatore al frame ricevuto o a NULL se l'operazione di ricezione non è riuscita.
[in] aError
OT_ERROR_NONE quando ha ricevuto un frame, OT_ERROR_ABORT quando la ricezione è stata interrotta e non è stato ricevuto un frame, OT_ERROR_NO_BUFS quando non è stato possibile ricevere un frame per mancanza di spazio nel buffer rx.

otPlatRadioSetChannelMaxTransmitPower

otError otPlatRadioSetChannelMaxTransmitPower(
  otInstance *aInstance,
  uint8_t aChannel,
  int8_t aMaxPower
)

Impostare la potenza di trasmissione massima per un canale specifico.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aChannel
Il canale radio.
[in] aMaxPower
La potenza massima in dBm, che passa OT_Radio_RSSI_INVALID, disattiva questo canale.
Valori restituiti
OT_ERROR_NOT_IMPLEMENTED
La funzionalità non è implementata
OT_ERROR_INVALID_ARGS
Il canale specificato non è valido.
OT_ERROR_FAILED
Altri errori specifici della piattaforma.
OT_ERROR_NONE
La potenza di trasmissione massima è stata impostata.

otPlatRadioSetCoex

otError otPlatRadioSetCoexEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Attiva il coex.

Questa funzione viene utilizzata quando la funzionalità OPENThread_CONFIG_PLATFORM_Radio_COEX_ENABLE è abilitata.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aEnabled
TRUE per abilitare il coex radio, FALSE in caso contrario.
Valori restituiti
OT_ERROR_NONE
Attivato correttamente.
OT_ERROR_FAILED
Impossibile abilitare il coex radio.

otPlatRadioSetRegion

otError otPlatRadioSetRegion(
  otInstance *aInstance,
  uint16_t aRegionCode
)

Imposta il codice della regione.

Il formato dell'area geografica radio è la rappresentazione ascii a 2 byte del codice ISO 3166 alpha-2.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aRegionCode
La regione radio.
Valori restituiti
OT_ERROR_FAILED
Altri errori specifici della piattaforma.
OT_ERROR_NONE
Impostazione del codice regione riuscita.

otPlatRadioSleep

otError otPlatRadioSleep(
  otInstance *aInstance
)

Passa la radio dalla ricezione alla sospensione (spegni la radio).

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
Valori restituiti
OT_ERROR_NONE
Passaggio allo stato di sospensione riuscito.
OT_ERROR_BUSY
La radio stava trasmettendo.
OT_ERROR_INVALID_STATE
La radio è stata disabilitata.

otPlatRadioTransmit

otError otPlatRadioTransmit(
  otInstance *aInstance,
  otRadioFrame *aFrame
)

Avvia la sequenza di trasmissione radio.

Prima di richiedere la trasmissione, il chiamante deve compilare il frame IEEE 802.15.4 nel buffer fornito da otPlatRadioGetTransmitBuffer(). Anche il canale e la potenza di trasmissione sono inclusi nella struttura di otRadioFrame.

La sequenza di trasmissione è costituita da:

  1. Passaggio della radio alla trasmissione da uno dei seguenti stati:
    • Ricevi una notifica se la funzione RX è attiva quando il dispositivo è inattivo o OT_Radio_CAPS_SLEEP_TO_TX non è supportata
    • Sospendi se RX è disattivato quando il dispositivo è inattivo e OT_Radio_CAPS_SLEEP_TO_TX è supportato.
  2. Trasmette il psdu sul canale dato e alla potenza di trasmissione specificata.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aFrame
Un puntatore al frame da trasmettere.
Valori restituiti
OT_ERROR_NONE
Trasmissione a Trasmissione riuscita.
OT_ERROR_INVALID_STATE
La radio non era nello stato Ricevi.

otPlatRadioTxFine

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 fornisce la funzionalità OT_RADIO_CAPS_TRANSMIT_SEC, il livello della piattaforma radio aggiorna aFrame con il contatore frame di sicurezza e i valori dell'indice chiave mantenuti dalla radio.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aFrame
Un puntatore al frame che è stato trasmesso.
[in] aAckFrame
Un puntatore al frame ACK, NULL se non è stato ricevuto ACK.
[in] aError
OT_ERROR_NONE quando il frame è stato trasmesso, OT_ERROR_NO_ACK quando il frame è stato trasmesso, ma non è stato ricevuto ACK, OT_ERROR_CHANNEL_ACCESS_FAILURE tx non poteva avvenire a causa di attività sul canale, OT_ERROR_ABORT quando la trasmissione è stata interrotta per altri motivi.

otPlatRadioTxStarted

void otPlatRadioTxStarted(
  otInstance *aInstance,
  otRadioFrame *aFrame
)

Il driver della radio chiama questo metodo per notificare a OpenThread che la trasmissione è iniziata.

Dettagli
Parametri
[in] aInstance
Un puntatore alla struttura dell'istanza OpenThread.
[in] aFrame
Un puntatore al frame che viene trasmesso.

otPlatRadioUpdateCslSampleTime

void otPlatRadioUpdateCslSampleTime(
  otInstance *aInstance,
  uint32_t aCslSampleTime
)

Aggiorna tempo di campionamento CSL nel driver radio.

L'ora di esempio viene memorizzata nel driver radio come copia per calcolare la fase quando si invia ACK con CSL IE.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aCslSampleTime
L'ultima ora di esempio.

Risorse

Gli argomenti di riferimento dell'API OpenThread provengono dal codice sorgente, disponibile su GitHub. Per scoprire di più o per contribuire alla nostra documentazione, consulta le Risorse.