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
در صورت وجود 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.

mIeInfo

otRadioIeInfo * otRadioFrame::mIeInfo

اشاره گر به اطلاعات مربوط به IE(های) Header.

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 سرچشمه می گیرند. برای اطلاعات بیشتر، یا مشارکت در اسناد ما، به منابع مراجعه کنید.