otRadioFrame
#include <radio.h>
Essa estrutura representa um frame de rádio IEEE 802.15.4.
Resumo
Atributos públicos |
|
---|---|
mAckFrameCounter
|
uint32_t
Contador de frames de segurança ACK (aplicável quando
mAckedWithSecEnhAck é definido). |
mAckKeyId
|
uint8_t
Índice de chave de segurança ACK (aplicável quando
mAckedWithSecEnhAck é definido). |
mAckedWithFramePending
|
bool
Indica se o frame foi confirmado com frame pendente.
|
mAckedWithSecEnhAck
|
bool
Indica se este quadro foi confirmado com ACK de ajuste seguro.
|
mAesKey
|
const otMacKeyMaterial *
O material da chave usado para a segurança do frame AES-CCM.
|
mChannel
|
uint8_t
Canal usado para transmitir/receber o frame.
|
mCslPresent
|
bool
Defina como verdadeiro se o cabeçalho CSL IE estiver presente.
|
mCsmaCaEnabled
|
bool
Defina como "true" para ativar a CSMA-CA nesse pacote. Caso contrário, "false".
|
mIeInfo
|
O ponteiro para as informações relacionadas ao IE do cabeçalho.
|
mInfo
|
union otRadioFrame::@24
A união de transmissão e recebimento de informações para um frame de rádio.
|
mIsARetx
|
bool
Indica se o frame é uma retransmissão ou não.
|
mIsHeaderUpdated
|
bool
Indica se os contadores de frames e os IEs da CSL foram atualizados corretamente no cabeçalho.
|
mIsSecurityProcessed
|
bool
Verdadeiro se o SubMac ignorar o processamento de AES deste frame.
|
mLength
|
uint16_t
Duração da PSDU.
|
mLqi
|
uint8_t
Indicador de qualidade do link para frames recebidos.
|
mMaxCsmaBackoffs
|
uint8_t
Número máximo de tentativas de retirada antes de declarar falha no CCA.
|
mMaxFrameRetries
|
uint8_t
Número máximo de tentativas permitido após uma falha de transmissão.
|
mPsdu
|
uint8_t *
A PSDU.
|
mRadioType
|
uint8_t
Tipo de link de rádio: deve ser ignorado pelo driver do rádio.
|
mRssi
|
int8_t
Indicador de intensidade do sinal recebido em dBm para os frames recebidos.
|
mRxChannelAfterTxDone
|
uint8_t
Canal RX após o frame TX (depois de todas as tentativas de frame: confirmação recebida, tempo limite ou cancelamento).
|
mRxInfo
|
struct otRadioFrame::@24::@26
A estrutura que representa o frame de rádio recebe informações.
|
mTimestamp
|
uint64_t
É o carimbo de data/hora em que o frame foi recebido em microssegundos.
|
mTxDelay
|
uint32_t
É o tempo de atraso da transmissão (com base em
mTxDelayBaseTime ). |
mTxDelayBaseTime
|
uint32_t
O tempo base para o atraso da transmissão.
|
mTxInfo
|
struct otRadioFrame::@24::@25
Estrutura que representa as informações de transmissão do frame de rádio.
|
Atributos públicos
mAckFrameCounter
uint32_t otRadioFrame::mAckFrameCounter
Contador de frames de segurança ACK (aplicável quando mAckedWithSecEnhAck
é definido).
Código de chave de acesso
uint8_t otRadioFrame::mAckKeyId
Índice de chave de segurança ACK (aplicável quando mAckedWithSecEnhAck
é definido).
mAckedWithFramePendente
bool otRadioFrame::mAckedWithFramePending
Indica se o frame foi confirmado com frame pendente.
mAckedWithSecEnhAck
bool otRadioFrame::mAckedWithSecEnhAck
Indica se este quadro foi confirmado com ACK de ajuste seguro.
Chave de acesso do Google
const otMacKeyMaterial * otRadioFrame::mAesKey
O material da chave usado para a segurança do frame AES-CCM.
Canal para dispositivos móveis
uint8_t otRadioFrame::mChannel
Canal usado para transmitir/receber o frame.
mCslPresent
bool otRadioFrame::mCslPresent
Defina como verdadeiro se o cabeçalho CSL IE estiver presente.
mCsmaCaAtivado
bool otRadioFrame::mCsmaCaEnabled
Defina como "true" para ativar a CSMA-CA nesse pacote. Caso contrário, "false".
Informações do aplicativo
otRadioIeInfo * otRadioFrame::mIeInfo
O ponteiro para as informações relacionadas ao IE do cabeçalho.
Informações sobre dispositivos móveis
union otRadioFrame::@24 otRadioFrame::mInfo
A união de transmissão e recebimento de informações para um frame de rádio.
mIsARetx
bool otRadioFrame::mIsARetx
Indica se o frame é uma retransmissão ou não.
mIsHeaderUpdated
bool otRadioFrame::mIsHeaderUpdated
Indica se os contadores de frames e os IEs da CSL foram atualizados corretamente no cabeçalho.
Se a camada da plataforma não fornecer o recurso OT_RADIO_CAPS_TRANSMIT_SEC
, a sinalização poderá ser ignorada.
Se a plataforma oferece o recurso OT_RADIO_CAPS_TRANSMIT_SEC
, espera-se que ela processe o processamento de segurança tx e a atribuição do contador de frames. Nesse caso, o seguinte comportamento é esperado:
Quando mIsHeaderUpdated
é definido, isso indica que o núcleo do OpenThread já definiu o contador de frames e os IEs do CSL (se a segurança estiver ativada) no frame preparado. É garantido que o contador corresponda ao valor do contador das tentativas anteriores do mesmo frame. A plataforma não pode atribuir ou mudar o contador de frames, mas ainda precisa executar o processamento de segurança dependendo da sinalização mIsSecurityProcessed
.
Se mIsHeaderUpdated
não estiver definido, o contador de frames e a chave CSL IE não serão definidos no frame pelo núcleo do OpenThread, e será responsabilidade da plataforma de rádio atribuí-los. A plataforma deve atualizar o cabeçalho do frame (atribuir valores de contagem do CSL e IE) antes de enviar o frame over the air (OTA). No entanto, se a transmissão for cancelada e o frame não for enviado (por exemplo, erro de acesso ao canal), a plataforma poderá optar por não atualizar o cabeçalho. Se a plataforma atualizar o cabeçalho, ela também precisará definir essa sinalização antes de retornar o frame do callback otPlatRadioTxDone()
.
mIsSecurityProcessed (em inglês)
bool otRadioFrame::mIsSecurityProcessed
Verdadeiro se o SubMac ignorar o processamento de AES deste frame.
Comprimento
uint16_t otRadioFrame::mLength
Duração da PSDU.
mLi
uint8_t otRadioFrame::mLqi
Indicador de qualidade do link para frames recebidos.
mMaxCsmaBackoffs
uint8_t otRadioFrame::mMaxCsmaBackoffs
Número máximo de tentativas de retirada antes de declarar falha no CCA.
mMaxFrameRetries
uint8_t otRadioFrame::mMaxFrameRetries
Número máximo de tentativas permitido após uma falha de transmissão.
mPsdu
uint8_t * otRadioFrame::mPsdu
A PSDU.
Tipo de rádio
uint8_t otRadioFrame::mRadioType
Tipo de link de rádio: deve ser ignorado pelo driver do rádio.
RMR
int8_t otRadioFrame::mRssi
Indicador de intensidade do sinal recebido em dBm para os frames recebidos.
mRxChannelAfterTxDone
uint8_t otRadioFrame::mRxChannelAfterTxDone
Canal RX após o frame TX (depois de todas as tentativas de frame: confirmação recebida, tempo limite ou cancelamento).
As plataformas de rádio podem optar por ignorar completamente isso. A pilha OT vai chamar o otPlatRadioReceive()
com o canal RX desejado depois que um TX de frame for concluído e sinalizado no callback otPlatRadioTxDone()
. As plataformas de rádio que não fornecem OT_RADIO_CAPS_TRANSMIT_RETRIES
precisam sempre ignorar isso.
Isso é destinado a situações em que pode haver atraso nas interações entre a pilha de OT e o rádio. Por exemplo, isso é usado na arquitetura RCP/host para garantir que o RCP alterne para o canal PAN mais rapidamente. Isso pode ajudar especialmente a CSL tx a uma criança com sono, em que ela pode usar um canal para CSL diferente do canal PAN. Depois do frame tx, queremos que o rádio/RCP volte ao canal PAN rapidamente para garantir que o pai não perca o tx da criança depois. Por exemplo, a criança responde ao frame CSL transmitido pelo pai usando o canal PAN enquanto o rádio permanece no canal CSL.
A mudança para o canal RX PRECISA acontecer depois que o frame TX for concluído, ou seja, depois de todas as novas tentativas e quando a confirmação for recebida (quando a sinalização "Ack Request" for definida no frame TX) ou o tempo limite de confirmação. É esperado que "ack" seja confirmado no mesmo canal em que o frame é enviado.
Informações do mRx
struct otRadioFrame::@24::@26 otRadioFrame::mRxInfo
A estrutura que representa o frame de rádio recebe informações.
Carimbo de data/hora
uint64_t otRadioFrame::mTimestamp
É o carimbo de data/hora em que o frame foi recebido em microssegundos.
O valor DEVE ser a hora em que a SFD foi recebida.
mTxDelay
uint32_t otRadioFrame::mTxDelay
É o tempo de atraso da transmissão (com base em mTxDelayBaseTime
).
mTxDelayBaseTime
uint32_t otRadioFrame::mTxDelayBaseTime
O tempo base para o atraso da transmissão.
Informações do mTx
struct otRadioFrame::@24::@25 otRadioFrame::mTxInfo
Estrutura que representa as informações de transmissão do frame de rádio.
Recursos
Os tópicos de referência da API OpenThread são originados do código-fonte, disponível no GitHub. Para mais informações ou para contribuir com nossa documentação, consulte Recursos.