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

คุณลักษณะนี้ช่วยให้คู่ค้าสามารถเลือกวิธีซิงโครไนซ์เวลาได้ ไม่ว่าจะจากระบบปฏิบัติการ 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

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 ใน CarServices overlay config 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

ขั้นตอนต่อไปนี้เกิดขึ้นเมื่อรองรับคุณสมบัติ ANDROID_EPOCH_TIME VHAL:

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

ขั้นตอนต่อไปนี้เกิดขึ้นเมื่อคุณสมบัติ EXTERNAL_CAR_TIME VHAL ได้รับการสนับสนุน:

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