กำหนดค่าแหล่งเวลา AAOS

ฟีเจอร์นี้ช่วยให้พาร์ทเนอร์เลือกวิธีซิงค์เวลาได้ ไม่ว่าจะเป็นจาก Android Automotive Operating System (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 ต้องรองรับพร็อพเพอร์ตี้ write-only ของพร็อพเพอร์ตี้ 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 ในการกำหนดค่าการซ้อนทับ CarServices 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 เพื่อเลือกเวลาของระบบใหม่