چند پانل

این ماژول شامل انتزاع پلتفرم برای پشتیبانی از چند لایه است.

خلاصه

کارکرد

otPlatMultipanGetActiveInstance ( otInstance **aInstance)
در حال حاضر کنترل رادیو را در دست بگیرید.
otPlatMultipanIidToInstance (uint8_t aIid)
نشانگر نمونه مربوط به ID داده شده را دریافت کنید.
otPlatMultipanInstanceToIid ( otInstance *aInstance)
uint8_t
IID مربوط به نشانگر نمونه OpenThread داده شده را دریافت کنید.
otPlatMultipanSetActiveInstance ( otInstance *aInstance, bool aCompletePending)
aInstance به عنوان رادیو کنترل کننده نمونه فعال فعلی تنظیم کنید.
otPlatMultipanSwitchoverDone ( otInstance *aInstance, bool aSuccess)
void
پلتفرم فرآیند تعویض رابط را تکمیل کرد.

کارکرد

otPlatMultipanGetActiveInstance

otError otPlatMultipanGetActiveInstance(
  otInstance **aInstance
)

در حال حاضر کنترل رادیو را در دست بگیرید.

اگر رادیو به صورت موازی روی همه رابط‌ها کار نکند، این تابع یک شی نمونه با دسترسی رادیویی اعطا شده را برمی‌گرداند.

جزئیات
مولفه های
[out] aInstance
اشاره گر به متغیر برای ذخیره نشانگر نمونه فعال.
ارزش های بازگشتی
OT_ERROR_NONE
ملک با موفقیت بازیابی شد.
OT_ERROR_NOT_IMPLEMENTED
به دلیل عدم پشتیبانی در رادیو شکست خورد.
OT_ERROR_INVALID_COMMAND
پلتفرم از تمام رابط ها به طور همزمان پشتیبانی می کند.

otPlatMultipanIidToInstance

otInstance * otPlatMultipanIidToInstance(
  uint8_t aIid
)

نشانگر نمونه مربوط به ID داده شده را دریافت کنید.

جزئیات
مولفه های
[in] aIid
شناسه رابط.
ارزش های بازگشتی
Instance
اشاره گر اگر aIid است دارای یک نمونه اختصاص داده شده است، در غیر این صورت nullptr.

otPlatMultipanInstanceToIid

uint8_t otPlatMultipanInstanceToIid(
  otInstance *aInstance
)

IID مربوط به نشانگر نمونه OpenThread داده شده را دریافت کنید.

جزئیات
مولفه های
[in] aInstance
ساختار نمونه OpenThread.
ارزش های بازگشتی
IID
از نمونه داده شده، ID ID را در غیر این صورت پخش کنید.

otPlatMultipanSetActiveInstance

otError otPlatMultipanSetActiveInstance(
  otInstance *aInstance,
  bool aCompletePending
)

aInstance به عنوان رادیو کنترل کننده نمونه فعال فعلی تنظیم کنید.

این عملکرد امکان انتخاب نمونه فعال فعلی را در پلتفرم هایی که از ارتباطات موازی در چندین رابط پشتیبانی نمی کنند، می دهد. به عبارت دیگر، اگر بیش از یک نمونه در حالت دریافت باشد، فراخوانی otPlatMultipanSetActiveInstance تضمین می کند که نمونه مشخص شده همان دریافت کننده خواهد بود. اگر درخواست به درستی دریافت شده باشد، این تابع برمی گردد. پس از تکمیل سوئیچینگ رابط، پلتفرم باید otPlatMultipanSwitchoverDone را فراخوانی کند. اگر aCompletePending درست تنظیم شود، ممکن است تغییر رابط‌ها بیشتر طول بکشد.

جزئیات
مولفه های
[in] aInstance
ساختار نمونه OpenThread.
[in] aCompletePending
درست است اگر عملیات رادیویی در حال انجام باید قبل از کلید رابط (سوئیچ نرم) کامل شود، برای سوئیچ نیرو نادرست است.
ارزش های بازگشتی
OT_ERROR_NONE
ویژگی با موفقیت تنظیم شد.
OT_ERROR_BUSY
به دلیل عملیات دیگری که در حال انجام است ناموفق بود.
OT_ERROR_NOT_IMPLEMENTED
به دلیل نمونه ناشناخته یا نمونه های بیشتر از رابط های موجود ناموفق بود.
OT_ERROR_INVALID_COMMAND
پلتفرم از تمام رابط ها به طور همزمان پشتیبانی می کند.
OT_ERROR_ALREADY
رابط داده شده در حال حاضر فعال است.

otPlatMultipanSwitchoverDone

void otPlatMultipanSwitchoverDone(
  otInstance *aInstance,
  bool aSuccess
)

پلتفرم فرآیند تعویض رابط را تکمیل کرد.

در صورت عدم نیاز به تأخیر، یا اگر برخی از عملیات رادیویی طولانی‌تر ابتدا باید تکمیل شوند، پس از تکمیل سوئیچ در رابط‌ها، باید بلافاصله پس از پردازش otPlatMultipanSetActiveInstance فراخوانی شود.

جزئیات
مولفه های
[in] aInstance
ساختار نمونه OpenThread.
[in] aSuccess
درست در صورت تعویض موفقیت آمیز رابط ها، نادرست در صورت عدم موفقیت سوئیچینگ.

منابع

موضوعات مرجع OpenThread API از کد منبع موجود در GitHub سرچشمه می گیرند. برای اطلاعات بیشتر، یا مشارکت در اسناد ما، به منابع مراجعه کنید.