otRadioFrame
#include <radio.h>
Representa una trama de radio IEEE 802.15.4.
Resumen
Atributos públicos |
|
---|---|
mAckFrameCounter
|
uint32_t
Contador de marcos de seguridad ACK (aplicable cuando se configura
mAckedWithSecEnhAck ). |
mAckKeyId
|
uint8_t
Índice de la llave de seguridad ACK (aplicable cuando se establece
mAckedWithSecEnhAck ). |
mAckedWithFramePending
|
bool
Esto indica si esta trama se reconoció con la trama pendiente establecida.
|
mAckedWithSecEnhAck
|
bool
Esto indica si esta trama se reconoció con ACK de mejora segura.
|
mAesKey
|
const otMacKeyMaterial *
Es el material de clave que se usa para la seguridad de tramas AES-CCM.
|
mChannel
|
uint8_t
Canal utilizado para transmitir/recibir la trama.
|
mCslPresent
|
bool
Se establece como verdadero si está presente el encabezado CSL IE.
|
mCsmaCaEnabled
|
bool
Se establece como verdadero a fin de habilitar CSMA-CA para este paquete; de lo contrario, se establece como falso.
|
mIeInfo
|
Es el puntero a la información relacionada con IE de cabecera.
|
mInfo
|
union otRadioFrame::@24
Es la unión de la información de transmisión y recepción para una trama de radio.
|
mIsARetx
|
bool
Indica si la trama es una retransmisión o no.
|
mIsHeaderUpdated
|
bool
Indica si el contador de marcos y los IEs de CSL se actualizan correctamente en el encabezado.
|
mIsSecurityProcessed
|
bool
Verdadero si SubMac debe omitir el procesamiento AES de este marco.
|
mLength
|
uint16_t
Longitud de la PDU.
|
mLqi
|
uint8_t
Indicador de calidad de vínculos para los marcos recibidos.
|
mMaxCsmaBackoffs
|
uint8_t
Cantidad máxima de intentos de retirada antes de declarar un error de CCA.
|
mMaxFrameRetries
|
uint8_t
Cantidad máxima de reintentos permitidos después de una falla de transmisión.
|
mPsdu
|
uint8_t *
La PSDU.
|
mRadioType
|
uint8_t
Tipo de vínculo de radio: El controlador de radio debe ignorarlo.
|
mRssi
|
int8_t
Indicador de intensidad de señal recibida en dBm para los fotogramas recibidos.
|
mRxChannelAfterTxDone
|
uint8_t
Canal de RX después de la transmisión de la trama (después de todos los reintentos de trama: recepción de confirmación, tiempo de espera o anulación).
|
mRxInfo
|
struct otRadioFrame::@24::@26
La estructura que representa la recepción de información de la trama de radio
|
mTimestamp
|
uint64_t
Es la hora del reloj de la radio local en microsegundos cuando el final del SFD estaba presente en la antena local.
|
mTxDelay
|
uint32_t
El tiempo de retraso en microsegundos para esta transmisión al que se hace referencia como
mTxDelayBaseTime . |
mTxDelayBaseTime
|
uint32_t
La hora base en microsegundos para las transmisiones programadas relativas al reloj de radio local. Consulta
otPlatRadioGetNow y mTxDelay . |
mTxInfo
|
struct otRadioFrame::@24::@25
Estructura que representa la información de transmisión de una trama de radio
|
Atributos públicos
mAckFrameCounter
uint32_t otRadioFrame::mAckFrameCounter
Contador de marcos de seguridad ACK (aplicable cuando se configura mAckedWithSecEnhAck
).
mAckKeyId
uint8_t otRadioFrame::mAckKeyId
Índice de la llave de seguridad ACK (aplicable cuando se establece mAckedWithSecEnhAck
).
mAckedWithFramePending
bool otRadioFrame::mAckedWithFramePending
Esto indica si esta trama se reconoció con la trama pendiente establecida.
mAckedWithSecEnhAck
bool otRadioFrame::mAckedWithSecEnhAck
Esto indica si esta trama se reconoció con ACK de mejora segura.
mAesKey
const otMacKeyMaterial * otRadioFrame::mAesKey
Es el material de clave que se usa para la seguridad de tramas AES-CCM.
mChannel
uint8_t otRadioFrame::mChannel
Canal utilizado para transmitir/recibir la trama.
mCslPresent
bool otRadioFrame::mCslPresent
Se establece como verdadero si está presente el encabezado CSL IE.
mCsmaCaEnabled
bool otRadioFrame::mCsmaCaEnabled
Se establece como verdadero a fin de habilitar CSMA-CA para este paquete; de lo contrario, se establece como falso.
mIeInfo
otRadioIeInfo * otRadioFrame::mIeInfo
Es el puntero a la información relacionada con IE de cabecera.
mInfo
union otRadioFrame::@24 otRadioFrame::mInfo
Es la unión de la información de transmisión y recepción para una trama de radio.
mIsARetx
bool otRadioFrame::mIsARetx
Indica si la trama es una retransmisión o no.
mIsHeaderUpdated
bool otRadioFrame::mIsHeaderUpdated
Indica si el contador de marcos y los IEs de CSL se actualizan correctamente en el encabezado.
Si la capa de la plataforma no proporciona la capacidad OT_RADIO_CAPS_TRANSMIT_SEC
, puede ignorar esta marca.
Si la plataforma proporciona la capacidad OT_RADIO_CAPS_TRANSMIT_SEC
, se espera que la plataforma maneje el procesamiento de seguridad TX y la asignación del contador de fotogramas. En este caso, se espera que ocurra el siguiente comportamiento:
Cuando se establece mIsHeaderUpdated
, indica que el núcleo de OpenThread ya estableció el contador de fotogramas y los IE de CSL (si la seguridad está habilitada) en el fotograma preparado. Se garantiza que el contador coincida con el valor del contador de los intentos anteriores del mismo fotograma. La plataforma no debe asignar ni cambiar el contador de fotogramas (pero es posible que deba realizar el procesamiento de seguridad según la marca mIsSecurityProcessed
).
Si no se establece mIsHeaderUpdated
, el contador de fotogramas y CSL IE de clave no se establecerán en el fotograma por parte del núcleo de OpenThread, y es responsabilidad de la plataforma de radio asignarlos. La plataforma debe actualizar el encabezado del marco (asignar el contador y valores CSL IE) antes de enviar la trama de manera inalámbrica. Sin embargo, si se anula la transmisión y la trama nunca se envía de forma inalámbrica (p. ej., un error de acceso al canal), la plataforma puede optar por no actualizar el encabezado. Si la plataforma actualiza el encabezado, también debe establecer esta marca antes de pasar el marco de la devolución de llamada otPlatRadioTxDone()
.
mIsSecurityProcessed
bool otRadioFrame::mIsSecurityProcessed
Verdadero si SubMac debe omitir el procesamiento AES de este marco.
mLength
uint16_t otRadioFrame::mLength
Longitud de la PDU.
mLqi
uint8_t otRadioFrame::mLqi
Indicador de calidad de vínculos para los marcos recibidos.
mMaxCsmaBackoffs
uint8_t otRadioFrame::mMaxCsmaBackoffs
Cantidad máxima de intentos de retirada antes de declarar un error de CCA.
mMaxFrameRetries
uint8_t otRadioFrame::mMaxFrameRetries
Cantidad máxima de reintentos permitidos después de una falla de transmisión.
mPsdu
uint8_t * otRadioFrame::mPsdu
La PSDU.
mRadioType
uint8_t otRadioFrame::mRadioType
Tipo de vínculo de radio: El controlador de radio debe ignorarlo.
mRssi
int8_t otRadioFrame::mRssi
Indicador de intensidad de señal recibida en dBm para los fotogramas recibidos.
mRxChannelAfterTxDone
uint8_t otRadioFrame::mRxChannelAfterTxDone
Canal de RX después de la transmisión de la trama (después de todos los reintentos de trama: recepción de confirmación, tiempo de espera o anulación).
Las plataformas de radio pueden ignorar esto por completo. La pila OT garantizará que se llame a otPlatRadioReceive()
con el canal RX deseado después de que se complete la transmisión de un fotograma y se indique en la devolución de llamada otPlatRadioTxDone()
. Las plataformas de radio que no proporcionan OT_RADIO_CAPS_TRANSMIT_RETRIES
siempre deben ignorar esto.
Esto está diseñado para situaciones en las que puede haber retrasos en las interacciones entre la pila OT y la radio, a modo de ejemplo, se usa en la arquitectura de RCP/host para garantizar que el RCP cambie al canal PAN más rápido. En particular, esto puede ayudar con la transmisión del CSL a un niño con sueño, ya que este puede usar un canal diferente para el CSL que el canal PAN. Después del fotograma tx, queremos que la radio/RCP vuelva rápidamente al canal PAN para garantizar que el padre no pierda la tx del niño después, p.ej., el niño responde al fotograma anterior transmitido con CSL desde el padre usando el canal PAN mientras la radio permanece en el canal CSL.
El cambio al canal RX DEBE producirse una vez que se completa la transmisión de la trama, es decir, después de todos los reintentos y cuando se recibe la confirmación (cuando se establece el marcador "Ack Request" en la trama de transmisión) o cuando se agota el tiempo de espera. Ten en cuenta que la confirmación se espera en el mismo canal en el que se envía la trama.
mRxInfo
struct otRadioFrame::@24::@26 otRadioFrame::mRxInfo
La estructura que representa la recepción de información de la trama de radio
mTimestamp
uint64_t otRadioFrame::mTimestamp
Es la hora del reloj de la radio local en microsegundos cuando el final del SFD estaba presente en la antena local.
mTxDelay
uint32_t otRadioFrame::mTxDelay
El tiempo de retraso en microsegundos para esta transmisión al que se hace referencia como mTxDelayBaseTime
.
Nota: mTxDelayBaseTime
+ mTxDelay
indicarán el momento exacto en el que el final del SFD estará presente en la antena local, en relación con el reloj de la radio local.
mTxDelayBaseTime
uint32_t otRadioFrame::mTxDelayBaseTime
La hora base en microsegundos para las transmisiones programadas relativas al reloj de radio local. Consulta otPlatRadioGetNow
y mTxDelay
.
mTxInfo
struct otRadioFrame::@24::@25 otRadioFrame::mTxInfo
Estructura que representa la información de transmisión de una trama de radio
Recursos
Los temas de referencia de la API de OpenThread se originan a partir del código fuente, disponible en GitHub. Para obtener más información o contribuir a nuestra documentación, consulta Recursos.