متنوع

تشمل هذه الوحدة تجريدًا على المنصة لسلوكيات متنوعة.

الملخّص

التعدادات

otPlatMcuPowerState{
  OT_PLAT_MCU_POWER_STATE_ON = 0,
  OT_PLAT_MCU_POWER_STATE_LOW_POWER = 1,
  OT_PLAT_MCU_POWER_STATE_OFF = 2
}
عدد
تعداد حالات الطاقة لوحدة التحكم الدقيقة.
otPlatResetReason عدد
تعداد رموز إعادة الضبط المحتملة.

الدوال

otPlatAssertFail(const char *aFilename, int aLineNumber)
void
توفّر هذه الوظيفة عملية تأكيد خاصة بالنظام الأساسي.
otPlatGetMcuPowerState(otInstance *aInstance)
تحصل هذه الدالة على حالة طاقة MCU الحالية المطلوبة.
otPlatGetResetReason(otInstance *aInstance)
تعرض هذه الدالة سبب إعادة ضبط النظام الأساسي الأخير.
otPlatReset(otInstance *aInstance)
void
تنفِّذ هذه الدالة إعادة ضبط البرامج على النظام الأساسي، في حال توفّرها.
otPlatSetMcuPowerState(otInstance *aInstance, otPlatMcuPowerState aState)
تحدّد هذه الدالة حالة طاقة MCU المطلوبة.
otPlatWakeHost(void)
void
تنفِّذ هذه الدالة عملية خاصة بالنظام الأساسي لتنشيط وحدة MCU للمضيف.

التعدادات

otPlatMcuPowerState

 otPlatMcuPowerState

تعداد حالات الطاقة لوحدة التحكم الدقيقة.

تُستخدَم هذه القيم لضبط NCP عند تفعيل OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL.

تحدد حالة الطاقة حالة الطاقة المطلوبة لوحدة التحكم الدقيقة (NCU) في NCP عندما يدخل نظام تشغيل النظام الأساسي الأساسي في وضع الخمول (أي أنه تتم معالجة جميع المهام والأحداث النشطة، ويمكن لـ MCU الدخول في حالة طاقة لتوفير الطاقة).

تحدد حالة الطاقة في المقام الأول كيفية تفاعل المضيف مع سرعة عرض المحتوى على الصفحة (NCP) وما إذا كان المضيف يحتاج إلى مشغّل خارجي ("poke") إلى بروتوكول NCP قبل أن يمكنه الاتصال ببروتوكول NCP.

بعد إعادة الضبط، يجب أن تكون حالة طاقة MCU OT_PLAT_POWER_STATE_ON.

المنشآت الفندقية
OT_PLAT_MCU_POWER_STATE_LOW_POWER

يمكن أن يدخل "مركز عملائي" التابع لـ NCP حالة الطاقة المنخفضة (توفير الطاقة).

عندما يتم ضبط حالة الطاقة المطلوبة في NCP على LOW_POWER، من المتوقع أن ينتقِل المضيف NCP (على سبيل المثال، مشغِّل خارجي مثل المقاطعة) قبل أن يتمكن من الاتصال بـ NCP (إرسال رسالة إلى NCP). ويتم تحديد آلية "poke" من خلال رمز النظام الأساسي (استنادًا إلى واجهة NCP إلى المضيف).

على الرغم من أنه تم ضبط حالة الطاقة على LOW_POWER، سيظل بإمكان NCP (في أي وقت) إرسال رسائل إلى المضيف. تجدر الإشارة إلى أن تلقّي رسالة من NCP لا يشير إلى تغيّر حالة تشغيل NCP، بمعنى أنه من المتوقّع أن يستمر المضيف في "الضغط" عندما يريد التحدّث إلى NCP حتى يتم تغيير حالة الطاقة صراحةً (عن طريق استدعاء ناجح). إلى otPlatSetMcuPowerState() تغيير الحالة إلى ON).

OT_PLAT_MCU_POWER_STATE_OFF

NCP غير مفعّل تمامًا.

يلزم إعادة ضبط جهاز NCP (عبر رقم التعريف الشخصي "إعادة التعيين") لاستعادة رقم NCP إلى SPINEL_MCU_POWER_STATE_ON. لا يتم الاحتفاظ بذاكرة الوصول العشوائي بعد إعادة الضبط.

OT_PLAT_MCU_POWER_STATE_ON

ويظل مركز الخدمات الوطنية (NCP) مفعّلاً ونشطًا طوال الوقت.

عندما يتم ضبط حالة الطاقة المطلوبة لـ NCP على ON، يمكن للمضيف إرسال رسائل إلى NCP بدون الحاجة إلى أي عمليات تشغيل "poke" أو خارجية.

سبب otPlatإعادة السبب

 otPlatResetReason

تعداد رموز إعادة الضبط المحتملة.

وهي بالترتيب نفسه الذي تم ضبطه بناءً على رموز سبب إعادة ضبط Spini.

الدوال

otPlatAssertFail

void otPlatAssertFail(
  const char *aFilename,
  int aLineNumber
)

توفّر هذه الوظيفة عملية تأكيد خاصة بالنظام الأساسي.

التفاصيل
المعلَمات
[in] aFilename
اسم الملف الذي حدث التأكيد عليه
[in] aLineNumber
رقم السطر في الملف الذي حدثت به رسالة التأكيد.

otPlatGetMcuPowerState

otPlatMcuPowerState otPlatGetMcuPowerState(
  otInstance *aInstance
)

تحصل هذه الدالة على حالة طاقة MCU الحالية المطلوبة.

ولا ينطبق هذا إلا ويُستخدم لإعداد NCP عند تفعيل OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL.

بعد إعادة الضبط، يجب أن تعرض حالة الطاقة OT_PLAT_POWER_STATE_ON. أثناء التشغيل، يجب تغيير حالة الطاقة فقط من خلال استدعاء ناجح وصريح إلى otPlatSetMcuPowerState().

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
طلبات الإرجاع
حالة الطاقة الحالية

سبب إعادة التشغيل

otPlatResetReason otPlatGetResetReason(
  otInstance *aInstance
)

تعرض هذه الدالة سبب إعادة ضبط النظام الأساسي الأخير.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.

otPlatإعادة ضبط

void otPlatReset(
  otInstance *aInstance
)

تنفِّذ هذه الدالة إعادة ضبط البرامج على النظام الأساسي، في حال توفّرها.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.

otPlatSetMcuPowerState

otError otPlatSetMcuPowerState(
  otInstance *aInstance,
  otPlatMcuPowerState aState
)

تحدّد هذه الدالة حالة طاقة MCU المطلوبة.

ولا ينطبق هذا إلا ويُستخدم لإعداد NCP عند تفعيل OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aState
حالة الجهاز الجديد MCU.
قيم الإرجاع
OT_ERROR_NONE
تم تحديث حالة الطاقة بنجاح.
OT_ERROR_FAILED
حالة السعة المحددة في وحدة المعالجة المركزية (CCU) غير متوافقة مع النظام الأساسي.

otPlatWakeHost

void otPlatWakeHost(
  void
)

تنفِّذ هذه الدالة عملية خاصة بالنظام الأساسي لتنشيط وحدة MCU للمضيف.

لا يتم استخدام هذا إلا لعمليات ضبط NCP.

المراجع

تنشأ مواضيع واجهة برمجة التطبيقات المرجعية لـ OpenThread من رمز المصدر، المتوفر على GitHub. للاطّلاع على مزيد من المعلومات أو للمساهمة في مستنداتنا، يُرجى الرجوع إلى المراجع.