AAOS zaman kaynaklarını yapılandırma

Bu özellik, iş ortaklarının Android Otomotiv İşletim Sisteminden (AAOS) veya araç sistemlerinden Android'e kadar zamanı nasıl senkronize edeceklerini seçmelerine olanak tanır. Uygulamaların kaliteli olmasını sağlamak için AAOS'u, değerleri etkili bir şekilde yaymak amacıyla aşağıda açıklanan iki yeni VHAL özelliğinden birini kullanacak şekilde yapılandırabilirsiniz. Kullanmak:

  • Android'i zamanın gerçeğinin kaynağı olarak kullanmak için ANDROID_EPOCH_TIME . VHAL, zaman değişikliklerini Android'den Elektronik Kontrol Üniteleri (ECU) ve Karoseri Kontrol Modülü (BCM) gibi diğer araç sistemlerine ileten bu salt yazma özelliğini destekler.
  • Android'i zamanın gerçeğinin kaynağı olarak kullanmamak için EXTERNAL_CAR_TIME . Bu durumda VHAL, zaman değişikliklerini diğer araç sistemlerinden (ECU'lar ve BCM gibi) Android'e ileten salt okunur EXTERNAL_CAR_TIME özelliğini destekler.

AAOS ayrıca Android'deki farklı zaman kaynaklarına öncelik vermenize yardımcı olmak için yapılandırılabilir bir TimeDetectorStrategy sağlar.

Android zaman için gerçeğin 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.

Bunu yapmak için VHAL uygulamasının salt okunur özellik ANDROID_EPOCH_TIME özelliğini desteklemesi gerekir. Android, hem önyükleme sırasında hem de Android'deki zaman kaynağı değiştiğinde sistem saatini okuyarak özellik için bir güncelleme yayınlar.

Android zaman için gerçeğin kaynağı değil

Android zaman kaynağı olarak kullanılmadığında , Android zamanını zaman gerçeğinin kaynağı olacak şekilde senkronize edebilirsiniz (örneğin, bir ECU veya BCM ile). Bu durumda, VHAL uygulamasının EXTERNAL_CAR_TIME salt okunur özelliğini desteklemesi ve zaman kaynağı saati değiştirdiğinde veya yeniden kalibre ettiğinde bu özelliğe yönelik güncellemeleri yayınlaması gerekir.

OEM'ler ayrıca şunları sağlamalıdır:

  • config_autoTimeSourcesPriority değerleri core/res/res/values/config.xml dosyasında bulunur.
  • CarServices kaplamasındaki config_enableExternalCarTimeToExternalTimeSuggestion özelliği packages/services/Car/service/res/values/config.xml true olarak ayarladı.
  • external zaman, TimeDetectorStrategy yapılandırmasında uygun önceliğe sahiptir. Daha fazla bilgi edinmek için bkz. GNSS Zaman Algılama . Örneğin:
    <!-- 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 özelliği desteklendiğinde aşağıdaki akış gerçekleşir:

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

EXTERNAL_CAR_TIME VHAL özelliği desteklendiğinde aşağıdaki akış gerçekleşir:

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