otRadioFrame
#include <radio.h>
Rappresenta un frame radio IEEE 802.15.4.
Riepilogo
Attributi pubblici |
|
---|---|
mAckFrameCounter
|
uint32_t
Contatore frame di sicurezza ACK (applicabile quando è impostato
mAckedWithSecEnhAck ). |
mAckKeyId
|
uint8_t
Indice del token di sicurezza ACK (applicabile se viene impostato
mAckedWithSecEnhAck ). |
mAckedWithFramePending
|
bool
Indica se questo frame è stato confermato con il frame in attesa impostato.
|
mAckedWithSecEnhAck
|
bool
Indica se questo frame è stato confermato con ACK di miglioramento sicuro.
|
mAesKey
|
const otMacKeyMaterial *
Il materiale delle chiavi utilizzato per la sicurezza del frame AES-CCM.
|
mChannel
|
uint8_t
Canale utilizzato per trasmettere/ricevere il frame.
|
mCslPresent
|
bool
Impostalo su true se è presente l'intestazione CSL IE.
|
mCsmaCaEnabled
|
bool
Impostalo su true per abilitare CSMA-CA per questo pacchetto, altrimenti su false.
|
mIeInfo
|
Il puntatore alle informazioni relative all'intestazione IE.
|
mInfo
|
union otRadioFrame::@24
L'unione di trasmissione e ricezione di informazioni per una cornice radio.
|
mIsARetx
|
bool
Indica se il frame è una ritrasmissione o meno.
|
mIsHeaderUpdated
|
bool
Indica se il contatore frame e gli IE CSL sono aggiornati correttamente nell'intestazione.
|
mIsSecurityProcessed
|
bool
True se SubMac deve saltare l'elaborazione AES di questo frame.
|
mLength
|
uint16_t
Lunghezza della PSDU.
|
mLqi
|
uint8_t
Indicatore di qualità del link per i frame ricevuti.
|
mMaxCsmaBackoffs
|
uint8_t
Numero massimo di tentativi di backoff prima di dichiarare un errore CCA.
|
mMaxFrameRetries
|
uint8_t
Numero massimo di nuovi tentativi consentiti dopo un errore di trasmissione.
|
mPsdu
|
uint8_t *
La PSDU.
|
mRadioType
|
uint8_t
Tipo di link della radio. Deve essere ignorato dal driver della radio.
|
mRssi
|
int8_t
Indicatore dell'intensità del segnale ricevuto in dBm per i fotogrammi ricevuti.
|
mRxChannelAfterTxDone
|
uint8_t
Il canale RX dopo il completamento della trasmissione del frame (dopo tutti i nuovi tentativi di frame - conferma ricevuta, timeout o interruzione).
|
mRxInfo
|
struct otRadioFrame::@24::@26
Una struttura che rappresenta la cornice radio riceve informazioni.
|
mTimestamp
|
uint64_t
L'ora dell'orologio radio locale in microsecondi quando la fine del SFD era presente sull'antenna locale.
|
mTxDelay
|
uint32_t
Il tempo di ritardo in microsecondi per questa trasmissione a cui si fa riferimento in
mTxDelayBaseTime . |
mTxDelayBaseTime
|
uint32_t
Il tempo di base in microsecondi per le trasmissioni programmate in relazione all'orologio radio locale; vedi
otPlatRadioGetNow e mTxDelay . |
mTxInfo
|
struct otRadioFrame::@24::@25
Struttura che rappresenta le informazioni di trasmissione di un frame radio.
|
Attributi pubblici
mAckFrameCounter
uint32_t otRadioFrame::mAckFrameCounter
Contatore frame di sicurezza ACK (applicabile quando è impostato mAckedWithSecEnhAck
).
mAckKeyId
uint8_t otRadioFrame::mAckKeyId
Indice del token di sicurezza ACK (applicabile se viene impostato mAckedWithSecEnhAck
).
mAckedWithFramePending
bool otRadioFrame::mAckedWithFramePending
Indica se questo frame è stato confermato con il frame in attesa impostato.
mAckedWithSecEnhAck
bool otRadioFrame::mAckedWithSecEnhAck
Indica se questo frame è stato confermato con ACK di miglioramento sicuro.
mAesKey
const otMacKeyMaterial * otRadioFrame::mAesKey
Il materiale delle chiavi utilizzato per la sicurezza del frame AES-CCM.
mChannel
uint8_t otRadioFrame::mChannel
Canale utilizzato per trasmettere/ricevere il frame.
mCslPresent
bool otRadioFrame::mCslPresent
Impostalo su true se è presente l'intestazione CSL IE.
mCsmaCaEnabled
bool otRadioFrame::mCsmaCaEnabled
Impostalo su true per abilitare CSMA-CA per questo pacchetto, altrimenti su false.
mIeInfo
otRadioIeInfo * otRadioFrame::mIeInfo
Il puntatore alle informazioni relative all'intestazione IE.
mInfo
union otRadioFrame::@24 otRadioFrame::mInfo
L'unione di trasmissione e ricezione di informazioni per una cornice radio.
mIsARetx
bool otRadioFrame::mIsARetx
Indica se il frame è una ritrasmissione o meno.
mIsHeaderUpdated
bool otRadioFrame::mIsHeaderUpdated
Indica se il contatore frame e gli IE CSL sono aggiornati correttamente nell'intestazione.
Se il livello della piattaforma non fornisce la funzionalità OT_RADIO_CAPS_TRANSMIT_SEC
, può ignorare questo flag.
Se la piattaforma fornisce la funzionalità OT_RADIO_CAPS_TRANSMIT_SEC
, si prevede che la piattaforma gestisca l'elaborazione della sicurezza tx e l'assegnazione del contatore frame. In questo caso, è previsto il seguente comportamento:
Se il criterio mIsHeaderUpdated
è impostato, indica che il core OpenThread ha già impostato il contatore frame e gli IE CSL (se la sicurezza è abilitata) nel frame preparato. Il contatore viene assicurato che corrisponda al valore del contatore effettuato nei precedenti tentativi per lo stesso frame. La piattaforma non deve assegnare o modificare il contatore di frame (ma potrebbe comunque essere necessario eseguire l'elaborazione della sicurezza a seconda del flag mIsSecurityProcessed
).
Se il criterio mIsHeaderUpdated
non è impostato, il contatore di frame e la chiave IE CSL non sono impostati nel frame dal core OpenThread ed è responsabilità della piattaforma radio assegnarli. La piattaforma deve aggiornare l'intestazione del frame (assegnare valori di contatore e IE CSL) prima di inviare il frame over-the-air.Tuttavia, se la trasmissione viene interrotta e il frame non viene mai inviato over-the-air (ad es. errore di accesso al canale), la piattaforma potrebbe scegliere di non aggiornare l'intestazione. Se la piattaforma aggiorna l'intestazione, deve anche impostare questo flag prima di trasmettere il frame dal callback otPlatRadioTxDone()
.
mIsSecurityProcessed
bool otRadioFrame::mIsSecurityProcessed
True se SubMac deve saltare l'elaborazione AES di questo frame.
mLength
uint16_t otRadioFrame::mLength
Lunghezza della PSDU.
mLqi
uint8_t otRadioFrame::mLqi
Indicatore di qualità del link per i frame ricevuti.
mMaxCsmaBackoffs
uint8_t otRadioFrame::mMaxCsmaBackoffs
Numero massimo di tentativi di backoff prima di dichiarare un errore CCA.
mMaxFrameRetries
uint8_t otRadioFrame::mMaxFrameRetries
Numero massimo di nuovi tentativi consentiti dopo un errore di trasmissione.
mPsdu
uint8_t * otRadioFrame::mPsdu
La PSDU.
mRadioType
uint8_t otRadioFrame::mRadioType
Tipo di link della radio. Deve essere ignorato dal driver della radio.
mRssi
int8_t otRadioFrame::mRssi
Indicatore dell'intensità del segnale ricevuto in dBm per i fotogrammi ricevuti.
mRxChannelAfterTxDone
uint8_t otRadioFrame::mRxChannelAfterTxDone
Il canale RX dopo il completamento della trasmissione del frame (dopo tutti i nuovi tentativi di frame - conferma ricevuta, timeout o interruzione).
Le piattaforme radio possono decidere di ignorarlo completamente. Lo stack OT si assicurerà di chiamare otPlatRadioReceive()
con il canale RX desiderato dopo che il TX di un frame è stato effettuato e segnalato nel callback otPlatRadioTxDone()
. Le piattaforme radio che non forniscono OT_RADIO_CAPS_TRANSMIT_RETRIES
devono sempre ignorare questo messaggio.
Questa funzionalità è destinata a situazioni in cui potrebbe verificarsi un ritardo nelle interazioni tra lo stack OT e la radio, come ad esempio utilizzato nell'architettura RCP/host per garantire che RCP passi al canale PAN più rapidamente. In particolare, questo può essere d'aiuto con il CSL in un bambino che ha sonno, in cui il bambino potrebbe utilizzare un canale diverso da quello del PAN. Dopo il frame tx, vogliamo che la radio/RCP torni rapidamente al canale PAN per fare in modo che successivamente il genitore non perda tx dal bambino, ad esempio il bambino che risponde al precedente frame CSL trasmesso dal genitore utilizzando il canale PAN mentre la radio rimane sul canale CSL.
Il passaggio al canale RX DEVE avvenire dopo che il TX del frame è completamente fatto, cioè dopo tutti i nuovi tentativi e alla ricezione di ACK (quando il flag "Ack Request" è impostato sul TX frame) o ack timeout. Tieni presente che la conferma è prevista sullo stesso canale su cui viene inviato il frame.
mRxInfo
struct otRadioFrame::@24::@26 otRadioFrame::mRxInfo
Una struttura che rappresenta la cornice radio riceve informazioni.
mTimestamp
uint64_t otRadioFrame::mTimestamp
L'ora dell'orologio radio locale in microsecondi quando la fine del SFD era presente sull'antenna locale.
mTxDelay
uint32_t otRadioFrame::mTxDelay
Il tempo di ritardo in microsecondi per questa trasmissione a cui si fa riferimento in mTxDelayBaseTime
.
Nota: mTxDelayBaseTime
+ mTxDelay
DEVONO puntare al momento in cui la fine del SFD sarà presente all'antenna locale, rispetto all'orologio radio locale.
mTxDelayBaseTime
uint32_t otRadioFrame::mTxDelayBaseTime
Il tempo di base in microsecondi per le trasmissioni programmate in relazione all'orologio radio locale; vedi otPlatRadioGetNow
e mTxDelay
.
mTxInfo
struct otRadioFrame::@24::@25 otRadioFrame::mTxInfo
Struttura che rappresenta le informazioni di trasmissione di un frame radio.
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.