AAOS समय स्रोतों को कॉन्फ़िगर करना

यह सुविधा भागीदारों को यह चुनने में सक्षम बनाती है कि समय को कैसे सिंक्रनाइज़ किया जाए, चाहे वह एंड्रॉइड ऑटोमोटिव ऑपरेटिंग सिस्टम (एएओएस) से हो या वाहन सिस्टम से एंड्रॉइड तक। गुणवत्ता कार्यान्वयन सुनिश्चित करने के लिए, आप मूल्यों को प्रभावी ढंग से प्रचारित करने के लिए नीचे वर्णित दो नई वीएचएएल संपत्तियों में से एक का उपयोग करने के लिए एएओएस को कॉन्फ़िगर कर सकते हैं। उपयोग:

  • ANDROID_EPOCH_TIME समय के लिए सत्य के स्रोत के रूप में Android का उपयोग करने के लिए। वीएचएएल इस केवल-लिखने वाली संपत्ति का समर्थन करता है, जो एंड्रॉइड से अन्य वाहन प्रणालियों, जैसे इलेक्ट्रॉनिक कंट्रोल यूनिट (ईसीयू) और बॉडी कंट्रोल मॉड्यूल (बीसीएम) में समय परिवर्तन का संचार करता है।
  • EXTERNAL_CAR_TIME समय के लिए सत्य के स्रोत के रूप में Android का उपयोग नहीं करने के लिए। इस मामले में, वीएचएएल केवल पढ़ने के लिए EXTERNAL_CAR_TIME संपत्ति का समर्थन करता है, जो अन्य वाहन प्रणालियों (जैसे ईसीयू और बीसीएम) से एंड्रॉइड में समय परिवर्तन का संचार करता है।

AAOS Android के भीतर अलग-अलग समय स्रोतों को प्राथमिकता देने में आपकी मदद करने के लिए एक कॉन्फ़िगर करने योग्य TimeDetectorStrategy भी प्रदान करता है।

Android समय के लिए सत्य का स्रोत है

जब एंड्रॉइड को समय के स्रोत के रूप में उपयोग किया जाता है, तो ओईएम अन्य कार सिस्टम (ईसीयू और बीसीएम सहित) को एंड्रॉइड समय के साथ सिंक्रनाइज़ कर सकते हैं।

ऐसा करने के लिए, VHAL कार्यान्वयन को केवल-लिखने वाली संपत्ति ANDROID_EPOCH_TIME संपत्ति का समर्थन करना चाहिए। एंड्रॉइड बूट समय पर और जब भी एंड्रॉइड में समय-स्रोत बदल जाता है, सिस्टम समय को पढ़कर संपत्ति के लिए एक अपडेट प्रकाशित करता है।

Android समय के लिए सत्य का स्रोत नहीं है

जब Android का उपयोग समय के स्रोत के रूप में नहीं किया जाता है, तो आप समय के लिए सत्य के स्रोत के रूप में Android समय को सिंक्रनाइज़ कर सकते हैं (उदाहरण के लिए, ECU या BCM के साथ)। इस मामले में, वीएचएएल कार्यान्वयन को केवल पढ़ने के लिए संपत्ति EXTERNAL_CAR_TIME का समर्थन करना चाहिए और जब भी समय का स्रोत बदलता है या घड़ी को फिर से कैलिब्रेट करता है तो इस संपत्ति में अपडेट प्रकाशित करना चाहिए।

ओईएम को यह भी सुनिश्चित करना चाहिए कि:

  • config_autoTimeSourcesPriority मान core/res/res/values/config.xml में समाहित हैं।
  • CarServices ओवरले में config_enableExternalCarTimeToExternalTimeSuggestion गुण packages/services/Car/service/res/values/config.xml को कॉन्फ़िगर करता है) true पर सेट है।
  • TimeDetectorStrategy कॉन्फ़िगरेशन में बाहरी समय की उपयुक्त प्राथमिकता होती है. अधिक जानने के लिए, जीएनएसएस टाइम डिटेक्शन देखें। उदाहरण के लिए:
    <!-- 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>
    
    1

Android आंतरिक कार्यान्वयन विवरण

निम्नलिखित प्रवाह तब होता है जब ANDROID_EPOCH_TIME VHAL गुण समर्थित होता है:

  1. TimeHalService (CarServices में) Android सिस्टम से Intent.ACTION_TIME_CHANGED के लिए एक प्रसारण प्राप्त करता है।
  2. TimeHalService VHAL संपत्ति ANDROID_EPOCH_TIME के ​​लिए एक अद्यतन प्रकाशित करता है।
  3. वीएचएएल विभिन्न ईसीयू और/या बीसीएम इकाइयों को प्राप्त समय मूल्य का प्रचार कर सकता है।

निम्नलिखित प्रवाह तब होता है जब EXTERNAL_CAR_TIME VHAL गुण समर्थित होता है:

  1. VHAL EXTERNAL_CAR_TIME प्रॉपर्टी को अपडेट करता है।
  2. TimeHalService (CarServices में) सब्सक्रिप्शन के माध्यम से संपत्ति को पढ़ता है।
  3. TimeHalService TimeManager एक ExternalTimeSuggestion समय सुझाव बनाता और भेजता है।
  4. TimeManager सुझाव को TimeDetectorService को अग्रेषित करता है।
  5. TimeDetectorService एक नया सिस्टम समय चुनने के लिए TimeDetectorStrategy का उपयोग करता है।