otRadioFrame

#include <radio.h>

מייצגת מסגרת רדיו IEEE 802.15.4.

סיכום

מאפיינים ציבוריים

mAckFrameCounter
uint32_t
מונה מסגרות אבטחה ACK (רלוונטי כאשר mAckedWithSecEnhAck מוגדר).
mAckKeyId
uint8_t
אינדקס מפתחות אבטחה ACK (רלוונטי כאשר mAckedWithSecEnhAck מוגדר).
mAckedWithFramePending
bool
הערך מציין אם המסגרת הזו אושרה באמצעות הגדרת המסגרת בהמתנה.
mAckedWithSecEnhAck
bool
הערך מציין אם המסגרת הזו אושרה באמצעות שיפור מאובטח ACK.
mAesKey
חומר המפתח שמשמש לאבטחת מסגרת של AES-CCM.
mChannel
uint8_t
הערוץ המשמש לשידור/לקבלת הפריים.
mCslPresent
bool
מוגדר כ-true אם כותרת CSL IE קיימת.
mCsmaCaEnabled
bool
יש להגדיר את הערך True כדי להפעיל CSMA-CA עבור החבילה הזו. אחרת, צריך להגדיר את הערך false.
mIeInfo
המצביע על המידע הקשור לכותרת(IE).
mInfo
union otRadioFrame::@24
איחוד שירותי השידור והקבלה של מסגרת רדיו.
mIsARetx
bool
מציינת אם המסגרת היא שידור חוזר או לא.
mIsHeaderUpdated
bool
מציין אם מונה המסגרות ופריטי CSL IE מתעדכנים כהלכה בכותרת.
mIsSecurityProcessed
bool
הערך הוא True אם SubMac צריך לדלג על עיבוד ה-AES של המסגרת הזו.
mLength
uint16_t
משך ה-PSDU.
mLqi
uint8_t
אינדיקטור של איכות הקישור למסגרות שהתקבלו.
mMaxCsmaBackoffs
uint8_t
מספר מקסימלי של ניסיונות השהייה לפני הצהרה על כישלון CCA.
mMaxFrameRetries
uint8_t
מספר הניסיונות החוזרים המרבי המותר במקרה של כשל בשידור.
mPsdu
uint8_t *
ה-PSDU.
mRadioType
uint8_t
סוג הקישור לרדיו - מנהל הרדיו צריך להתעלם ממנו.
mRssi
int8_t
אינדיקטור של עוצמת האות שהתקבל ב-dBm לפריימים שהתקבלו.
mRxChannelAfterTxDone
uint8_t
ערוץ ה-RX לאחר סיום ה-TX של הפריים (לאחר כל הניסיונות החוזרים של הפריים - קבלת האישור, או הזמן הקצוב לתפוגה, או ביטול).
mRxInfo
struct otRadioFrame::@24::@26
המבנה שמייצג את הקליטה של מסגרת הרדיו.
mTimestamp
uint64_t
השעה של שעון הרדיו המקומי, במיליוניות השנייה, כאשר סיום ה-SFD היה באנטנה המקומית.
mTxDelay
uint32_t
משך ההשהיה במיליוניות השנייה של השידור הזה צוין ל-mTxDelayBaseTime.
mTxDelayBaseTime
uint32_t
השעה הבסיסית, במיליוניות השנייה לשידורים מתוזמנים, ביחס לשעון הרדיו המקומי: otPlatRadioGetNow ו-mTxDelay.
mTxInfo
struct otRadioFrame::@24::@25
המבנה שמייצג את נתוני השידור של מסגרת הרדיו.

מאפיינים ציבוריים

mAckFrameCounter

uint32_t otRadioFrame::mAckFrameCounter

מונה מסגרות אבטחה ACK (רלוונטי כאשר mAckedWithSecEnhAck מוגדר).

mAckKeyId

uint8_t otRadioFrame::mAckKeyId

אינדקס מפתחות אבטחה ACK (רלוונטי כאשר mAckedWithSecEnhAck מוגדר).

mAckedWithFramePending

bool otRadioFrame::mAckedWithFramePending

הערך מציין אם המסגרת הזו אושרה באמצעות הגדרת המסגרת בהמתנה.

mAckedWithSecEnhAck

bool otRadioFrame::mAckedWithSecEnhAck

הערך מציין אם המסגרת הזו אושרה באמצעות שיפור מאובטח ACK.

mAesKey

const otMacKeyMaterial * otRadioFrame::mAesKey

חומר המפתח שמשמש לאבטחת מסגרת של AES-CCM.

mChannel

uint8_t otRadioFrame::mChannel

הערוץ המשמש לשידור/לקבלת הפריים.

mCslPresent

bool otRadioFrame::mCslPresent

מוגדר כ-true אם כותרת CSL IE קיימת.

mCsmaCaEnabled

bool otRadioFrame::mCsmaCaEnabled

יש להגדיר את הערך True כדי להפעיל CSMA-CA עבור החבילה הזו. אחרת, צריך להגדיר את הערך false.

mIeInfo

otRadioIeInfo * otRadioFrame::mIeInfo

המצביע על המידע הקשור לכותרת(IE).

mInfo

union otRadioFrame::@24 otRadioFrame::mInfo

איחוד שירותי השידור והקבלה של מסגרת רדיו.

mIsARetx

bool otRadioFrame::mIsARetx

מציינת אם המסגרת היא שידור חוזר או לא.

mIsHeaderUpdated

bool otRadioFrame::mIsHeaderUpdated

מציין אם מונה המסגרות ופריטי CSL IE מתעדכנים כהלכה בכותרת.

אם שכבת הפלטפורמה לא מספקת יכולת OT_RADIO_CAPS_TRANSMIT_SEC, היא תוכל להתעלם מהסימון הזה.

אם הפלטפורמה מספקת יכולת OT_RADIO_CAPS_TRANSMIT_SEC, היא צפויה לטפל בעיבוד אבטחה מסוג tx ובהקצאה של מונה הפריימים. במקרה כזה, צפויה ההתנהגות הבאה:

כש-mIsHeaderUpdated מוגדר, זה סימן ש-OpenThread כבר הגדיר את מונה הפריימים ואת ה-CSL IE (אם האבטחה הופעלה) במסגרת המוכנה מראש. אנחנו מוודאים שהמונה תואם לערך המונה מהניסיונות הקודמים של אותה המסגרת. הפלטפורמה לא אמורה להקצות או לשנות את מונה הפריימים (אבל יכול להיות שעדיין יהיה צורך לבצע עיבוד אבטחה בהתאם לסימון של mIsSecurityProcessed).

אם לא מגדירים את mIsHeaderUpdated, אז מונה הפריימים והמפתח CSL IE לא מוגדרים במסגרת במסגרת ליבת OpenThread, ובאחריותה של פלטפורמת הרדיו להקצות אותם. הפלטפורמה חייבת לעדכן את כותרת המסגרת (להקצות ערכי מונה וערכי CSL IE) לפני שליחת המסגרת בשידור. עם זאת, אם השידור יבוטל והמסגרת לעולם לא תישלח בשידור (למשל, שגיאה בגישה לערוץ), הפלטפורמה עשויה לבחור שלא לעדכן את הכותרת. אם הפלטפורמה מעדכנת את הכותרת, היא צריכה להגדיר גם את הסימון הזה לפני החזרת המסגרת מהקריאה החוזרת של otPlatRadioTxDone().

mIsSecurityProcessed

bool otRadioFrame::mIsSecurityProcessed

הערך הוא True אם SubMac צריך לדלג על עיבוד ה-AES של המסגרת הזו.

mLength

uint16_t otRadioFrame::mLength

משך ה-PSDU.

mLqi

uint8_t otRadioFrame::mLqi

אינדיקטור של איכות הקישור למסגרות שהתקבלו.

mMaxCsmaBackoffs

uint8_t otRadioFrame::mMaxCsmaBackoffs

מספר מקסימלי של ניסיונות השהייה לפני הצהרה על כישלון CCA.

mMaxFrameRetries

uint8_t otRadioFrame::mMaxFrameRetries

מספר הניסיונות החוזרים המרבי המותר במקרה של כשל בשידור.

mPsdu

uint8_t * otRadioFrame::mPsdu

ה-PSDU.

mRadioType

uint8_t otRadioFrame::mRadioType

סוג הקישור לרדיו - מנהל הרדיו צריך להתעלם ממנו.

mRssi

int8_t otRadioFrame::mRssi

אינדיקטור של עוצמת האות שהתקבל ב-dBm לפריימים שהתקבלו.

mRxChannelAfterTxDone

uint8_t otRadioFrame::mRxChannelAfterTxDone

ערוץ ה-RX לאחר סיום ה-TX של הפריים (לאחר כל הניסיונות החוזרים של הפריים - קבלת האישור, או הזמן הקצוב לתפוגה, או ביטול).

פלטפורמות רדיו יכולות להתעלם מזה לגמרי. כדי להשתמש בסטאק OT, תתבצע קריאה ל-otPlatRadioReceive() לערוץ ה-RX הרצוי אחרי סיום TX של פריים ואותות באמצעות otPlatRadioTxDone() קריאה חוזרת (callback). פלטפורמות רדיו שלא מספקות OT_RADIO_CAPS_TRANSMIT_RETRIES תמיד צריכות להתעלם מהבקשה.

ההגדרה הזו מיועדת למצבים שבהם יכול להיות עיכוב באינטראקציות בין סטאק OT לבין הרדיו. לדוגמה, משתמשים בו בארכיטקטורת RCP/מארח כדי לוודא שה-RCP עובר לערוץ PAN מהר יותר. באופן ספציפי, כך אפשר לשלוח CSL tx לילד או לילדה ישנוני, במקרים שבהם הילד או הילדה יוכלו להשתמש בערוץ CSL אחר מזה שבערוץ של מספר החשבון הקבוע (PAN). אחרי tx, אנחנו רוצים שהרדיו/ה-RCP יחזרו במהירות לערוץ של מספר החשבון הקבוע (PAN) כדי לוודא שההורה לא יפספס טקסט מהילד לאחר מכן. לדוגמה, ילד שמגיב לפריים הקודם של ה-CSL מההורה באמצעות ערוץ PAN, כשהרדיו ממשיך להופיע בערוץ CSL.

המעבר לערוץ ה-RX חייב להתרחש אחרי סיום TX של המסגרת, כלומר, לאחר כל הניסיונות החוזרים וכאשר האישור מתקבל (כאשר דגל 'אישור בקשה' מוגדר במסגרת ה-TX) או הזמן הקצוב לתפוגה של ack. חשוב לציין שצריך לקבל את ה-AC באותו ערוץ שבו נשלחת המסגרת.

mRxInfo

struct otRadioFrame::@24::@26 otRadioFrame::mRxInfo

המבנה שמייצג את הקליטה של מסגרת הרדיו.

mTimestamp

uint64_t otRadioFrame::mTimestamp

השעה של שעון הרדיו המקומי, במיליוניות השנייה, כאשר סיום ה-SFD היה באנטנה המקומית.

mTxDelay

uint32_t otRadioFrame::mTxDelay

משך ההשהיה במיליוניות השנייה של השידור הזה צוין ל-mTxDelayBaseTime.

הערה: mTxDelayBaseTime + mTxDelay יצביעו על הנקודה בזמן שבה סיום ה-SFD יופיע באנטנה המקומית, יחסית לשעון הרדיו המקומי.

mTxDelayBaseTime

uint32_t otRadioFrame::mTxDelayBaseTime

השעה הבסיסית, במיליוניות השנייה לשידורים מתוזמנים, ביחס לשעון הרדיו המקומי: otPlatRadioGetNow ו-mTxDelay.

mTxInfo

struct otRadioFrame::@24::@25 otRadioFrame::mTxInfo

המבנה שמייצג את נתוני השידור של מסגרת הרדיו.

מקורות מידע

המקור של נושאי העזר של OpenThread API הוא קוד המקור, שזמין ב-GitHub. אפשר לקרוא מידע נוסף או לתרום למסמכי התיעוד שלנו בדף מקורות מידע.