התכונה הזו מאפשרת לשותפים לבחור איך לסנכרן את הזמן, ממכשיר Android מערכת הפעלה לכלי רכב (AAOS) או ממערכות רכב ל-Android. כדי להבטיח הטמעות איכותיות, אפשר להגדיר ש-AAOS ישתמש באחד משני מאפייני VHAL החדשים שמתואר בהמשך כדי להפיץ את הערכים בצורה יעילה. השתמש ב:
ANDROID_EPOCH_TIME
כדי להשתמש ב-Android כמקור האמת לזמן יקר. VHAL תומך במאפיין הזה לכתיבה בלבד, שמודיע על שינויי זמן מ-Android למערכות רכב אחרות, כמו יחידות בקרה אלקטרוניות (ECU) ומודול Body Control (BCM).EXTERNAL_CAR_TIME
כדי לא להשתמש ב-Android כמקור את האמת לזמן. במקרה כזה, VHAL תומך במצב לקריאה בלבד נכסEXTERNAL_CAR_TIME
, שמודיע על שינויי זמן מכלי רכב אחרים (כגון ECU ו-BCM) ל-Android.
AAOS גם מספק TimeDetectorStrategy
שניתן להגדרה כדי לעזור לך לקבוע סדר עדיפויות
במקורות זמן שונים ב-Android.
Android הוא מקור האמת לזמן
כש-Android משמש כמקור הזמן, יצרני ציוד מקורי יכולים לסנכרן מערכות אחרות של מכוניות (כולל ECU ו-BCM) עם זמן Android.
כדי לעשות זאת, ההטמעה של VHAL חייבת לתמוך במאפיין לכתיבה בלבד.
נכס ANDROID_EPOCH_TIME
. מערכת Android מפרסמת עדכון לנכס באמצעות קריאה של
זמן המערכת, גם בזמן האתחול וגם בכל פעם שמקור הזמן ב-Android משתנה.
Android הוא לא מקור האמת
כש-Android לא משמש כמקור הזמן, אפשר לסנכרן את השעה ב-Android
להיות מקור האמת לזמן (לדוגמה, באמצעות ECU או BCM). במקרה הזה, הפרמטר
הטמעת VHAL חייבת לתמוך בנכס לקריאה בלבד EXTERNAL_CAR_TIME
ולפרסם
מתעדכן בנכס הזה בכל פעם שמקור הזמן משתנה או מכייל מחדש את השעון.
יצרני ציוד מקורי צריכים גם לוודא:
- הערכים של
config_autoTimeSourcesPriority
נמצאים בתוךcore/res/res/values/config.xml
. - הנכס
config_enableExternalCarTimeToExternalTimeSuggestion
בנכס הגדרות שכבת-העל של CarServicespackages/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
התהליך הבא מתרחש כשהנכס ANDROID_EPOCH_TIME
VHAL
נתמך:
- האפליקציה
TimeHalService
(ב-CarServices) מקבלת שידור ממערכת Android עבורIntent.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
כדי לבחור זמן המערכת.