منابع زمانی AAOS را پیکربندی کنید

این ویژگی شرکا را قادر می‌سازد تا نحوه همگام‌سازی زمان را از سیستم عامل Android Automotive (AAOS) یا از سیستم‌های خودرویی به Android انتخاب کنند. برای اطمینان از اجرای با کیفیت، می‌توانید AAOS را به گونه‌ای پیکربندی کنید که از یکی از دو ویژگی جدید VHAL که در زیر توضیح داده شده است برای انتشار مؤثر مقادیر استفاده کند. استفاده کنید:

  • ANDROID_EPOCH_TIME برای استفاده از Android به عنوان منبع حقیقت برای زمان. VHAL از این ویژگی فقط نوشتن پشتیبانی می کند، که تغییرات زمان را از Android به سایر سیستم های خودرو، مانند واحدهای کنترل الکترونیکی (ECU) و ماژول کنترل بدنه (BCM) منتقل می کند.
  • EXTERNAL_CAR_TIME تا از Android به عنوان منبع حقیقت برای زمان استفاده نکنید . در این مورد، VHAL از ویژگی EXTERNAL_CAR_TIME فقط خواندنی پشتیبانی می‌کند، که تغییرات زمان را از سایر سیستم‌های خودرو (مانند ECU و BCM) به Android منتقل می‌کند.

AAOS همچنین یک TimeDetectorStrategy قابل تنظیم برای کمک به شما در اولویت بندی منابع زمانی مختلف در اندروید ارائه می دهد.

اندروید منبع حقیقت برای زمان است

هنگامی که از Android به عنوان منبع زمان استفاده می شود، OEM ها می توانند سایر سیستم های خودرو (از جمله ECU و BCM) را با زمان Android همگام کنند.

برای انجام این کار، اجرای VHAL باید از ویژگی فقط نوشتن ANDROID_EPOCH_TIME پشتیبانی کند. اندروید با خواندن زمان سیستم، هم در زمان راه‌اندازی و هم هر زمان که منبع زمان در اندروید تغییر می‌کند، به‌روزرسانی ویژگی را منتشر می‌کند.

اندروید منبع حقیقت برای زمان نیست

وقتی از اندروید به عنوان منبع زمان استفاده نمی شود، می توانید زمان اندروید را به عنوان منبع حقیقت برای زمان همگام کنید (مثلاً با ECU یا BCM). در این مورد، اجرای VHAL باید از ویژگی فقط خواندنی EXTERNAL_CAR_TIME پشتیبانی کند و هر زمان که منبع زمان تغییر کند یا ساعت را مجددا کالیبره کند، به‌روزرسانی‌های این ویژگی را منتشر کند.

OEM ها همچنین باید اطمینان حاصل کنند که:

  • مقادیر config_autoTimeSourcesPriority در core/res/res/values/config.xml موجود است.
  • ویژگی config_enableExternalCarTimeToExternalTimeSuggestion در پوشش CarServices configs packages/services/Car/service/res/values/config.xml روی true تنظیم شده است.
  • زمان external اولویت مناسبی در پیکربندی TimeDetectorStrategy دارد. برای کسب اطلاعات بیشتر، به تشخیص زمان GNSS مراجعه کنید. به عنوان مثال:
    <!-- Specifies priority of automatic time sources. Suggestions from higher entries in the list take precedence over lower ones.
    See com.android.server.timedetector.TimeDetectorStrategy for available sources. -->
         <string-array name="config_autoTimeSourcesPriority">
            <item>external</item>
            <item>gnss</item>
            <item>network</item>
            <item>telephony</item>
        </string-array>
    

جزئیات پیاده سازی داخلی اندروید

جریان زیر زمانی انجام می شود که ویژگی ANDROID_EPOCH_TIME VHAL پشتیبانی می شود:

  1. TimeHalService (در CarServices) یک پخش از سیستم Android برای Intent دریافت می کند Intent.ACTION_TIME_CHANGED .
  2. TimeHalService یک به‌روزرسانی برای ویژگی VHAL ANDROID_EPOCH_TIME منتشر می‌کند.
  3. VHAL می تواند مقدار زمان دریافتی را به واحدهای ECU و/یا BCM مختلف منتشر کند.

جریان زیر زمانی انجام می شود که ویژگی EXTERNAL_CAR_TIME VHAL پشتیبانی شود:

  1. VHAL ویژگی EXTERNAL_CAR_TIME را به روز می کند.
  2. TimeHalService (در CarServices) دارایی را از طریق اشتراک می خواند.
  3. TimeHalService یک ExternalTimeSuggestion ایجاد و به TimeManager ارسال می کند.
  4. TimeManager پیشنهاد را به TimeDetectorService ارسال می کند.
  5. TimeDetectorService از TimeDetectorStrategy برای انتخاب زمان سیستم جدید استفاده می کند.