otRadioFrame
#include <radio.h>
Stellt einen IEEE 802.15.4-Funkframe dar.
Zusammenfassung
Öffentliche Attribute |
|
---|---|
mAckFrameCounter
|
uint32_t
ACK-Sicherheitsframe-Zähler (gilt, wenn
mAckedWithSecEnhAck festgelegt ist) |
mAckKeyId
|
uint8_t
Index des ACK-Sicherheitsschlüssels (anwendbar, wenn
mAckedWithSecEnhAck festgelegt ist). |
mAckedWithFramePending
|
bool
Gibt an, ob dieser Frame mit der Einstellung „Frame ausstehend“ bestätigt wurde.
|
mAckedWithSecEnhAck
|
bool
Gibt an, ob dieser Frame mit gesichertem Enhancement ACK bestätigt wurde.
|
mAesKey
|
const otMacKeyMaterial *
Das für die AES-CCM-Framesicherheit verwendete Schlüsselmaterial.
|
mChannel
|
uint8_t
Kanal, der zum Übertragen/Empfangen des Frames verwendet wird.
|
mCslPresent
|
bool
Geben Sie "true" an, wenn der CSL-Header IE vorhanden ist.
|
mCsmaCaEnabled
|
bool
Setzen Sie den Wert auf „true“, um CSMA-CA für dieses Paket zu aktivieren, andernfalls auf „false“.
|
mIeInfo
|
Der Zeiger auf die Header-IE(s)-Informationen.
|
mInfo
|
union otRadioFrame::@24
Die Zusammenführung von Sende- und Empfangsinformationen für einen Funkrahmen.
|
mIsARetx
|
bool
Gibt an, ob der Frame erneut übertragen wurde oder nicht.
|
mIsHeaderUpdated
|
bool
Gibt an, ob der Frame-Zähler und CSL-IEs im Header ordnungsgemäß aktualisiert werden.
|
mIsSecurityProcessed
|
bool
True, wenn der SubMac die AES-Verarbeitung dieses Frames überspringen soll.
|
mLength
|
uint16_t
Länge der PSDU.
|
mLqi
|
uint8_t
Linkqualitätsanzeige für empfangene Frames.
|
mMaxCsmaBackoffs
|
uint8_t
Maximale Anzahl von Backoff-Versuchen, bevor der CCA-Fehler deklariert wird.
|
mMaxFrameRetries
|
uint8_t
Maximal zulässige Anzahl von Wiederholungen nach einem Übertragungsfehler.
|
mPsdu
|
uint8_t *
Die PSDU.
|
mRadioType
|
uint8_t
Funklinktyp – sollte vom Radiotreiber ignoriert werden.
|
mRssi
|
int8_t
Anzeige der empfangenen Signalstärke in dBm für empfangene Frames.
|
mRxChannelAfterTxDone
|
uint8_t
Der RX-Kanal nach Frame TX ist abgeschlossen (nach allen Frame-Wiederholungen – Bestätigung empfangen, Zeitüberschreitung oder Abbruch).
|
mRxInfo
|
struct otRadioFrame::@24::@26
Struktur, die Funkframe-Empfangsinformationen darstellt.
|
mTimestamp
|
uint64_t
Die Zeit der lokalen Radiouhr in Mikrosekunden, als das SFD-Ende bei der lokalen Antenne vorhanden war.
|
mTxDelay
|
uint32_t
Die Verzögerungszeit in Mikrosekunden für diese Übertragung, auf die
mTxDelayBaseTime verweist. |
mTxDelayBaseTime
|
uint32_t
Die Basiszeit in Mikrosekunden für geplante Übertragungen bezogen auf die lokale Radiouhr, siehe
otPlatRadioGetNow und mTxDelay . |
mTxInfo
|
struct otRadioFrame::@24::@25
Struktur, die Funkframe-Übertragungsinformationen darstellt.
|
Öffentliche Attribute
mAckFrameCounter
uint32_t otRadioFrame::mAckFrameCounter
ACK-Sicherheitsframe-Zähler (gilt, wenn mAckedWithSecEnhAck
festgelegt ist)
mAckKeyId
uint8_t otRadioFrame::mAckKeyId
Index des ACK-Sicherheitsschlüssels (anwendbar, wenn mAckedWithSecEnhAck
festgelegt ist).
mAckedWithFramePending
bool otRadioFrame::mAckedWithFramePending
Gibt an, ob dieser Frame mit der Einstellung „Frame ausstehend“ bestätigt wurde.
mAckedWithSecEnhAck
bool otRadioFrame::mAckedWithSecEnhAck
Gibt an, ob dieser Frame mit gesichertem Enhancement ACK bestätigt wurde.
mAesKey
const otMacKeyMaterial * otRadioFrame::mAesKey
Das für die AES-CCM-Framesicherheit verwendete Schlüsselmaterial.
mChannel
uint8_t otRadioFrame::mChannel
Kanal, der zum Übertragen/Empfangen des Frames verwendet wird.
mCslPresent
bool otRadioFrame::mCslPresent
Geben Sie "true" an, wenn der CSL-Header IE vorhanden ist.
mCsmaCaEnabled
bool otRadioFrame::mCsmaCaEnabled
Setzen Sie den Wert auf „true“, um CSMA-CA für dieses Paket zu aktivieren, andernfalls auf „false“.
mInfo
union otRadioFrame::@24 otRadioFrame::mInfo
Die Zusammenführung von Sende- und Empfangsinformationen für einen Funkrahmen.
mIsARetx
bool otRadioFrame::mIsARetx
Gibt an, ob der Frame erneut übertragen wurde oder nicht.
mIsHeaderUpdated
bool otRadioFrame::mIsHeaderUpdated
Gibt an, ob der Frame-Zähler und CSL-IEs im Header ordnungsgemäß aktualisiert werden.
Wenn die Plattformebene keine OT_RADIO_CAPS_TRANSMIT_SEC
-Funktionen bietet, kann dieses Flag ignoriert werden.
Wenn die Plattform OT_RADIO_CAPS_TRANSMIT_SEC
-Funktionen bietet, wird erwartet, dass sie die TX-Sicherheitsverarbeitung und die Zuweisung des Frame-Zählers abwickelt. In diesem Fall ist das folgende Verhalten zu erwarten:
Wenn mIsHeaderUpdated
festgelegt ist, bedeutet dies, dass OpenThread Core bereits den Frame-Zähler und CSL-IEs (bei aktivierter Sicherheit) im vorbereiteten Frame festgelegt hat. Es wird sichergestellt, dass der Zähler mit dem Zählerwert der vorherigen Versuche desselben Frames übereinstimmt. Die Plattform sollte den Frame-Zähler weder zuweisen noch ändern, aber möglicherweise muss, abhängig vom mIsSecurityProcessed
-Flag, dennoch eine Sicherheitsverarbeitung durchgeführt werden.
Wenn mIsHeaderUpdated
nicht festgelegt ist, werden der Frame-Zähler und der Schlüssel-CSL IE nicht im Frame vom OpenThread-Core festgelegt, und es liegt in der Verantwortung der Funkplattform, sie zuzuweisen. Die Plattform muss den Frame-Header aktualisieren (Zähler- und CSL IE-Werte zuweisen), bevor der Frame over-the-air gesendet wird. Wenn die Übertragung jedoch abgebrochen wird und der Frame nie over-the-air gesendet wird (z. B. ein Fehler beim Kanalzugriff), kann die Plattform den Header möglicherweise nicht aktualisieren. Wenn die Plattform den Header aktualisiert, muss auch dieses Flag festgelegt werden, bevor der Frame vom otPlatRadioTxDone()
-Callback zurückgegeben wird.
mIsSecurityProcessed
bool otRadioFrame::mIsSecurityProcessed
True, wenn der SubMac die AES-Verarbeitung dieses Frames überspringen soll.
mLength
uint16_t otRadioFrame::mLength
Länge der PSDU.
mLqi
uint8_t otRadioFrame::mLqi
Linkqualitätsanzeige für empfangene Frames.
mMaxCsmaBackoffs
uint8_t otRadioFrame::mMaxCsmaBackoffs
Maximale Anzahl von Backoff-Versuchen, bevor der CCA-Fehler deklariert wird.
mMaxFrameRetries
uint8_t otRadioFrame::mMaxFrameRetries
Maximal zulässige Anzahl von Wiederholungen nach einem Übertragungsfehler.
mPsdu
uint8_t * otRadioFrame::mPsdu
Die PSDU.
mRadioType
uint8_t otRadioFrame::mRadioType
Funklinktyp – sollte vom Radiotreiber ignoriert werden.
mRssi
int8_t otRadioFrame::mRssi
Anzeige der empfangenen Signalstärke in dBm für empfangene Frames.
mRxChannelAfterTxDone
uint8_t otRadioFrame::mRxChannelAfterTxDone
Der RX-Kanal nach Frame TX ist abgeschlossen (nach allen Frame-Wiederholungen – Bestätigung empfangen, Zeitüberschreitung oder Abbruch).
Radioplattformen können dies ignorieren. Der OT-Stack sorgt dafür, dass otPlatRadioReceive()
mit dem gewünschten RX-Kanal aufgerufen wird, nachdem ein Frame TX abgeschlossen und im otPlatRadioTxDone()
-Callback signalisiert wurde. Radioplattformen, die OT_RADIO_CAPS_TRANSMIT_RETRIES
nicht bereitstellen, müssen dies immer ignorieren.
Dies ist für Situationen gedacht, in denen es zu Verzögerungen bei Interaktionen zwischen dem OT-Stack und der Funkschnittstelle kommen kann. Ein Beispiel hierfür wird in der RCP-/Host-Architektur verwendet, damit RCP schneller zum PAN-Kanal wechselt. Dies kann insbesondere bei der CSL für ein schläfriges Kind hilfreich sein, wenn es einen anderen Kanal als den PAN-Kanal für CSL verwendet. Nach Frame tx soll der Funk-/RCP-Kanal schnell zum PAN-Kanal zurückwechseln, um sicherzustellen, dass das übergeordnete Element tx des untergeordneten Elements anschließend nicht verpasst, z.B. wenn das Kind auf den zuvor übertragenen CSL-Frame vom übergeordneten CSL-Kanal antwortet, der den PAN-Kanal verwendet, während der Funk noch auf dem CSL-Kanal bleibt.
Der Wechsel zum RX-Kanal MUSS geschehen, nachdem der Frame TX vollständig abgeschlossen ist, d.h. nach allen Wiederholungen und wenn die Bestätigung empfangen wurde (wenn das Flag „Ack Request“ auf den TX-Frame gesetzt ist) oder das Bestätigungs-Timeout. Die Bestätigung wird auf dem Kanal erwartet, über den der Frame gesendet wird.
mRxInfo
struct otRadioFrame::@24::@26 otRadioFrame::mRxInfo
Struktur, die Funkframe-Empfangsinformationen darstellt.
mTimestamp
uint64_t otRadioFrame::mTimestamp
Die Zeit der lokalen Radiouhr in Mikrosekunden, als das SFD-Ende bei der lokalen Antenne vorhanden war.
mTxDelay
uint32_t otRadioFrame::mTxDelay
Die Verzögerungszeit in Mikrosekunden für diese Übertragung, auf die mTxDelayBaseTime
verweist.
Hinweis: mTxDelayBaseTime
+ mTxDelay
MÜSSEN auf den Zeitpunkt verweisen, an dem das Ende von SFD bei der lokalen Antenne in Bezug auf die lokale Funkuhr vorhanden ist.
mTxDelayBaseTime
uint32_t otRadioFrame::mTxDelayBaseTime
Die Basiszeit in Mikrosekunden für geplante Übertragungen bezogen auf die lokale Radiouhr, siehe otPlatRadioGetNow
und mTxDelay
.
mTxInfo
struct otRadioFrame::@24::@25 otRadioFrame::mTxInfo
Struktur, die Funkframe-Übertragungsinformationen darstellt.
Ressourcen
OpenThread API-Referenzthemen stammen aus dem Quellcode, der auf GitHub verfügbar ist. Weitere Informationen finden Sie unter Ressourcen. Dort können Sie auch einen Beitrag zu unserer Dokumentation leisten.