Google is committed to advancing racial equity for Black communities. See how.
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Operazione

Questo modulo include l'astrazione della piattaforma per le operazioni radio.

Sommario

Funzioni

otPlatDiagRadioReceiveDone ( otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
Il driver radio chiama questo metodo per notificare al modulo di diagnostica OpenThread un frame ricevuto.
otPlatDiagRadioTransmitDone ( otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
Il driver radio chiama questo metodo per notificare al modulo di diagnostica 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 breve indirizzo alla tabella delle corrispondenze dell'indirizzo di origine.
otPlatRadioClearSrcMatchExtEntries ( otInstance *aInstance)
void
Cancella tutti gli indirizzi estesi / lunghi dalla tabella delle corrispondenze degli indirizzi di origine.
otPlatRadioClearSrcMatchExtEntry ( otInstance *aInstance, const otExtAddress *aExtAddress)
Rimuovi un indirizzo esteso dalla tabella delle corrispondenze degli indirizzi 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)
Abilita / disabilita o aggiorna il rilevamento basato su ACK avanzato nella radio per un iniziatore specifico.
otPlatRadioDisable ( otInstance *aInstance)
Disabilita la radio.
otPlatRadioEnable ( otInstance *aInstance)
Abilita la radio.
otPlatRadioEnableCsl ( otInstance *aInstance, uint32_t aCslPeriod, const otExtAddress *aExtAddr)
Abilita o disabilita il ricevitore CSL.
otPlatRadioEnableSrcMatch ( otInstance *aInstance, bool aEnable)
void
Abilita / Disabilita la funzione di corrispondenza dell'indirizzo di origine.
otPlatRadioEnergyScan ( otInstance *aInstance, uint8_t aScanChannel, uint16_t aScanDuration)
Inizia la sequenza di scansione energetica sulla radio.
otPlatRadioEnergyScanDone ( otInstance *aInstance, int8_t aEnergyScanMaxRssi)
void
Il driver radio chiama questo metodo per notificare a OpenThread che la scansione energetica è stata completata.
otPlatRadioGetCoexMetrics ( otInstance *aInstance, otRadioCoexMetrics *aCoexMetrics)
Ottieni le metriche di coesistenza radio.
otPlatRadioGetPreferredChannelMask ( otInstance *aInstance)
uint32_t
Ottieni la maschera del canale radio preferito su cui il dispositivo preferisce formare.
otPlatRadioGetRegion ( otInstance *aInstance, uint16_t *aRegionCode)
Ottieni il codice regionale.
otPlatRadioGetRssi ( otInstance *aInstance)
int8_t
Ottieni la misurazione RSSI più recente.
otPlatRadioGetState ( otInstance *aInstance)
Ottieni lo stato attuale della radio.
otPlatRadioGetSupportedChannelMask ( otInstance *aInstance)
uint32_t
Ottieni la maschera del canale supportata dalla radio su cui il dispositivo può essere acceso.
otPlatRadioGetTransmitBuffer ( otInstance *aInstance)
Ottieni il frame buffer di trasmissione radio.
otPlatRadioIsCoexEnabled ( otInstance *aInstance)
bool
Controlla se il coex radio è abilitato o meno.
otPlatRadioIsEnabled ( otInstance *aInstance)
bool
Controlla se la radio è abilitata o meno.
otPlatRadioReceive ( otInstance *aInstance, uint8_t aChannel)
Transizione della radio da Sleep a Receive (accendere la radio).
otPlatRadioReceiveDone ( otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
Il driver 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.
otPlatRadioSetCoexEnabled ( otInstance *aInstance, bool aEnabled)
Abilita il coex radio.
otPlatRadioSetRegion ( otInstance *aInstance, uint16_t aRegionCode)
Imposta il codice regionale.
otPlatRadioSleep ( otInstance *aInstance)
Transizione della radio da Ricevi a Sospensione (spegni la radio).
otPlatRadioTransmit ( otInstance *aInstance, otRadioFrame *aFrame)
Inizia la sequenza di trasmissione sulla radio.
otPlatRadioTxDone ( otInstance *aInstance, otRadioFrame *aFrame, otRadioFrame *aAckFrame, otError aError)
void
Il driver radio chiama questa funzione per notificare a OpenThread che l'operazione di trasmissione è stata completata, fornendo sia il frame trasmesso che, se applicabile, il frame ack 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 l'ora di campionamento CSL nel driver della radio.

Funzioni

otPlatDiagRadioReceiveDone

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

Il driver radio chiama questo metodo per notificare al modulo di diagnostica OpenThread un frame ricevuto.

Questa funzione viene utilizzata quando la diagnostica è abilitata.

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

otPlatDiagRadioTransmitDone

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

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

Questa funzione viene utilizzata quando la diagnostica è abilitata.

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 ha potuto avvenire a causa dell'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 degli indirizzi di origine.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aExtAddress
L'indirizzo esteso da aggiungere memorizzato in ordine di byte little-endian.
Valori restituiti
OT_ERROR_NONE
Indirizzo esteso aggiunto con successo alla tabella delle corrispondenze di origine.
OT_ERROR_NO_BUFS
Nessuna voce disponibile nella tabella delle corrispondenze di origine.

otPlatRadioAddSrcMatchShortEntry

otError otPlatRadioAddSrcMatchShortEntry(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

Aggiungi un breve indirizzo 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
Indirizzo breve aggiunto con successo 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 / lunghi dalla tabella delle corrispondenze degli indirizzi 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 degli indirizzi di origine.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aExtAddress
L'indirizzo esteso da rimuovere memorizzato in ordine di byte little-endian.
Valori restituiti
OT_ERROR_NONE
Rimosso con successo l'indirizzo esteso dalla tabella delle corrispondenze di origine.
OT_ERROR_NO_ADDRESS
L'indirizzo esteso non è 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
Indirizzo breve rimosso con successo dalla tabella delle corrispondenze di origine.
OT_ERROR_NO_ADDRESS
L'indirizzo breve non è nella tabella delle corrispondenze dell'indirizzo di origine.

otPlatRadioConfigureEnhAckProbing

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

Abilita / disabilita o aggiorna il rilevamento basato su ACK avanzato nella radio per un iniziatore specifico.

Dopo che Enhanced-ACK Based Probing è stato configurato da uno specifico Probing Initiator, Enhanced-ACK inviato a quel nodo dovrebbe includere IE specifico del fornitore contenente i dati Link Metrics. Questo metodo informa la radio di avviare / arrestare la raccolta dei dati di Link Metrics e includere IE specifico del fornitore che contiene i dati in Enhanced-ACK inviati a tale Probing Initiator.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aLinkMetrics
Questo parametro specifica le metriche da interrogare. Per specifica 4.11.3.4.4.6, è possibile specificare al massimo 2 metriche. Il sondaggio sarebbe disabilitato se aLinkMetrics è 0 bit per bit.
[in] aShortAddr
L'indirizzo breve del Probing Initiator.
[in] aExtAddr
L'indirizzo di origine esteso di Probing Initiator. aExtAddr NON DEVE essere NULL .
Valori restituiti
OT_ERROR_NONE
Configurato correttamente il rilevamento basato su ACK avanzato.
OT_ERROR_INVALID_ARGS
aExtAddress è NULL .
OT_ERROR_NOT_FOUND
L'iniziatore indicato da aShortAddress non è stato trovato durante il tentativo di cancellazione.
OT_ERROR_NO_BUFS
Non è possibile supportare più iniziatori.

otPlatRadioDisable

otError otPlatRadioDisable(
  otInstance *aInstance
)

Disabilita la radio.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
Valori restituiti
OT_ERROR_NONE
Transito con successo a Disabilitato.
OT_ERROR_INVALID_STATE
La radio non era in stato di sospensione.

otPlatRadioEnable

otError otPlatRadioEnable(
  otInstance *aInstance
)

Abilita la radio.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
Valori restituiti
OT_ERROR_NONE
Abilitato con successo.
OT_ERROR_FAILED
Non è stato possibile abilitare la radio.

otPlatRadioEnableCsl

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

Abilita o disabilita il ricevitore CSL.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aCslPeriod
Periodo CSL, 0 per disabilitare CSL.
[in] aExtAddr
L'indirizzo di origine esteso del dispositivo padre del ricevitore CSL (quando le piattaforme generano un ack avanzato, le piattaforme potrebbero aver bisogno di conoscere ack a quale indirizzo dovrebbe includere CSL IE).
Valori restituiti
OT_ERROR_NOT_SUPPORTED
Il driver della radio non supporta CSL.
OT_ERROR_FAILED
Altri errori specifici della piattaforma.
OT_ERROR_NONE
CSL abilitato o disabilitato correttamente.

otPlatRadioEnableSrcMatch

void otPlatRadioEnableSrcMatch(
  otInstance *aInstance,
  bool aEnable
)

Abilita / disabilita la funzione di corrispondenza dell'indirizzo di origine.

La funzione di corrispondenza dell'indirizzo di origine controlla il modo in cui il livello radio decide il bit di "frame in sospeso" per gli ack inviati in risposta ai comandi di richiesta dati da parte dei bambini.

Se disabilitato, 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 di corrispondenza dell'indirizzo di origine per determinare se impostare o cancellare il bit "frame in sospeso" in un ack a un comando di richiesta dati.

La tabella delle corrispondenze dell'indirizzo di origine fornisce l'elenco dei figli per i quali è presente un frame in sospeso. È possibile aggiungere un indirizzo breve o un indirizzo esteso / lungo alla tabella di corrispondenza degli indirizzi di origine.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aEnable
Abilita / disabilita la funzione di corrispondenza dell'indirizzo di origine.

otPlatRadioEnergyScan

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

Inizia la sequenza di scansione energetica sulla radio.

Questa funzione viene utilizzata quando la radio fornisce la capacità 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
Avviata con successo la scansione del canale.
OT_ERROR_NOT_IMPLEMENTED
La radio non supporta la scansione energetica.

otPlatRadioEnergyScanDone

void otPlatRadioEnergyScanDone(
  otInstance *aInstance,
  int8_t aEnergyScanMaxRssi
)

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

Questa funzione viene utilizzata quando la radio fornisce la capacità OT_RADIO_CAPS_ENERGY_SCAN.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aEnergyScanMaxRssi
L'RSSI massimo riscontrato sul canale scansionato.

otPlatRadioGetCoexMetrics

otError otPlatRadioGetCoexMetrics(
  otInstance *aInstance,
  otRadioCoexMetrics *aCoexMetrics
)

Ottieni le metriche di coesistenza radio.

Questa funzione viene utilizzata quando la funzione 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
Recupero riuscito delle metriche coex.
OT_ERROR_INVALID_ARGS
aCoexMetrics era NULL.

otPlatRadioGetPreferredChannelMask

uint32_t otPlatRadioGetPreferredChannelMask(
  otInstance *aInstance
)

Ottieni la maschera del canale radio preferito su cui il dispositivo preferisce formare.

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

otPlatRadioGetRegion

otError otPlatRadioGetRegion(
  otInstance *aInstance,
  uint16_t *aRegionCode
)

Ottieni il codice regionale.

Il formato della regione 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 della radio.
Valori restituiti
OT_ERROR_INVALID_ARGS
aRegionCode è nullptr.
OT_ERROR_FAILED
Altri errori specifici della piattaforma.
OT_ERROR_NONE
Codice regione ottenuto con successo.

otPlatRadioGetRssi

int8_t otPlatRadioGetRssi(
  otInstance *aInstance
)

Ottieni la misurazione RSSI più recente.

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

otPlatRadioGetState

otRadioState otPlatRadioGetState(
  otInstance *aInstance
)

Ottieni lo stato attuale della radio.

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

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

otPlatRadioGetSupportedChannelMask

uint32_t otPlatRadioGetSupportedChannelMask(
  otInstance *aInstance
)

Ottieni la maschera del canale supportata dalla radio su cui il dispositivo può essere acceso.

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

otPlatRadioGetTransmitBuffer

otRadioFrame * otPlatRadioGetTransmitBuffer(
  otInstance *aInstance
)

Ottieni il frame 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.
ritorna
Un puntatore al frame buffer di trasmissione.

otPlatRadioIsCoexEnabled

bool otPlatRadioIsCoexEnabled(
  otInstance *aInstance
)

Controlla se il coex radio è abilitato o meno.

Questa funzione viene utilizzata quando la funzione OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE è abilitata.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
ritorna
VERO se il coex radio è abilitato, FALSO altrimenti.

otPlatRadioIsEnabled

bool otPlatRadioIsEnabled(
  otInstance *aInstance
)

Controlla se la radio è abilitata o meno.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
ritorna
VERO se la radio è abilitata, FALSO altrimenti.

otPlatRadioReceive

otError otPlatRadioReceive(
  otInstance *aInstance,
  uint8_t aChannel
)

Transizione della radio da Sleep a Receive (accendere 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 riuscita a Ricevi.
OT_ERROR_INVALID_STATE
La radio era disattivata o stava trasmettendo.

otPlatRadioReceiveDone

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

Il driver radio chiama questo metodo per notificare a OpenThread un frame ricevuto.

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

otPlatRadioSetChannelMaxTransmitPower

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

Imposta 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, passando OT_RADIO_RSSI_INVALID disabiliterà 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
Impostare con successo la potenza di trasmissione massima.

otPlatRadioSetCoexEnabled

otError otPlatRadioSetCoexEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Abilita il coex radio.

Questa funzione viene utilizzata quando la funzione 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 altrimenti.
Valori restituiti
OT_ERROR_NONE
Abilitato con successo.
OT_ERROR_FAILED
Non è stato possibile abilitare il coex radio.

otPlatRadioSetRegion

otError otPlatRadioSetRegion(
  otInstance *aInstance,
  uint16_t aRegionCode
)

Imposta il codice regionale.

Il formato della regione 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 della radio.
Valori restituiti
OT_ERROR_FAILED
Altri errori specifici della piattaforma.
OT_ERROR_NONE
Imposta correttamente il codice regione.

otPlatRadioSleep

otError otPlatRadioSleep(
  otInstance *aInstance
)

Transizione della radio da Ricevi a Sospensione (spegni la radio).

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
Valori restituiti
OT_ERROR_NONE
Transizione riuscita a Sleep.
OT_ERROR_BUSY
La radio stava trasmettendo.
OT_ERROR_INVALID_STATE
La radio è stata disattivata.

otPlatRadioTransmit

otError otPlatRadioTransmit(
  otInstance *aInstance,
  otRadioFrame *aFrame
)

Inizia la sequenza di trasmissione sulla radio.

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

La sequenza di trasmissione consiste in:

  1. Transizione della radio alla trasmissione da uno dei seguenti stati:
    • 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 e OT_RADIO_CAPS_SLEEP_TO_TX è supportato.
  2. Trasmette il psdu sul canale dato e alla potenza di trasmissione data.

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

otPlatRadioTxDone

void otPlatRadioTxDone(
  otInstance *aInstance,
  otRadioFrame *aFrame,
  otRadioFrame *aAckFrame,
  otError aError
)

Il driver radio chiama questa funzione per notificare a OpenThread che l'operazione di trasmissione è stata completata, fornendo sia il frame trasmesso che, se applicabile, il frame ack ricevuto.

Quando la radio fornisce la capacità OT_RADIO_CAPS_TRANSMIT_SEC , il livello della piattaforma radio aggiorna aFrame con il contatore dei 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 alcun ACK.
[in] aError
OT_ERROR_NONE quando il frame è stato trasmesso, OT_ERROR_NO_ACK quando il frame è stato trasmesso ma non è stato ricevuto alcun ACK, OT_ERROR_CHANNEL_ACCESS_FAILURE tx non ha potuto avvenire a causa dell'attività sul canale, OT_ERROR_ABORT quando la trasmissione è stata interrotta per altri motivi.

otPlatRadioTxStarted

void otPlatRadioTxStarted(
  otInstance *aInstance,
  otRadioFrame *aFrame
)

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

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

otPlatRadioUpdateCslSampleTime

void otPlatRadioUpdateCslSampleTime(
  otInstance *aInstance,
  uint32_t aCslSampleTime
)

Aggiorna l'ora di campionamento CSL nel driver della radio.

Il tempo di campionamento viene memorizzato nel driver radio come copia per calcolare la fase durante l'invio di ACK con CSL IE.

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