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

تتضمن هذه الوحدة تجريدات من النظام الأساسي للسلوكيات المتنوعة.

ملخّص

عمليات التعداد

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
إعادة ضبط البرنامج على النظام الأساسي، إذا كان ذلك متاحًا
otPlatResetToBootloader(otInstance *aInstance)
إجراء إعادة ضبط للأجهزة على النظام الأساسي لتشغيل وضع برنامج الإقلاع، إذا كان ذلك متاحًا.
otPlatSetMcuPowerState(otInstance *aInstance, otPlatMcuPowerState aState)
لضبط حالة طاقة MCU المطلوبة
otPlatWakeHost(void)
void
يؤدي هذا الإجراء إلى تنفيذ عملية خاصة بالنظام الأساسي لتنشيط وحدة MCU المضيفة.

عمليات التعداد

otPlatMcuPowerState

 otPlatMcuPowerState

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

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

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

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

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

أماكن إقامة
OT_PLAT_MCU_POWER_STATE_LOW_POWER

قد تدخل وحدة MCU التابعة لـ 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. لا يتم الاحتفاظ بذاكرة الوصول العشوائي (RAM) بعد إعادة الضبط.

OT_PLAT_MCU_POWER_STATE_ON

يظل MCU لدى NCP مفعَّلاً ونشطًا طوال الوقت.

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

otPlatResetReason

 otPlatResetReason

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

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

الدوال

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

otPlatGetResetReason

otPlatResetReason otPlatGetResetReason(
  otInstance *aInstance
)

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

التفاصيل
المَعلمات
[in] aInstance
بنية النسخة الافتراضية OpenThread

otPlatReset

void otPlatReset(
  otInstance *aInstance
)

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

التفاصيل
المَعلمات
[in] aInstance
بنية النسخة الافتراضية OpenThread

otPlatResetToBootloader

otError otPlatResetToBootloader(
  otInstance *aInstance
)

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

ويتم استخدامه عندما يكون OPENTHREAD_CONFIG_PLATFORM_BOOTLOADER_MODE_ENABLE مفعّلاً.

التفاصيل
المَعلمات
[in] aInstance
بنية النسخة الافتراضية OpenThread
قيم الإرجاع
OT_ERROR_NONE
تمت إعادة الضبط على برنامج الإقلاع بنجاح.
OT_ERROR_BUSY
تعذّر تنفيذ الإجراء بسبب إجراء عملية أخرى جارية.
OT_ERROR_NOT_CAPABLE
تتعذّر إعادة الضبط على برنامج الإقلاع.

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. للحصول على مزيد من المعلومات أو للمساهمة في مستنداتنا، يمكنك الاطّلاع على المراجع.