กำหนดค่าแหล่งที่มาของเวลา AAOS

ฟีเจอร์นี้ช่วยให้พาร์ทเนอร์เลือกวิธีซิงค์ข้อมูลเวลาได้ไม่ว่าจะมาจาก Android หรือไม่ก็ตาม ระบบปฏิบัติการยานยนต์ (AAOS) หรือจากระบบยานพาหนะไปยัง Android คุณสามารถกำหนดค่า AAOS ให้ใช้พร็อพเพอร์ตี้ VHAL ใหม่ 1 ใน 2 รายการเพื่อให้การใช้งานมีคุณภาพ ที่อธิบายไว้ด้านล่างเพื่อเผยแพร่ค่าอย่างมีประสิทธิภาพ ใช้:

  • ANDROID_EPOCH_TIME เพื่อใช้ Android เป็นแหล่งข้อมูลที่เชื่อถือได้ VHAL รองรับพร็อพเพอร์ตี้แบบเขียนเท่านั้นนี้ ซึ่งจะแจ้งการเปลี่ยนแปลงเวลา จาก Android ไปยังระบบยานพาหนะอื่นๆ เช่น หน่วยควบคุมอิเล็กทรอนิกส์ (ECU) และโมดูลการควบคุมร่างกาย (BCM)
  • EXTERNAL_CAR_TIME เพื่อไม่ใช้ Android เป็นแหล่งที่มา เมื่อเวลาผ่านไป ในกรณีนี้ VHAL จะรองรับโหมดอ่านอย่างเดียว พร็อพเพอร์ตี้ EXTERNAL_CAR_TIME ที่แสดงการเปลี่ยนแปลงเวลาจากยานพาหนะอื่นๆ ระบบ (เช่น ECU และ BCM) ไปยัง Android

นอกจากนี้ AAOS ยังมี TimeDetectorStrategy ที่กำหนดค่าได้เพื่อช่วยคุณจัดลำดับความสำคัญ ต่างๆ ภายใน Android

Android เป็นแหล่งข้อมูลที่เชื่อถือได้ในเรื่องเวลา

เมื่อใช้ Android เป็นแหล่งที่มาของเวลา OEM จะซิงค์ข้อมูลระบบอื่นๆ ของรถยนต์ (รวมถึง ECU และ BCM) พร้อมกับเวลาของ Android

ในการดำเนินการนี้ การใช้ VHAL ต้องรองรับพร็อพเพอร์ตี้เขียนเท่านั้น พร็อพเพอร์ตี้ ANDROID_EPOCH_TIME Android เผยแพร่การอัปเดตพร็อพเพอร์ตี้ด้วยการอ่าน เวลาของระบบ ทั้งในขณะที่เปิดเครื่องและเมื่อใดก็ตามที่แหล่งที่มาของเวลาใน Android มีการเปลี่ยนแปลง

Android ไม่ใช่แหล่งข้อมูลที่เชื่อถือได้สำหรับเวลา

เมื่อไม่ได้ใช้ Android เป็นแหล่งที่มาของเวลา คุณจะซิงค์เวลาของ Android ได้ เป็นแหล่งข้อมูลที่เชื่อถือได้สำหรับเวลา (เช่น ด้วย ECU หรือ BCM) ในกรณีนี้ ค่า การใช้งาน VHAL ต้องรองรับพร็อพเพอร์ตี้แบบอ่านอย่างเดียว EXTERNAL_CAR_TIME และการเผยแพร่ การอัปเดตคุณสมบัตินี้เมื่อใดก็ตามที่แหล่งที่มาของเวลามีการเปลี่ยนแปลงหรือปรับเทียบนาฬิกาใหม่

OEM ต้องตรวจสอบด้วยว่า

  • ค่า config_autoTimeSourcesPriority อยู่ใน core/res/res/values/config.xml
  • พร็อพเพอร์ตี้ config_enableExternalCarTimeToExternalTimeSuggestion ใน การกำหนดค่าการซ้อนทับของบริการรถยนต์ 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

ขั้นตอนต่อไปนี้จะเกิดขึ้นเมื่อพร็อพเพอร์ตี้ VHAL ของ ANDROID_EPOCH_TIME รองรับ

  1. TimeHalService (ใน CarServices) รับการประกาศจากระบบ Android สำหรับ Intent.ACTION_TIME_CHANGED
  2. TimeHalService เผยแพร่การอัปเดตพร็อพเพอร์ตี้ VHAL ANDROID_EPOCH_TIME
  3. VHAL สามารถถ่ายทอดค่าเวลาที่ได้รับไปยัง ECU และ/หรือหน่วย BCM ต่างๆ

ขั้นตอนต่อไปนี้จะเกิดขึ้นเมื่อพร็อพเพอร์ตี้ VHAL ของ EXTERNAL_CAR_TIME รองรับ

  1. VHAL จะอัปเดตพร็อพเพอร์ตี้ EXTERNAL_CAR_TIME
  2. TimeHalService (ใน CarServices) จะอ่านที่พักผ่านการสมัครใช้บริการ
  3. TimeHalService สร้างและส่ง ExternalTimeSuggestion ไปยัง TimeManager
  4. TimeManager ส่งต่อคำแนะนำไปยัง TimeDetectorService
  5. TimeDetectorService ใช้ TimeDetectorStrategy เพื่อเลือก เวลาของระบบ