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
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.