AAOS zaman kaynaklarını yapılandırma

Bu özellik, iş ortaklarının Android Automotive İşletim Sistemi'nden (AAOS) veya araç sistemlerinden Android'e nasıl zaman senkronizasyonu yapacaklarını seçmelerine olanak tanır. Kaliteli uygulamalar sağlamak için AAOS'u, değerleri etkili bir şekilde yaymak üzere aşağıda açıklanan iki yeni VHAL mülkünden birini kullanacak şekilde yapılandırabilirsiniz. Şunu kullan:

  • ANDROID_EPOCH_TIME Android'i zaman için doğru kaynak olarak kullanabilirsiniz. VHAL, Android'deki zaman değişikliklerini Elektronik Kontrol Üniteleri (ECU) ve Gövde Kontrol Modülü (BCM) gibi diğer araç sistemlerine ileten bu salt yazma mülkünü destekler.
  • EXTERNAL_CAR_TIME Android'i zaman için doğru kaynak olarak kullanma Bu durumda VHAL, diğer araç sistemlerinden (ECU'lar ve BCM gibi) Android'e zaman değişikliklerini ileten salt okunur EXTERNAL_CAR_TIME mülkünü destekler.

AAOS, Android'deki farklı zaman kaynaklarına öncelik vermenize yardımcı olacak yapılandırılabilir bir TimeDetectorStrategy de sağlar.

Android, saat için doğru bilgi kaynağıdır

Android zaman kaynağı olarak kullanıldığında OEM'ler diğer araç sistemlerini (ECU'lar ve BCM dahil) Android zamanıyla senkronize edebilir.

Bunun için VHAL uygulaması, salt yazma ANDROID_EPOCH_TIME mülkünü desteklemelidir. Android, hem önyükleme sırasında hem de Android'deki saat kaynağı her değiştirildiğinde sistem saatini okuyarak tesiste güncelleme yayınlar.

Android, saat için doğru kaynak değildir

Android, saat kaynağı olarak kullanılmıyorsa Android saatini, saat için doğru kaynak olacak şekilde senkronize edebilirsiniz (örneğin, bir ECU veya BCM ile). Bu durumda, VHAL uygulaması salt okunur EXTERNAL_CAR_TIME mülkünü desteklemeli ve saat kaynağı değiştiğinde veya saati yeniden kalibre ettiğinde bu mülkte güncellemeler yayınlamalıdır.

OEM'ler ayrıca aşağıdakileri de sağlamalıdır:

  • config_autoTimeSourcesPriority değerleri core/res/res/values/config.xml içindedir.
  • CarServices yer paylaşımı yapılandırmalarındaki config_enableExternalCarTimeToExternalTimeSuggestion mülkü packages/services/Car/service/res/values/config.xml, true olarak ayarlanmıştır.
  • external zamanının, TimeDetectorStrategy yapılandırmasında uygun önceliğe sahip olduğundan emin olun. Daha fazla bilgi için GNSS Zaman Algılama başlıklı makaleyi inceleyin. Örnek:
    <!-- 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 dahili uygulama ayrıntıları

ANDROID_EPOCH_TIME VHAL mülkü desteklendiğinde aşağıdaki akış gerçekleşir:

  1. TimeHalService (CarServices'de), Android sisteminden Intent.ACTION_TIME_CHANGED için bir yayın alır.
  2. TimeHalService, VHAL mülkü ANDROID_EPOCH_TIME için bir güncelleme yayınlar.
  3. VHAL, alınan zaman değerini çeşitli ECU'lara ve/veya BCM birimlerine iletebilir.

EXTERNAL_CAR_TIME VHAL mülkü desteklendiğinde aşağıdaki akış gerçekleşir:

  1. VHAL, EXTERNAL_CAR_TIME mülkünü günceller.
  2. TimeHalService (CarServices'de), mülkü bir abonelik aracılığıyla okur.
  3. TimeHalService, TimeManager için bir ExternalTimeSuggestion oluşturup gönderir.
  4. TimeManager, öneriyi TimeDetectorService'a iletir.
  5. TimeDetectorService, yeni bir sistem saati seçmek için TimeDetectorStrategy'ı kullanır.