otRadioFrame
#include <radio.h>
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 está definido). |
mAckKeyId
|
uint8_t
Índice de chave de segurança ACK (aplicável quando
mAckedWithSecEnhAck está definido). |
mAckedWithFramePending
|
bool
Indica se o frame foi confirmado com o conjunto de frames pendentes.
|
mAckedWithSecEnhAck
|
bool
Isso indica se esse frame foi confirmado com o ACK de aprimoramento seguro.
|
mAesKey
|
const otMacKeyMaterial *
O material da chave usado para a segurança de frames AES-CCM.
|
mChannel
|
uint8_t
Canal usado para transmitir/receber o frame.
|
mCslPresent
|
bool
Defina como "true" se o IE do cabeçalho CSL estiver presente.
|
mCsmaCaEnabled
|
bool
Defina como verdadeiro para ativar o CSMA-CA para este pacote. Caso contrário, defina como falso.
|
mIeInfo
|
O ponteiro para as informações relacionadas ao cabeçalho IE.
|
mInfo
|
union otRadioFrame::@24
A união de informações de transmissão e recebimento para um frame de rádio.
|
mIsARetx
|
bool
Indica se o frame é uma retransmissão ou não.
|
mIsHeaderUpdated
|
bool
Indica se o contador de frames e os CSL IEs estão devidamente atualizados no cabeçalho.
|
mIsSecurityProcessed
|
bool
Verdadeiro se o SubMac precisar ignorar o processamento AES desse frame.
|
mLength
|
uint16_t
Comprimento da PSDU.
|
mLqi
|
uint8_t
Indicador de qualidade do link para frames recebidos.
|
mMaxCsmaBackoffs
|
uint8_t
Número máximo de tentativas de espera antes de declarar uma falha na CCA.
|
mMaxFrameRetries
|
uint8_t
Número máximo de tentativas permitidas após uma falha de transmissão.
|
mPsdu
|
uint8_t *
A PSDU.
|
mRadioType
|
uint8_t
Tipo de link de opção: deve ser ignorado pelo driver de rádio.
|
mRssi
|
int8_t
Indicador da intensidade do sinal recebido em dBm para os frames recebidos.
|
mRxChannelAfterTxDone
|
uint8_t
O canal RX após a conclusão do TX do frame (após todas as novas tentativas de frame: confirmação recebida, tempo limite ou cancelamento).
|
mRxInfo
|
struct otRadioFrame::@24::@26
Estrutura que representa a informação de recebimento do frame do rádio.
|
mTimestamp
|
uint64_t
A hora do relógio de rádio local em microssegundos quando o fim do SFD estava presente na antena local.
|
mTxDelay
|
uint32_t
O tempo de atraso em microssegundos para esta transmissão referenciado a
mTxDelayBaseTime . |
mTxDelayBaseTime
|
uint32_t
O horário base em microssegundos para transmissões programadas relacionadas ao relógio de rádio local. Consulte
otPlatRadioGetNow e mTxDelay . |
mTxInfo
|
struct otRadioFrame::@24::@25
Estrutura que representa informações de transmissão de frame de rádio.
|
Atributos públicos
mAckFrameCounter
uint32_t otRadioFrame::mAckFrameCounter
Contador de frames de segurança ACK (aplicável quando mAckedWithSecEnhAck
está definido).
mAckKeyId
uint8_t otRadioFrame::mAckKeyId
Índice de chave de segurança ACK (aplicável quando mAckedWithSecEnhAck
está definido).
mAckedWithFramePending
bool otRadioFrame::mAckedWithFramePending
Indica se o frame foi confirmado com o conjunto de frames pendentes.
mAckedWithSecEnhAck
bool otRadioFrame::mAckedWithSecEnhAck
Isso indica se esse frame foi confirmado com o ACK de aprimoramento seguro.
mAesKey
const otMacKeyMaterial * otRadioFrame::mAesKey
O material da chave usado para a segurança de frames AES-CCM.
mChannel
uint8_t otRadioFrame::mChannel
Canal usado para transmitir/receber o frame.
mCslPresent
bool otRadioFrame::mCslPresent
Defina como "true" se o IE do cabeçalho CSL estiver presente.
mCsmaCaEnabled
bool otRadioFrame::mCsmaCaEnabled
Defina como verdadeiro para ativar o CSMA-CA para este pacote. Caso contrário, defina como falso.
mIeInfo
otRadioIeInfo * otRadioFrame::mIeInfo
O ponteiro para as informações relacionadas ao cabeçalho IE.
mInfo
union otRadioFrame::@24 otRadioFrame::mInfo
A união de informações de transmissão e recebimento 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 o contador de frames e os CSL IEs estão devidamente atualizados no cabeçalho.
Se a camada de plataforma não fornecer o recurso OT_RADIO_CAPS_TRANSMIT_SEC
, ela pode ignorar essa sinalização.
Se a plataforma fornecer o recurso OT_RADIO_CAPS_TRANSMIT_SEC
, ela vai precisar processar o processamento de segurança tx e a atribuição do contador de frames. Nesse caso, o comportamento a seguir é esperado:
Quando mIsHeaderUpdated
está definido, isso indica que o núcleo do OpenThread já definiu o contador de frames e os CSL IEs (se a segurança estiver ativada) no frame preparado. O contador é garantido para corresponder ao valor do contador das tentativas anteriores do mesmo frame. A plataforma não pode atribuir ou mudar o contador de frames, mas ainda pode ser necessário realizar o processamento de segurança, dependendo da flag 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, sendo responsabilidade da plataforma de rádio atribuí-los. A plataforma deve atualizar o cabeçalho do frame (atribuir valores de contador e CSL IE) antes de enviar o frame over the air. No entanto, se a transmissão for cancelada e o frame nunca 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 vai precisar definir essa flag antes de transmitir o frame de volta do callback otPlatRadioTxDone()
.
mIsSecurityProcessed
bool otRadioFrame::mIsSecurityProcessed
Verdadeiro se o SubMac precisar ignorar o processamento AES desse frame.
mLength
uint16_t otRadioFrame::mLength
Comprimento da PSDU.
mLqi
uint8_t otRadioFrame::mLqi
Indicador de qualidade do link para frames recebidos.
mMaxCsmaBackoffs
uint8_t otRadioFrame::mMaxCsmaBackoffs
Número máximo de tentativas de espera antes de declarar uma falha na CCA.
mMaxFrameRetries
uint8_t otRadioFrame::mMaxFrameRetries
Número máximo de tentativas permitidas após uma falha de transmissão.
mPsdu
uint8_t * otRadioFrame::mPsdu
A PSDU.
mRadioType
uint8_t otRadioFrame::mRadioType
Tipo de link de opção: deve ser ignorado pelo driver de rádio.
mRssi
int8_t otRadioFrame::mRssi
Indicador da intensidade do sinal recebido em dBm para os frames recebidos.
mRxChannelAfterTxDone
uint8_t otRadioFrame::mRxChannelAfterTxDone
O canal RX após a conclusão do TX do frame (após todas as novas tentativas de frame: confirmação recebida, tempo limite ou cancelamento).
As plataformas de rádio podem ignorar isso totalmente. A pilha OT vai chamar otPlatRadioReceive()
com o canal RX desejado depois que um TX de frame for concluído e sinalizado no callback otPlatRadioTxDone()
. 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 OT e o rádio. Por exemplo, é usado na arquitetura RCP/host para garantir que o RCP mude para o canal PAN mais rapidamente. Isso pode ajudar principalmente com a CSL para enviar a uma criança dormindo, porque ela pode usar um canal de CSL diferente do PAN. Depois do tx do frame, queremos que o rádio/RCP volte ao canal PAN rapidamente para garantir que o pai não perca o tx do filho depois, por exemplo, o filho respondendo ao frame transmitido pelo CSL anterior usando o canal PAN enquanto o rádio ainda permanece no canal CSL.
A mudança para o canal RX PRECISA acontecer após a conclusão do TX do frame, ou seja, após todas as tentativas e quando a confirmação for recebida (quando a sinalização "Solicitação de confirmação" estiver definida no frame TX) ou o tempo limite de confirmação. A confirmação é esperada no mesmo canal em que o frame é enviado.
mRxInfo
struct otRadioFrame::@24::@26 otRadioFrame::mRxInfo
Estrutura que representa a informação de recebimento do frame do rádio.
mTimestamp
uint64_t otRadioFrame::mTimestamp
A hora do relógio de rádio local em microssegundos quando o fim do SFD estava presente na antena local.
mTxDelay
uint32_t otRadioFrame::mTxDelay
O tempo de atraso em microssegundos para esta transmissão referenciado a mTxDelayBaseTime
.
Observação: mTxDelayBaseTime
+ mTxDelay
DEVE apontar para o ponto no tempo em que o fim do SFD estará presente na antena local, em relação ao relógio de rádio local.
mTxDelayBaseTime
uint32_t otRadioFrame::mTxDelayBaseTime
O horário base em microssegundos para transmissões programadas relacionadas ao relógio de rádio local. Consulte otPlatRadioGetNow
e mTxDelay
.
mTxInfo
struct otRadioFrame::@24::@25 otRadioFrame::mTxInfo
Estrutura que representa informações de transmissão de 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.