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 در صورت وجود IE سرصفحه CSL روی true تنظیم کنید. |
mCsmaCaEnabled | bool برای فعال کردن CSMA-CA برای این بسته روی true تنظیم کنید، در غیر این صورت false. |
mIeInfo | اشاره گر به اطلاعات مربوط به IE(های) Header. |
mInfo | union otRadioFrame::@24 اتحاد انتقال و دریافت اطلاعات برای یک فریم رادیویی. |
mIsARetx | bool نشان می دهد که فریم ارسال مجدد است یا خیر. |
mIsHeaderUpdated | bool نشان می دهد که آیا شمارنده فریم و IE های CSL به درستی در هدر به روز شده اند یا خیر. |
mIsSecurityProcessed | bool درست است اگر 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
در صورت وجود IE سرصفحه CSL روی true تنظیم کنید.
mCsmaCaEnabled
bool otRadioFrame::mCsmaCaEnabled
برای فعال کردن CSMA-CA برای این بسته روی true تنظیم کنید، در غیر این صورت false.
mInfo
union otRadioFrame::@24 otRadioFrame::mInfo
اتحاد انتقال و دریافت اطلاعات برای یک فریم رادیویی.
mIsARetx
bool otRadioFrame::mIsARetx
نشان می دهد که فریم ارسال مجدد است یا خیر.
mIsHeaderUpdated
bool otRadioFrame::mIsHeaderUpdated
نشان می دهد که آیا شمارنده فریم و IE های CSL به درستی در هدر به روز شده اند یا خیر.
اگر لایه پلت فرم قابلیت OT_RADIO_CAPS_TRANSMIT_SEC
را ارائه ندهد، می تواند این پرچم را نادیده بگیرد.
اگر پلتفرم قابلیت OT_RADIO_CAPS_TRANSMIT_SEC
را ارائه دهد، انتظار می رود که پلتفرم پردازش امنیتی tx و تخصیص شمارنده فریم را انجام دهد. در این مورد رفتار زیر انتظار می رود:
هنگامی که mIsHeaderUpdated
تنظیم می شود، نشان می دهد که هسته OpenThread قبلا شمارنده فریم و IE های CSL (در صورت فعال بودن امنیت) را در فریم آماده شده تنظیم کرده است. اطمینان حاصل می شود که شمارنده با مقدار شمارنده از تلاش های قبلی همان قاب مطابقت دارد. پلتفرم نباید شمارنده فریم را اختصاص دهد یا تغییر دهد (اما ممکن است بسته به پرچم mIsSecurityProcessed
همچنان نیاز به انجام پردازش امنیتی داشته باشد).
اگر mIsHeaderUpdated
تنظیم نشده باشد، شمارنده فریم و کلید CSL IE توسط هسته OpenThread در فریم تنظیم نشده اند و وظیفه پلتفرم رادیویی است که آنها را اختصاص دهد. پلتفرم باید هدر فریم (تخصیص شمارنده و مقادیر CSL IE) را قبل از ارسال فریم روی هوا بهروزرسانی کند، اما اگر انتقال قطع شود و فریم هرگز از طریق هوا ارسال نشود (مثلاً خطای دسترسی به کانال)، پلت فرم میتواند انتخاب کند. تا هدر به روز نشود. اگر پلتفرم هدر را بهروزرسانی میکند، باید این پرچم را قبل از بازگرداندن فریم از بازگشت تماس otPlatRadioTxDone()
نیز تنظیم کند.
mIsSecurityProcessed
bool otRadioFrame::mIsSecurityProcessed
درست است اگر SubMac باید پردازش AES این فریم را رد کند.
میلی متر طول
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()
فراخوانی می کند. پلتفرمهای رادیویی که OT_RADIO_CAPS_TRANSMIT_RETRIES
ارائه نمیدهند باید همیشه این را نادیده بگیرند.
این برای شرایطی در نظر گرفته شده است که ممکن است در تعاملات بین پشته OT و رادیو تاخیر وجود داشته باشد، به عنوان مثال از این در معماری RCP/host استفاده می شود تا مطمئن شود RCP سریعتر به کانال PAN سوئیچ می شود. به ویژه، این می تواند به CSL tx به یک کودک خواب آلود کمک کند، جایی که کودک ممکن است از کانال متفاوتی برای CSL نسبت به کانال PAN استفاده کند. پس از فریم tx، ما میخواهیم رادیو/RCP سریعاً به کانال PAN برگردد تا اطمینان حاصل کنیم که والدین بعد از آن tx را از فرزند خود از دست نمیدهند، به عنوان مثال، فرزند به فریم ارسالی CSL قبلی از والدین با استفاده از کانال PAN پاسخ میدهد در حالی که رادیو همچنان روشن است. کانال CSL
جابجایی به کانال RX باید پس از اتمام کامل TX فریم، یعنی پس از تمام تلاشهای مجدد و دریافت ack (زمانی که پرچم "Ack Request" روی فریم TX تنظیم شده است) یا مهلت زمانی ack رخ دهد. توجه داشته باشید که ack در همان کانالی که فریم در آن ارسال می شود، انتظار می رود.
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 سرچشمه می گیرند. برای اطلاعات بیشتر، یا مشارکت در اسناد ما، به منابع مراجعه کنید.