خيارات متنوعة

تتضمّن هذه الوحدة توضيحات للمنصات للسلوكيات المتنوعة.

ملخّص

التعدادات

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.

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

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

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

أماكن إقامة
OT_PLAT_MCU_POWER_STATE_LOW_POWER

ويمكن أن تدخل السياسة "وحدة تحكّم المشرف" في وحدة المعالجة المركزية (NCP) حالة الطاقة المنخفضة (توفير الطاقة).

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

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

OT_PLAT_MCU_POWER_STATE_OFF

برنامج NCP متوقّف بالكامل.

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

OT_PLAT_MCU_POWER_STATE_ON

تظل وحدة التحكّم في حدود الجلسة (NCP) على NCP مفعّلة ونشطة طوال الوقت.

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

otPlatResetReason

 otPlatResetReason

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

هذه هي الترتيب نفسه لرموز أسباب إعادة ضبط Spinel.

الدوال

otPlatConfirmFail

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.
المرتجعات
حالة الطاقة الحالية

otPlatGetResetReason

otPlatResetReason otPlatGetResetReason(
  otInstance *aInstance
)

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

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

otPlatReset

void otPlatReset(
  otInstance *aInstance
)

إجراء إعادة ضبط للبرامج على النظام الأساسي، إذا كان ذلك متاحًا.

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

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
لا تتوافق النظام الأساسي مع حالة الطاقة التي يتم الحصول عليها من وحدة MCU.

otPlatWakeHost

void otPlatWakeHost(
  void
)

يجري عملية خاصة بالنظام الأساسي لتنشيط وحدة التحكُّم في السحابة الإلكترونية (MCU) المضيف.

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

الموارد

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