otRadioFrame
#include <radio.h>
מייצגת מסגרת רדיו IEEE 802.15.4.
סיכום
מאפיינים ציבוריים |
|
---|---|
mAckFrameCounter
|
uint32_t
מונה מסגרות אבטחה ACK (רלוונטי כאשר
mAckedWithSecEnhAck מוגדר). |
mAckKeyId
|
uint8_t
אינדקס מפתחות אבטחה ACK (רלוונטי כאשר
mAckedWithSecEnhAck מוגדר). |
mAckedWithFramePending
|
bool
הערך מציין אם המסגרת הזו אושרה באמצעות הגדרת המסגרת בהמתנה.
|
mAckedWithSecEnhAck
|
bool
הערך מציין אם המסגרת הזו אושרה באמצעות שיפור מאובטח ACK.
|
mAesKey
|
const otMacKeyMaterial *
חומר המפתח שמשמש לאבטחת מסגרת של 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.
mChannel
uint8_t otRadioFrame::mChannel
הערוץ המשמש לשידור/לקבלת הפריים.
mCslPresent
bool otRadioFrame::mCslPresent
מוגדר כ-true אם כותרת CSL IE קיימת.
mCsmaCaEnabled
bool otRadioFrame::mCsmaCaEnabled
יש להגדיר את הערך True כדי להפעיל CSMA-CA עבור החבילה הזו. אחרת, צריך להגדיר את הערך false.
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. אפשר לקרוא מידע נוסף או לתרום למסמכי התיעוד שלנו בדף מקורות מידע.