otRadioFrame
#include <radio.h>
Représente une trame radio IEEE 802.15.4.
Résumé
Attributs publics |
|
---|---|
mAckFrameCounter
|
uint32_t
Compteur de trames de sécurité ACK (applicable lorsque
mAckedWithSecEnhAck est défini). |
mAckKeyId
|
uint8_t
Index de clé de sécurité ACK (applicable lorsque
mAckedWithSecEnhAck est défini). |
mAckedWithFramePending
|
bool
Cela indique si ce frame a été confirmé et que le frame en attente est défini.
|
mAckedWithSecEnhAck
|
bool
Cela indique si cette trame a été confirmée avec un ACK d'amélioration sécurisé.
|
mAesKey
|
const otMacKeyMaterial *
Matériel de clé utilisé pour la sécurité de la trame AES-CCM.
|
mChannel
|
uint8_t
Canal utilisé pour transmettre/recevoir la trame.
|
mCslPresent
|
bool
Défini sur "true" si l'en-tête CSL IE est présent.
|
mCsmaCaEnabled
|
bool
Défini sur "true" pour activer CSMA-CA pour ce paquet, ou sur "false" dans le cas contraire.
|
mIeInfo
|
Pointeur vers les informations liées aux éléments d'en-tête(IE) de l'en-tête.
|
mInfo
|
union otRadioFrame::@24
L'union de l'émission et de la réception d'informations pour une trame radio.
|
mIsARetx
|
bool
Indique si la trame est une retransmission ou non.
|
mIsHeaderUpdated
|
bool
Indique si le compteur de frames et les IE CSL sont correctement mis à jour dans l'en-tête.
|
mIsSecurityProcessed
|
bool
"True" si SubMac doit ignorer le traitement AES de cette trame.
|
mLength
|
uint16_t
Longueur de la boîte PSDU.
|
mLqi
|
uint8_t
Indicateur de qualité du lien pour les images reçues.
|
mMaxCsmaBackoffs
|
uint8_t
Nombre maximal d'intervalles entre les tentatives avant de déclarer l'échec de l'ANC.
|
mMaxFrameRetries
|
uint8_t
Nombre maximal de tentatives autorisées après un échec de transmission.
|
mPsdu
|
uint8_t *
La PSDU.
|
mRadioType
|
uint8_t
Type de lien radio : doit être ignoré par le pilote radio.
|
mRssi
|
int8_t
Indicateur d'intensité du signal reçu (en dBm) pour les trames reçues.
|
mRxChannelAfterTxDone
|
uint8_t
Le canal RX après la transmission de la trame (après toutes les tentatives d'affichage de la trame - réception de l'accusé de réception, délai avant expiration ou abandon).
|
mRxInfo
|
struct otRadioFrame::@24::@26
Structure représentant la réception d'informations de trame radio.
|
mTimestamp
|
uint64_t
Heure de l'horloge radio locale, exprimée en microsecondes, lorsque la fin du SFD était présente au niveau de l'antenne locale.
|
mTxDelay
|
uint32_t
Délai en microsecondes pour cette transmission référencée à
mTxDelayBaseTime . |
mTxDelayBaseTime
|
uint32_t
Durée de base en microsecondes pour les transmissions programmées par rapport à l'horloge radio locale. Voir
otPlatRadioGetNow et mTxDelay . |
mTxInfo
|
struct otRadioFrame::@24::@25
Structure représentant des informations de transmission de trames radio.
|
Attributs publics
mAckFrameCounter
uint32_t otRadioFrame::mAckFrameCounter
Compteur de trames de sécurité ACK (applicable lorsque mAckedWithSecEnhAck
est défini).
mAckKeyId
uint8_t otRadioFrame::mAckKeyId
Index de clé de sécurité ACK (applicable lorsque mAckedWithSecEnhAck
est défini).
mAckedWithFramePending
bool otRadioFrame::mAckedWithFramePending
Cela indique si ce frame a été confirmé et que le frame en attente est défini.
mAckedWithSecEnhAck
bool otRadioFrame::mAckedWithSecEnhAck
Cela indique si cette trame a été confirmée avec un ACK d'amélioration sécurisé.
mAesKey
const otMacKeyMaterial * otRadioFrame::mAesKey
Matériel de clé utilisé pour la sécurité de la trame AES-CCM.
mChannel
uint8_t otRadioFrame::mChannel
Canal utilisé pour transmettre/recevoir la trame.
mCslPresent
bool otRadioFrame::mCslPresent
Défini sur "true" si l'en-tête CSL IE est présent.
mCsmaCaEnabled
bool otRadioFrame::mCsmaCaEnabled
Défini sur "true" pour activer CSMA-CA pour ce paquet, ou sur "false" dans le cas contraire.
mIeInfo
otRadioIeInfo * otRadioFrame::mIeInfo
Pointeur vers les informations liées aux éléments d'en-tête(IE) de l'en-tête.
mInfo
union otRadioFrame::@24 otRadioFrame::mInfo
L'union de l'émission et de la réception d'informations pour une trame radio.
mIsARetx
bool otRadioFrame::mIsARetx
Indique si la trame est une retransmission ou non.
mIsHeaderUpdated
bool otRadioFrame::mIsHeaderUpdated
Indique si le compteur de frames et les IE CSL sont correctement mis à jour dans l'en-tête.
Si la couche de plate-forme n'offre pas la fonctionnalité OT_RADIO_CAPS_TRANSMIT_SEC
, elle peut ignorer cet indicateur.
Si la plate-forme fournit la capacité OT_RADIO_CAPS_TRANSMIT_SEC
, elle doit gérer le traitement de la sécurité tx et l'attribution du compteur de frames. Dans ce cas, le comportement suivant est attendu:
Lorsque mIsHeaderUpdated
est défini, cela indique que le cœur OpenThread a déjà défini le compteur de frames et les IE CSL (si la sécurité est activée) dans le frame préparé. Le compteur est assuré de correspondre à la valeur du compteur des tentatives précédentes de la même image. La plate-forme ne doit pas attribuer ni modifier le compteur de frames (mais il se peut qu'elle doive tout de même effectuer un traitement de sécurité en fonction de l'indicateur mIsSecurityProcessed
).
Si mIsHeaderUpdated
n'est pas défini, le compteur de frames et la clé CSL IE ne sont pas définis dans le frame par le cœur OpenThread et la plate-forme radio est chargée de les attribuer. La plate-forme doit mettre à jour l'en-tête de la trame (valeurs du compteur d'attribution et de CSL IE) avant d'envoyer la trame. Toutefois, si la transmission est interrompue et que la trame n'est jamais envoyée par voie aérienne (erreur d'accès au canal, par exemple), la plate-forme peut choisir de ne pas mettre à jour l'en-tête. Si la plate-forme met à jour l'en-tête, elle doit également définir cet indicateur avant de renvoyer le frame à partir du rappel otPlatRadioTxDone()
.
mIsSecurityProcessed
bool otRadioFrame::mIsSecurityProcessed
"True" si SubMac doit ignorer le traitement AES de cette trame.
mLength
uint16_t otRadioFrame::mLength
Longueur de la boîte PSDU.
mLqi
uint8_t otRadioFrame::mLqi
Indicateur de qualité du lien pour les images reçues.
mMaxCsmaBackoffs
uint8_t otRadioFrame::mMaxCsmaBackoffs
Nombre maximal d'intervalles entre les tentatives avant de déclarer l'échec de l'ANC.
mMaxFrameRetries
uint8_t otRadioFrame::mMaxFrameRetries
Nombre maximal de tentatives autorisées après un échec de transmission.
mPsdu
uint8_t * otRadioFrame::mPsdu
La PSDU.
mRadioType
uint8_t otRadioFrame::mRadioType
Type de lien radio : doit être ignoré par le pilote radio.
mRssi
int8_t otRadioFrame::mRssi
Indicateur d'intensité du signal reçu (en dBm) pour les trames reçues.
mRxChannelAfterTxDone
uint8_t otRadioFrame::mRxChannelAfterTxDone
Le canal RX après la transmission de la trame (après toutes les tentatives d'affichage de la trame - réception de l'accusé de réception, délai avant expiration ou abandon).
Les plates-formes de radio peuvent choisir d'ignorer complètement cette décision. La pile OT garantit d'appeler otPlatRadioReceive()
avec le canal RX souhaité une fois le transfert de trame terminé et signalé dans le rappel otPlatRadioTxDone()
. Les plates-formes de radio qui ne fournissent pas OT_RADIO_CAPS_TRANSMIT_RETRIES
doivent toujours ignorer ce message.
Elle est destinée aux situations dans lesquelles les interactions entre la pile OT et le signal radio peuvent être retardées. Par exemple, elle est utilisée dans l'architecture RCP/hôte pour garantir que le RCP bascule plus rapidement vers le canal PAN. Cela peut notamment être utile avec CSL tx pour les enfants somnolents, qui peuvent utiliser pour CSL un canal différent de celui du PAN. Après la trame tx, nous voulons que le signal radio/RCP retourne rapidement au canal PAN pour nous assurer que le parent ne manque pas le tx de l'enfant par la suite, par exemple lorsque l'enfant répond à la trame transmise précédemment CSL à partir du parent utilisant le canal PAN alors que la radio reste toujours sur le canal CSL.
Le passage au canal RX DOIT avoir lieu après la fin du transfert de trame, c'est-à-dire après toutes les tentatives et lors de la réception de l'accusé de réception (lorsque l'indicateur "Ack Request" est défini sur la trame TX) ou du délai de confirmation. Notez que la confirmation est attendue sur le même canal que celui sur lequel la trame est envoyée.
mRxInfo
struct otRadioFrame::@24::@26 otRadioFrame::mRxInfo
Structure représentant la réception d'informations de trame radio.
mTimestamp
uint64_t otRadioFrame::mTimestamp
Heure de l'horloge radio locale, exprimée en microsecondes, lorsque la fin du SFD était présente au niveau de l'antenne locale.
mTxDelay
uint32_t otRadioFrame::mTxDelay
Délai en microsecondes pour cette transmission référencée à mTxDelayBaseTime
.
Remarque: mTxDelayBaseTime
+ mTxDelay
pointe vers le moment où la fin du SFD sera présente au niveau de l'antenne locale, par rapport à l'horloge radio locale.
mTxDelayBaseTime
uint32_t otRadioFrame::mTxDelayBaseTime
Durée de base en microsecondes pour les transmissions programmées par rapport à l'horloge radio locale. Voir otPlatRadioGetNow
et mTxDelay
.
mTxInfo
struct otRadioFrame::@24::@25 otRadioFrame::mTxInfo
Structure représentant des informations de transmission de trames radio.
Ressources
Les sujets de référence de l'API OpenThread proviennent du code source, disponible sur GitHub. Pour en savoir plus ou pour contribuer à notre documentation, consultez la section Ressources.