إدارة الطاقة

لدعم إدارة الطاقة الخاصة بالمركبة، يوفر Android خدمة CarPowerManagementService وواجهة CarPowerManager .

يتم تشغيل انتقالات الحالة بواسطة وحدة التحكم الرئيسية للمركبة (VMCU). للتواصل مع VMCU، يجب على المتكاملين تنفيذ عدة مكونات. يتحمل المتكاملون مسؤولية التكامل مع طبقة تجريد أجهزة المركبة (VHAL) وتنفيذ النواة. يتحمل المتكاملون أيضًا مسؤولية تعطيل مصادر التنبيه والتأكد من عدم تأجيل عمليات إيقاف التشغيل إلى أجل غير مسمى.

المصطلح

يتم استخدام هذه المصطلحات في جميع أنحاء هذه الوثيقة:

معالج التطبيقات (AP)
جزء من النظام على شريحة (SoC) .
حزمة دعم مجلس الإدارة (BSP)
طبقة البرامج التي تحتوي على برامج التشغيل الثابتة الخاصة بالأجهزة وبرامج تشغيل الأجهزة التي تسمح لنظام التشغيل المضمن بالعمل في بيئة أجهزة معينة (اللوحة الأم)، ومتكاملة مع نظام التشغيل المضمن.
مدير طاقة السيارة (CPM)
يعرض واجهة برمجة التطبيقات (API) للتطبيقات للتسجيل لتغييرات حالة الطاقة.
خدمة إدارة طاقة السيارة (CPMS)
ينفذ جهاز حالة طاقة السيارة، ويواجه VHAL، وينفذ الاستدعاءات النهائية للإيقاف suspend() والإيقاف shutdown() .
CarPowerPolicyDaemon (CPPD)
يعرض واجهات AIDL للعمليات الأصلية لتسجيل مستمع سياسة الطاقة.
الإدخال أو الإخراج للأغراض العامة (GPIO)
دبوس إشارة رقمية للاستخدام للأغراض العامة.
طبقة تجريد الأجهزة (HAL)
طبقة برمجية يجب أن تتفاعل معها جميع الوحدات ذات المستوى الأعلى للوصول إلى وظائف الأجهزة.
بيات شتوى
يُشار إليه أيضًا باسم التعليق المرحلي إلى القرص (S2D/S4). يتم وضع SoC في وضع الطاقة S4 (السبات) ويتم كتابة محتوى ذاكرة الوصول العشوائي (RAM) على الوسائط غير المتطايرة (مثل الفلاش أو القرص) ويتم إيقاف تشغيل النظام بأكمله.
معالج الوسائط (MP)
انظر النظام على شريحة (SoC) .
الدائرة المتكاملة لإدارة الطاقة (PMIC)
الشريحة المستخدمة لإدارة متطلبات الطاقة للنظام المضيف.
النظام على شريحة (SoC)
المعالج الرئيسي الذي يقوم بتشغيل AAOS، والذي يتم توفيره عادةً من قبل الشركات المصنعة مثل Intel وMediaTek وNvidia وQualcomm وRenesas وTexas Instruments.
تعليق
يُشار إليه أيضًا باسم التعليق المرحلي إلى ذاكرة الوصول العشوائي (S2R أو STR). يتم وضع SoC في وضع الطاقة S3 ويتم إيقاف تشغيل وحدة المعالجة المركزية بينما تظل ذاكرة الوصول العشوائي قيد التشغيل.
مركبة هال (VHAL)
واجهة برمجة تطبيقات Android المستخدمة للتفاعل مع شبكة السيارة. يكون شريك المستوى 1 أو OEM مسؤولاً عن كتابة هذه الوحدة. يمكن لشبكة السيارة استخدام أي طبقة مادية (مثل CAN وLIN وMOST وEthernet). يقوم VHAL بتجريد شبكة المركبة هذه لتمكين AAOS من التفاعل مع المركبة.
معالج واجهة المركبة (VIP)
انظر MCU للمركبة.
وحدة التحكم الرئيسية للمركبة (VMCU)
وحدة التحكم الدقيقة التي توفر الواجهة بين شبكة السيارة وشركة نفط الجنوب. تتواصل SoC مع VMCU من خلال إشارات USB وUART وSPI وGPIO.

تصميم النظام

يصف هذا القسم كيفية تمثيل AAOS لحالة طاقة معالج التطبيق والوحدات النمطية التي تنفذ نظام إدارة الطاقة. تصف هذه المادة أيضًا كيفية عمل هذه الوحدات معًا وكيف تحدث انتقالات الحالة عادةً.

آلة حالة قوة السيارة

يستخدم AAOS جهاز حالة لتمثيل حالة طاقة AP. توفر آلة الحالة الحالات الموضحة أدناه:

آلة حالة قوة السيارة

الشكل 1. آلة حالة قوة السيارة.

يتم تمييز التحولات الأكثر شيوعًا باللون الأزرق. هذه هي الحالات والتحولات المشتركة:

  • تعليق ل رام. السيارة وشركة نفط الجنوب متوقفة. لا يتم تنفيذ أي تعليمات برمجية. يتم الحفاظ على الطاقة لذاكرة الوصول العشوائي SoC.
  • انتظر VHAL. عندما يتفاعل السائق مع السيارة، على سبيل المثال، عن طريق فتح الباب، تقوم وحدة VMCU بتوصيل الطاقة إلى SoC. يستأنف AAOS من Suspend-to-RAM ويدخل في انتظر VHAL، حيث ينتظر التنسيق مع VHAL.
  • على. يخبر VHAL AAOS بالدخول إلى حالة التشغيل. في هذه الحالة، يعمل AAOS بشكل كامل ويتفاعل مع برنامج التشغيل.
  • إعداد إيقاف التشغيل. عندما ينتهي السائق من القيادة، يخبر VHAL AAOS بالدخول في إعداد إيقاف التشغيل. في هذه الحالة، يتم إيقاف تشغيل الشاشة والصوت ولا يتفاعل AAOS مع برنامج التشغيل. لا يزال نظام Android قيد التشغيل ويمكن تحديث التطبيقات ونظام Android مجانًا. عند اكتمال التحديثات، إن وجدت، يدخل نظام Android في انتظار إنهاء VHAL.
  • انتظر إنهاء VHAL. عند هذه النقطة، يقوم AAOS بإعلام VHAL بأنه جاهز للإغلاق. من المتوقع أن تقوم VMCU بوضع SoC في وضع السكون العميق وإزالة الطاقة من معالج التطبيق. يكون AAOS بعد ذلك في حالة التعليق إلى ذاكرة الوصول العشوائي (RAM)، على الرغم من عدم تنفيذ أي تعليمات برمجية.

وحدات إدارة الطاقة

يتكون نظام إدارة الطاقة من هذه الوحدات:

اسم وحدة وصف
CarPowerManager جافا أو C++ API.
خدمة إدارة طاقة السيارة ينسق التحولات في حالة الطاقة.
CarPowerPolicyDaemon التواصل مع عملاء سياسة الطاقة الأصلية.
مركبة هال واجهة لVMCU.
نواة تعليق تنفيذ RAM أو القرص.

يتم تطبيق ميزة السكون/الإسبات العميق (تعليق Android على ذاكرة الوصول العشوائي/القرص) في النواة. يتم عرض هذه الميزة على مساحة المستخدم كملف خاص موجود في /sys/power/state . يتم تعليق AAOS عن طريق كتابة mem أو disk إلى هذا الملف.

يقوم CPMS بتنسيق حالة الطاقة مع الخدمات الأخرى وHALs. يقوم CPMS بتنفيذ جهاز الحالة الموضح أعلاه ويرسل إشعارات إلى كل مراقب عند حدوث انتقال لحالة الطاقة. تستخدم هذه الخدمة أيضًا VHAL لإرسال الرسائل إلى الجهاز.

يدير CPPD سياسة الطاقة حتى يتولى CPMS السيطرة. كما يرسل أيضًا إشعارات تغيير سياسة الطاقة إلى المستمعين الأصليين.

يتم تعريف بعض الخصائص في VHAL. للتواصل مع VMCU، يقوم CPMS بقراءة هذه الخصائص وكتابتها. يمكن للتطبيقات استخدام الواجهة المحددة في CPM لمراقبة تغييرات حالة الطاقة. تتيح هذه الواجهة أيضًا للتطبيقات تسجيل مستمعي سياسة الطاقة . يمكن استدعاء واجهة برمجة التطبيقات هذه من Java ويتم التعليق عليها بـ @hide / @System API، مما يعني أنها متاحة للتطبيقات المميزة فقط . العلاقة بين هذه الوحدات والتطبيقات والخدمات موضحة أدناه:

مخطط مرجعي لمكونات الطاقة

الشكل 2. الرسم البياني المرجعي لمكونات الطاقة.

تسلسل الرسالة

وصف القسم السابق الوحدات التي يتألف منها نظام إدارة الطاقة. يستخدم هذا القسم أمثلة الدخول إلى وضع السكون العميق والخروج من وضع السكون العميق لشرح كيفية تواصل الوحدات والتطبيقات:

أدخل في نوم عميق

وحده VMCU يمكنه بدء النوم العميق. بمجرد بدء النوم العميق، ترسل VMCU إشعارًا إلى CPMS عبر VHAL. يقوم CPMS بتغيير الحالة إلى SHUTDOWN PREPARE ويبث انتقال الحالة هذا إلى جميع المراقبين (التطبيقات والخدمات التي تراقب CPMS) عن طريق استدعاء الأسلوب onStateChanged() بمعرف الحالة الجديد المقدم من CPM.

تتوسط CPM بين التطبيقات/الخدمات وCPMS. يتم استدعاء طريقة onStateChanged() للتطبيقات/الخدمات بشكل متزامن في طريقة onStateChanged() الخاصة بـ CPM. يُطلب من معظم التطبيقات والخدمات إكمال إعدادها قبل العودة من هذه المكالمة. يُسمح للخدمات المميزة بمواصلة استعداداتها بشكل غير متزامن بعد العودة إلى PRE_SHUTDOWN_PREPARE ، SUSPEND_ENTER ، POST_SUSPEND_ENTER . في هذه الحالة، من المفترض أن تقوم الخدمة المميزة باستدعاء Complete() على كائن CompletablePowerStateChangeFuture المتوفر عند انتهاء إعدادها. لاحظ أن الإعداد غير المتزامن غير مسموح به لـ SHUTDOWN_PREPARE . قبل إرسال DEEP_SLEEP_ENTRY إلى VHAL، يرسل CPMS بشكل دوري طلبات تأجيل إيقاف التشغيل إلى VHAL.

عندما تنتهي جميع كائنات CPM من تحضيرات إيقاف التشغيل، يرسل CPMS AP_POWER_STATE_REPORT إلى VHAL، والذي يقوم بعد ذلك بإعلام VMCU بأن نقطة الوصول جاهزة للتعليق. يستدعي CPMS أيضًا طريقة التعليق الخاصة به، والتي تقوم بتعليق النواة.

التسلسل الموصوف أعلاه موضح أدناه:

أدخل في نوم عميق

الشكل 3. أدخل في مرحلة النوم العميق.

واجهات البرمجة التي تقدمها CPM

يصف هذا القسم واجهة برمجة تطبيقات Java التي توفرها CPM لتطبيقات وخدمات النظام. تمكن واجهة برمجة التطبيقات هذه برنامج النظام من:

  • مراقبة تغيرات حالة الطاقة في نقطة الوصول.
  • تطبيق سياسات الطاقة.

استخدم هذه الخطوات لاستدعاء واجهات برمجة التطبيقات التي توفرها التكلفة لكل ألف ظهور:

  1. للحصول على مثيل التكلفة لكل ألف ظهور، اتصل بـ Car API.
  2. قم باستدعاء الطريقة المناسبة على الكائن الذي تم إنشاؤه في الخطوة 1.

إنشاء كائن CarPowerManager

لإنشاء كائن CPM، قم باستدعاء الأسلوب getCarManager() الخاص بكائن السيارة. هذه الطريقة عبارة عن واجهة مستخدمة لإنشاء كائنات CPM. حدد android.car.Car.POWER_SERVICE كوسيطة لإنشاء كائن CPM.

Car car = Car.createCar(this);
CarPowerManager powerManager =
  (CarPowerManager) car.getCarManager(android.car.Car.POWER_SERVICE);

CarPowerStateListener والتسجيل

يمكن لتطبيقات النظام وخدماته تلقي إشعارات تغيير حالة الطاقة من خلال تطبيق CarPowerManager.CarPowerStateListener . تحدد هذه الواجهة طريقة واحدة onStateChanged() ، وهي وظيفة رد اتصال يتم استدعاؤها عند تغيير حالة الطاقة لـ CPMS. يحدد المثال التالي فئة مجهولة جديدة تقوم بتنفيذ الواجهة:

private final CarPowerManager.CarPowerStateListener powerListener =
  new CarPowerManager.CarPowerStateListener () {
    @Override
     public void onStateChanged(int state) {
       Log.i(TAG, "onStateChanged() state = " + state);
     }
};

لتوجيه كائن المستمع لمراقبة انتقال حالة الطاقة، قم بإنشاء مؤشر ترابط تنفيذ جديد وتسجيل المستمع وهذا الخيط في كائن CPM:

executor = new ThreadPerTaskExecutor();
powerManager.setListener(powerListener, executor);

عندما تتغير حالة الطاقة، يتم استدعاء أسلوب onStateChanged() لكائن المستمع بقيمة لتمثيل حالة الطاقة الجديدة. يتم تعريف الارتباط بين القيمة الفعلية وحالة الطاقة في CarPowerManager وهو موضح في الجدول التالي:

اسم وصف
STATE_ON أدخل الحالة على. النظام يعمل بكامل طاقته.
STATE_SHUTDOWN_CANCELLED يتم إلغاء إيقاف التشغيل ويتم إرجاع حالة الطاقة إلى الحالة الطبيعية.
STATE_SHUTDOWN_ENTER من المتوقع أن يتم تنظيف التطبيقات وتكون جاهزة للإغلاق.
STATE_POST_SHUTDOWN_ENTER اكتملت الاستعدادات للإغلاق وأصبح VMCU جاهزًا للإيقاف. أدخل حالة إيقاف التشغيل.
STATE_PRE_SHUTDOWN_PREPARE عملية إيقاف التشغيل مطلوبة ولكن CPMS لم يبدأ العملية بعد. لا يزال العرض والصوت قيد التشغيل
STATE_SHUTDOWN_PREPARE قد يتم تشغيل وضع المرآب خلال هذه الفترة.
STATE_SUSPEND_ENTER من المتوقع أن يتم تنظيف التطبيقات وأن تكون جاهزة للتعليق على ذاكرة الوصول العشوائي (RAM).
STATE_POST_SUSPEND_ENTER اكتملت الاستعدادات للتعليق إلى ذاكرة الوصول العشوائي (RAM) وأصبح VMCU جاهزًا للتعليق إلى ذاكرة الوصول العشوائي (RAM). أدخل حالة التعليق.
STATE_SUSPEND_EXIT استيقظ من التعليق أو استأنف من التعليق الملغى.
STATE_HIBERNATION_ENTER من المتوقع أن يتم تنظيف التطبيقات وتكون جاهزة للإسبات.
STATE_POST_HIBERNATION_ENTER اكتملت الاستعدادات للإسبات وأصبح VMCU جاهزًا للإسبات. أدخل حالة الإسبات.
STATE_HIBERNATION_EXIT استيقظ من وضع السبات أو استأنف العمل من وضع السبات الملغى.
STATE_WAIT_FOR_VHAL يتم بدء تشغيل النظام، ولكنه في انتظار إنشاء اتصال مع VHAL قبل الانتقال إلى حالة التشغيل.

إلغاء تسجيل CarPowerStateListener

لإلغاء تسجيل كافة كائنات المنصت المسجلة في CPM، قم باستدعاء التابع clearListener :

powerManager.clearListener();

تكامل النظام على تنفيذ Android الخاص بك

المتكاملون مسؤولون عن العناصر التالية:

  • تنفيذ واجهة kernel لتعليق Android.
  • تنفيذ وظائف VHAL من أجل:
    • نشر بدء التعليق أو إيقاف التشغيل من السيارة إلى Android.
    • أرسل رسالة جاهزة لإيقاف التشغيل من Android إلى السيارة.
    • ابدأ إيقاف تشغيل نظام Android أو تعليقه مؤقتًا من خلال واجهة Linux kernel.
  • تأكد من تعطيل جميع مصادر التنبيه عندما يكون الجهاز في وضع التوقف المرحلي.
  • تأكد من إغلاق التطبيقات بسرعة كافية حتى لا يتم تأجيل عملية إيقاف التشغيل إلى أجل غير مسمى.
  • تأكد من قيام BSP بتشغيل (أو إيقاف تشغيل) مكونات الجهاز وفقًا لسياسة الطاقة حتى لا يتم حظر التعليق أو الإسبات

واجهة النواة: /sys/power/state

يقوم AAOS بوضع الجهاز في وضع التوقف المرحلي عندما يقوم تطبيق أو خدمة بكتابة mem للتعليق على ذاكرة الوصول العشوائي (RAM) أو disk للتعليق على القرص في ملف موجود في /sys/power/state . يجب أن يوفر المُدمِج وظيفة تراقب هذا الملف وتضع Linux في حالة الطاقة المرحلية. قد ترسل هذه الوظيفة GPIO إلى VMCU لإعلام VMCU بأن الجهاز قد تم إيقاف تشغيله بالكامل. يكون المتكامل مسؤولاً أيضًا عن إزالة أي حالات تعارض بين إرسال VHAL للرسالة النهائية إلى VMCU والنظام الذي يدخل في وضع التوقف المرحلي أو إيقاف التشغيل.

مسؤولية VHAL

يوفر VHAL واجهة بين شبكة السيارة ونظام Android. الـ VHAL:

  • ينشر بدء التعليق أو إيقاف التشغيل من السيارة إلى Android.
  • يرسل رسالة الاستعداد لإيقاف التشغيل من Android إلى السيارة.
  • يبدأ إيقاف تشغيل Android أو تعليقه مؤقتًا عبر واجهة Linux kernel.

عندما يقوم CPMS بإعلام VHAL بأنه جاهز لإيقاف التشغيل، يرسل VHAL رسالة الاستعداد لإيقاف التشغيل إلى VMCU. عادةً ما تقوم الأجهزة الطرفية الموجودة على الشريحة مثل UART وSPI وUSB بنقل الرسالة. بمجرد إرسال الرسالة، يستدعي CPMS أمر kernel لإيقاف الجهاز مؤقتًا أو إيقاف تشغيله. قبل القيام بذلك، قد يقوم VHAL أو BSP بتبديل GPIO لإرشاد VMCU بأنه من الآمن إزالة الطاقة من الجهاز.

يجب أن يدعم VHAL الخصائص التالية، التي تتحكم في إدارة الطاقة عبر VHAL:

اسم وصف
AP_POWER_STATE_REPORT يُبلغ Android عن انتقالات الحالة إلى VMCU باستخدام هذه الخاصية، باستخدام قيم تعداد VehicleApPowerStateReport.
AP_POWER_STATE_REQ يستخدم VMCU هذه الخاصية لتوجيه Android للانتقال إلى حالات طاقة مختلفة، باستخدام قيم تعداد VehicleApPowerStateReq.

AP_POWER_STATE_REPORT

استخدم هذه الخاصية للإبلاغ عن حالة إدارة الطاقة الحالية لنظام Android. تحتوي هذه الخاصية على عددين صحيحين:

  • int32Values[0] : تعداد VehicleApPowerStateReport للحالة الحالية.
  • int32Values[1] : الوقت بالمللي ثانية للتأجيل أو السكون أو إيقاف التشغيل. يعتمد معنى هذه القيمة على القيمة الأولى.

يمكن أن تأخذ القيمة الأولى إحدى القيم التالية. يحتوي VehicleApPowerStateReport.aidl على أوصاف أكثر تحديدًا، والتي يتم تخزينها في hardware/interfaces/automotive/vehicle/aidl/android/hardware/automotive/vehicle .

اسم القيمة وصف القيمة الثانية
انتظر_FOR_VHAL بدأت نقطة الوصول وتحتاج إلى إنشاء اتصال مع VHAL.
عميق_SLEEP_ENTRY يدخل AP في حالة النوم العميق. يجب على VMCU إعادة تشغيل نقطة الوصول بعد الوقت المحدد في القيمة الثانية. يجب تعيين
DEEP_SLEEP_EXIT AP يخرج من حالة النوم العميق.
السبات_ENTRY يدخل AP في حالة السبات. يجب على VMCU إعادة تشغيل نقطة الوصول بعد الوقت المحدد في القيمة الثانية. يجب تعيين
السبات_EXIT AP يخرج من حالة السبات.
SHUTDOWN_POSTPONE Android ليس جاهزًا للإغلاق. يجب أن تنتظر VMCU الوقت المحدد في القيمة الثانية قبل إيقاف تشغيل نقطة الوصول. قد يطلب Android تأجيلًا إضافيًا عن طريق إصدار تقارير SHUTDOWN_POSTPONE إضافية. يجب تعيين
SHUTDOWN_PREPARE Android يستعد للإغلاق. يجب تعيين
SHUTDOWN_START AP جاهز للإغلاق. يجب على VMCU إعادة تشغيل نقطة الوصول بعد الوقت المحدد في القيمة الثانية. (ليس مطلوبًا من VMCU دعم ميزة التشغيل المحدد بوقت.) يجب تعيين
SHUTDOWN_CANCELLED يتوقف Android عن الاستعداد لإيقاف التشغيل وسيتابع إلى WAIT_FOR_VHAL.
على أندرويد يعمل بشكل طبيعي.

يمكن تعيين الحالة بشكل مستقل أو استجابة لطلب عبر VMCU.

AP_POWER_STATE_REQ

يتم إرسال هذه الخاصية بواسطة VMCU لنقل Android إلى حالة طاقة مختلفة وتحتوي على عددين صحيحين:

  • int32Values[0] : قيمة تعداد VehicleApPowerStateReq ، التي تمثل الحالة الجديدة التي سيتم الانتقال إليها.
  • int32Values[1] : قيمة التعداد VehicleApPowerStateShutdownParam . يتم إرسال هذه القيمة فقط لرسالة SHUTDOWN_PREPARE وترسل إلى Android الخيارات التي تحتوي عليها.

تمثل القيمة الصحيحة الأولى الحالة الجديدة التي سينتقل إليها Android. تم تعريف الدلالات في VehicleApPowerStateReq.aidl وهي موضحة أدناه:

اسم القيمة وصف
على يجب أن يبدأ AP التشغيل الكامل.
SHUTDOWN_PREPARE يجب أن تستعد نقطة الوصول للإغلاق. تشير القيمة الثانية إلى ما إذا كان مسموحًا لنقطة الوصول بتأجيل إيقاف التشغيل وما إذا كان ينبغي لنقطة الوصول أن تتوقع إيقاف التشغيل أو الدخول في وضع السكون العميق.
CANCEL_SHUTDOWN يجب أن تتوقف نقطة الوصول عن الاستعداد للإغلاق والاستعداد للتشغيل.
انتهى سيتم الآن إيقاف تشغيل نقطة الوصول أو تعليقها.

يتم تعريف VehicleApPowerStateShutdownParam في VehicleApPowerStateShutdownParam.aidl . يحتوي هذا التعداد على هذه العناصر:

اسم القيمة وصف
يستطيع النوم يمكن لـ AP الدخول في حالة نوم عميق بدلاً من إيقاف التشغيل تمامًا. التأجيل مسموح.
CAN_HIBERNATE يمكن أن يدخل AP في وضع السبات بدلاً من إيقاف التشغيل بالكامل. التأجيل مسموح.
SHUTDOWN_ONLY يجب أن تغلق نقطة الوصول. التأجيل مسموح. النوم العميق غير مسموح به.
النوم_على الفور قد يدخل AP في حالة نوم عميق، ولكن يجب أن ينام أو يتوقف عن العمل على الفور. التأجيل غير مسموح به.
السبات_على الفور قد تدخل نقطة الوصول إلى وضع التوقف المرحلي على القرص، ولكن يجب إما أن تدخل في وضع السبات أو يتم إيقاف تشغيلها على الفور. التأجيل غير مسموح به.
SHUTDOWN_IMMEDIATELY يجب أن يتم إغلاق نقطة الوصول على الفور. التأجيل غير مسموح به. النوم العميق غير مسموح به.

مصادر الاستيقاظ

يجب أن يقوم المُدمِج بتعطيل مصادر التنبيه المناسبة عندما يكون الجهاز في وضع التوقف المرحلي. تشمل مصادر التنبيه الشائعة نبضات القلب والمودم وشبكة Wi-Fi والبلوتوث. يجب أن يكون مصدر التنبيه الوحيد الصالح عبارة عن مقاطعة من VMCU لتنبيه SoC. يفترض هذا أن وحدة VMCU يمكنها الاستماع إلى المودم لأحداث التنبيه عن بعد (مثل تشغيل المحرك عن بعد). إذا تم دفع هذه الوظيفة إلى نقطة الوصول، فيجب إضافة مصدر تنبيه آخر لخدمة المودم.

تطبيقات

يجب أن يكون مصنعو المعدات الأصلية حريصين على كتابة التطبيقات حتى يمكن إغلاقها بسرعة وعدم تأجيل العملية إلى أجل غير مسمى.

زائدة

الدلائل في شجرة التعليمات البرمجية المصدر

محتوى الدليل
الكود المتعلق بـ CarPowerManager. packages/services/Car/car-lib/src/android/car/hardware/power
CarPowerManagementService وما إلى ذلك. packages/services/Car/service/src/com/android/car/power
الخدمات التي تتعامل مع VHAL، مثل VehicleHal و HAlClient . packages/services/Car/service/src/com/android/car/hal
واجهة VHAL وتعريفات الخاصية. hardware/interfaces/automotive/vehicle/aidl/android/hardware/automotive/vehicle/
نموذج التطبيق لتقديم بعض الأفكار حول CarPowerManager packages/services/Car/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink

مخطط الطبقة

يعرض مخطط الفئة هذا فئات Java وواجهاتها في نظام إدارة الطاقة:

مخطط فئة الطاقة

الشكل 4. مخطط فئة الطاقة.

علاقة الكائن

يوضح الشكل 5 الكائنات التي لها إشارات إلى كائنات أخرى. تعني الحافة أن الكائن المصدر يحمل مرجعًا للكائن الهدف. على سبيل المثال، يحتوي VehicleHAL على مرجع لكائن PropertyHalService.

مخطط مرجعي للكائن

الشكل 5. الرسم التخطيطي المرجعي للكائن.