این ویژگی شرکا را قادر میسازد تا نحوه همگامسازی زمان را از سیستم عامل 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 configspackages/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 پشتیبانی می شود:
-
TimeHalService
(در CarServices) یک پخش از سیستم Android برایIntent.ACTION_TIME_CHANGED
دریافت می کند.ACTION_TIME_CHANGED . -
TimeHalService
یک بهروزرسانی برای ویژگی VHALANDROID_EPOCH_TIME
منتشر میکند. - VHAL می تواند مقدار زمان دریافتی را به واحدهای ECU و/یا BCM مختلف منتشر کند.
جریان زیر زمانی انجام می شود که ویژگی EXTERNAL_CAR_TIME
VHAL پشتیبانی شود:
- VHAL ویژگی
EXTERNAL_CAR_TIME
را به روز می کند. -
TimeHalService
(در CarServices) دارایی را از طریق اشتراک می خواند. -
TimeHalService
یکExternalTimeSuggestion
ایجاد و بهTimeManager
ارسال می کند. -
TimeManager
پیشنهاد را بهTimeDetectorService
ارسال می کند. -
TimeDetectorService
ازTimeDetectorStrategy
برای انتخاب زمان سیستم جدید استفاده می کند.