این ویژگی شرکا را قادر میسازد تا نحوه همگامسازی زمان را از سیستم عامل 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برای انتخاب زمان سیستم جدید استفاده می کند.