सिंक्रनाइज़ किए गए टाइम बेस, उच्च-सटीक टाइमस्टैम्प और स्थिति निगरानी के लिए मानकीकृत इंटरफ़ेस प्रदान करता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: aa3b87a713ceउद्गमखुले प्रश्न (2)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
सिंक्रनाइज़ किए गए टाइम बेस, उच्च-सटीक टाइमस्टैम्प और स्थिति निगरानी के लिए मानकीकृत इंटरफ़ेस प्रदान करता है।
नेमस्पेस ara::tsyncSynchronizedTimeBaseConsumer के माध्यम से अनुप्रयोगों को कॉन्फ़िगर किए गए टाइम बेस से जोड़कर Adaptive Platform पर सिंक्रनाइज़ समय पहुंच के लिए इंटरफ़ेस प्रदान करता है। समय कैप्चरिंग नैनोसेकंड रिज़ॉल्यूशन [SWS_TS_01251] पर आधारित प्रकार Timestamp के उच्च-सटीक टाइमस्टैम्प के माध्यम से होती है। अनुप्रयोग SynchronizationStatus[SWS_TS_01050] जैसे स्थिति संकेतकों के माध्यम से सिंक्रनाइज़ेशन की निगरानी करते हैं। एक महत्वपूर्ण बाधा के रूप में, अतुल्यकालिक अधिसूचना कॉलबैक थ्रेड-सुरक्षित नहीं हैं और टाइम डेमॉन के कनेक्शन नुकसान को प्रबंधित किया जाना चाहिए।
संदर्भ
नेमस्पेस ara::tsync AUTOSAR Adaptive Platform के भीतर उच्च-सटीक समय सिंक्रनाइज़ेशन के लिए इंटरफ़ेस प्रदान करता है। यह अनुप्रयोगों को सिंक्रनाइज़ किए गए समय बिंदुओं को पढ़ने, सिंक्रनाइज़ेशन स्थिति की निगरानी करने और सत्यापन उद्देश्यों के लिए माप मानों को रिकॉर्ड करने में सक्षम बनाता है। उपभोक्ता अनुप्रयोगों के लिए केंद्रीय भूमिका क्लास SynchronizedTimeBaseConsumer द्वारा निभाई जाती है, जो InstanceSpecifier के माध्यम से कॉन्फ़िगर किए गए टाइम बेस तक पहुंच को एनकैप्सुलेट करती है। प्रदाता की ओर, SynchronizedTimeBaseProvider टाइम बेस प्रदान करने और नियंत्रित करने के लिए एक्सेस बिंदु के रूप में कार्य करता है।
समय के प्रतिनिधित्व का आधार छद्म-घड़ी (pseudo-clock) TimeBase है, जिसके माध्यम से प्रकार उपनाम Timestamp को std::chrono::time_point<TimeBase, std::chrono::nanoseconds>[SWS_TS_01251] के रूप में परिभाषित किया गया है। वास्तविक सिंक्रनाइज़ेशन कार्य और IEEE 802.1AS या PTP जैसे बस प्रोटोकॉल से कनेक्शन आमतौर पर एक बैकग्राउंड सेवा के माध्यम से होता है। व्याख्या: यह टाइम डेमॉन ara::tsync के इंस्टेंस के साथ प्रक्रिया-व्यापी संचार करता है, जिसे विशिष्ट त्रुटि TsyncErrc::kDaemonConnectionLost[SWS_TS_00901] द्वारा प्रदर्शित किया जा सकता है। आर्किटेक्चर को ConsumerTimeBaseValidationNotification और ProviderTimeBaseValidationNotification जैसे इंटरफेस और रनटाइम तथा सटीकता माप के लिए डेटा संरचनाओं (उदा. TimeMasterMeasurementType, TimeSlaveMeasurementType, PdelayInitiatorMeasurementType और PdelayResponderMeasurementType) द्वारा पूरक किया जाता है। प्रश्न Q-dd9d1a36f7573a03 (खुला)
संदर्भ आरेख: ara::tsync नेमस्पेस में अनुप्रयोगों, इंटरफ़ेस क्लासों और टाइम डेमॉन का इंटरैक्शन। स्रोत: [SWS_TS_00901], [SWS_TS_01251]।
जीवनचक्र
सिंक्रनाइज़ किए गए टाइम बेस का जीवनचक्र स्थिति संरचनाओं और असतत स्थिति परिवर्तनों द्वारा निर्धारित होता है। सभी मेटाडेटा सहित समय की स्थिति का स्नैपशॉट SynchronizedTimeBaseStatus द्वारा दर्शाया जाता है। संचार और सिंक्रनाइज़ेशन स्थिति को गणना SynchronizationStatus[SWS_TS_01050] के माध्यम से नियंत्रित किया जाता है:
kNotSynchronizedUntilStartup: सिस्टम प्रारंभ के बाद पहले सफल सिंक्रनाइज़ेशन से पहले प्रारंभिक स्थिति।
kSynchronized: टाइम बेस टाइम-मास्टर के साथ सिंक्रनाइज़ है।
kSynchToGateway: सिंक्रनाइज़ेशन एक गेटवे के माध्यम से होता है।
kTimeOut: एक परिभाषित समय सीमा के भीतर कोई सिंक्रनाइज़ेशन स्थापित या बनाए नहीं रखा जा सका।
संचार स्थिति के अलावा, गणना LeapJump[SWS_TS_01051] टाइम बेस के अप्रत्याशित (चरणबद्ध) सुधारों को कैप्चर करती है: kTimeLeapNone थ्रेशोल्ड उल्लंघन के बिना निरंतर संचालन का संकेत देता है, जबकि kTimeLeapFuture और kTimeLeapPast क्रमशः भविष्य या अतीत में महत्वपूर्ण सुधारों का संकेत देते हैं।
समवर्तीता के संबंध में, यह ध्यान दिया जाना चाहिए कि SynchronizationNotifier[SWS_TS_14222], SynchronizedTimeBaseNotifier[SWS_TS_14221] और TimePrecisionNotifier[SWS_TS_14223] जैसे कॉलबैक प्रकार विनिर्देश के अनुसार थ्रेड-सुरक्षित नहीं माने जाते हैं। इसलिए स्थिति संक्रमण, विशेष रूप से टाइमआउट या पुनः सिंक्रनाइज़ेशन की स्थिति में, एप्लिकेशन-पक्ष सिंक्रनाइज़ेशन की आवश्यकता होती है।
स्थिति आरेख (State diagram): सिंक्रनाइज़ किए गए टाइम बेस का जीवनचक्र और संचार स्थितियां। स्रोत: [SWS_TS_01050]।
उपयोग पथ
उपभोक्ता अनुप्रयोग द्वारा सिंक्रनाइज़ किए गए टाइम बेस का उपयोग करने का विशिष्ट प्रवाह निम्नलिखित चरणों में विभाजित है:
आरंभीकरण और बाइंडिंग: अनुप्रयोग उपयुक्त InstanceSpecifier निर्दिष्ट करके वांछित टाइम बेस के लिए SynchronizedTimeBaseConsumer को इंस्टेंटिएट करता है।
अधिसूचनाओं का पंजीकरण: सिंक्रनाइज़ेशन स्थिति की निगरानी के लिए, एप्लिकेशन कॉलबैक फ़ंक्शन पास करता है। इनमें SynchronizationStatus के परिवर्तनों के लिए SynchronizationNotifier[SWS_TS_14222], विस्तृत स्थिति स्नैपशॉट (SynchronizedTimeBaseStatus) के लिए SynchronizedTimeBaseNotifier[SWS_TS_14221], और सटीकता माप डेटा (TimePrecisionMeasurement) के लिए TimePrecisionNotifier[SWS_TS_14223] शामिल हैं।
टाइमस्टैम्प क्वेरी: स्थिति kSynchronized या kSynchToGateway[SWS_TS_01050] मौजूद होने पर, अनुप्रयोग प्रकार Timestamp[SWS_TS_01251] के उच्च-सटीक समय मानों को पढ़ता है।
स्थिति और समय परिवर्तनों पर प्रतिक्रिया: यदि सूचनाएं kTimeLeapNone[SWS_TS_01051] से भिन्न LeapJump या kTimeOut[SWS_TS_01050] में संक्रमण का संकेत देती हैं, तो एप्लिकेशन आंतरिक टाइमर को समायोजित करता है या डिग्रेडेशन मोड में चला जाता है।
उपयोगकर्ता डेटा का ट्रांसमिशन: यदि समय सिंक्रनाइज़ेशन के संदर्भ में उपयोगकर्ता-विशिष्ट पेलोड डेटा प्रसारित किया जाता है, तो संरचना UserData का उपयोग किया जाता है।
त्रुटि परिदृश्य
नेमस्पेस का एरर हैंडलिंग एरर डोमेन TsyncErrorDomain के माध्यम से AUTOSAR मानक मॉडल का अनुसरण करता है। इस ग्लोबल डोमेन तक एक्सेस GetTsyncErrorDomain()[SWS_TS_00909] के माध्यम से प्राप्त किया जाता है। एरर के कारणों को एन्यूमिरेशन प्रकार TsyncErrc[SWS_TS_00901] द्वारा वर्णित किया जाता है:
kDaemonConnectionLost: अनुरोधित ऑपरेशन विफल हो जाता है, क्योंकि Time-Sync-Daemon से कनेक्शन कट गया है।
kLimitsExceeded: पास किया गया या गणना किया गया मान स्वीकार्य मान सीमा से बाहर है।
kFunctionNotSupported: वर्तमान कॉन्फ़िगरेशन या प्लेटफ़ॉर्म वातावरण में अनुरोधित फ़ंक्शन समर्थित नहीं है।
kInvalidUserDataSize: पास किए गए उपयोगकर्ता डेटा की लंबाई UserData::kMaxUserDataSize द्वारा परिभाषित वर्तमान में 3 बाइट्स के अधिकतम मान से अधिक है।
ara::core::ErrorCode के इंस्टेंसेस सहायक फ़ंक्शन MakeErrorCode[SWS_TS_00910] के माध्यम से जनरेट किए जाते हैं। फ़ंक्शन को noexcept के रूप में घोषित किया गया है और यह थ्रेड-सुरक्षित है। अपवाद-आधारित आर्किटेक्चर के लिए, नेमस्पेस अपवाद वर्ग TsyncException प्रदान करता है।
यह गाइड tsync मॉड्यूल के लिए AUTOSAR Adaptive Platform R25-11 विनिर्देश पर आधारित है।
KI-gestützte Gruppierung auf Basis der Records und Spezifikationsauszüge; keine Gliederung aus der AUTOSAR-Spezifikation.
क्लास आरेख
Abgerundete Rahmen = Namespace- bzw. Klassen-Scopes; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = namespace-fremde bzw. externe Basisklassen. Klicken öffnet die jeweilige Klassen- bzw. cppreference-Seite.
=0 The TB is not synchronized until startup (inital state)
kTimeOut
= 0x1 The TB was not synchronized within a certain time frame.
kSynchronized
= 0x2 The TB is in sync with the time master.
kSynchToGateway
= 0x3 The TB is in sync with the gateway.
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 2b617e90b13fउद्गम
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
गणना (एन्यूमरेशन) SynchronizationStatus नेमस्पेस ara::tsync में किसी टाइम बेस की संचार और सिंक्रोनाइज़ेशन स्थिति को व्यक्त करती है [SWS_TS_01050]। यह प्रकार std::uint32_t पर आधारित है और हेडर फ़ाइल ara/tsync/synchronized_time_base_status.h तथा फ़ॉरवर्डिंग हेडर ara/tsync/tsync_fwd.h के माध्यम से प्रदान किया जाता है [SWS_TS_01050]। यह गणना चार स्थितियाँ परिभाषित करती है:
kNotSynchronizedUntilStartup (= 0): सिस्टम प्रारंभ होने से पहले टाइम बेस सिंक्रोनाइज़ नहीं है (प्रारंभिक स्थिति) [SWS_TS_01050]।
kTimeOut (= 0x1): टाइम बेस एक पूर्व-निर्धारित समय विंडो के भीतर सिंक्रोनाइज़ नहीं हुआ [SWS_TS_01050]।
kSynchronized (= 0x2): टाइम बेस टाइम-मास्टर के साथ सिंक्रोनस है [SWS_TS_01050]।
kSynchToGateway (= 0x3): टाइम बेस गेटवे के साथ सिंक्रोनस है [SWS_TS_01050]।
स्थिति का सिंक्रोनस पुनर्प्राप्ति क्लास ara::tsync::SynchronizedTimeBaseStatus की विधि GetSynchronizationStatus() के माध्यम से किया जाता है, जो स्थिति-ऑब्जेक्ट के निर्माण के समय की स्थिति को थ्रेड-सुरक्षित और अपवाद-सुरक्षित (noexcept) तरीके से लौटाती है [SWS_TS_01053]। स्थिति परिवर्तनों की सूचनाओं के लिए ara/tsync/synchronized_time_base_consumer.h में टाइप एलियास SynchronizationNotifier मौजूद है (std::function<void(const SynchronizationStatus &)>), जिसे स्पष्ट रूप से थ्रेड-सुरक्षित नहीं के रूप में विनिर्दिष्ट किया गया है [SWS_TS_14222]।
त्रुटि की स्थिति में या सिंक्रोनाइज़ेशन के अभाव में, लिंक की गई विधियों के व्यवहार पर ध्यान दिया जाना चाहिए: यदि टाइम बेस कभी सिंक्रोनाइज़ नहीं हुआ है और इसकी स्थिति kNotSynchronizedUntilStartup है, तो विधि GetCreationTime() एक खाली ara::core::Optional लौटाती है, क्योंकि सिंक्रोनाइज़्ड समय में कोई मान्य निर्माण समय उपलब्ध नहीं है [SWS_TS_01055]।
यह पाठ एक AI प्रणाली द्वारा तैयार किया गया था और यह पूरी तरह से AUTOSAR R25-11 के विनिर्देश डेटा पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
Request a governed re-review of this record. The record is not changed immediately.
=1 The action cannot be executed, because the connection to time sync daemon is currently lost.
kLimitsExceeded
=2 The value exceeds valid value range
kFunctionNotSupported
=3 The requested function is not supported
kInvalidUserDataSize
=4 The length of the user data exceeded the maximum allowed size, defined by UserData::kMaxUserDataSize (currently 3 bytes).
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: bf6ea0154525उद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
गणना (enumeration) TsyncErrc फ़ंक्शन क्लस्टर Time Synchronization [SWS_TS_00901] के मानकीकृत त्रुटि कोड परिभाषित करती है। यह ara::core::ErrorDomain::CodeType पर आधारित है और इसे नेमस्पेस ara::tsync के भीतर घोषित किया गया है; इसके अतिरिक्त ara::tsync::TsyncErrorDomain::Errc के माध्यम से एक उपनाम (alias) भी उपलब्ध है [SWS_TS_01266]। पूर्ण त्रुटि ऑब्जेक्ट बनाने के लिए थ्रेड-सुरक्षित फ़ंक्शन MakeErrorCode कार्य करता है, जो TsyncErrc मान को निर्माता-विशिष्ट अतिरिक्त डेटा के साथ जोड़कर एक ara::core::ErrorCode बनाता है [SWS_TS_00910]।
विनिर्देश चार ठोस त्रुटि मान [SWS_TS_00901] परिभाषित करता है:
kDaemonConnectionLost (=1): क्रिया निष्पादित नहीं की जा सकती क्योंकि Time-Sync-Daemon से कनेक्शन टूट गया है।
kLimitsExceeded (=2): पास किया गया एक पैरामीटर अनुमत मान सीमा से अधिक है। उदाहरण के लिए, यह SetRateCorrection में तब होता है जब अनुरोधित दर सुधार (rate correction) अमान्य हो [SWS_TS_01110]।
kFunctionNotSupported (=3): अनुरोधित फ़ंक्शन समर्थित नहीं है। व्याख्या: यह संभवतः उन कार्यान्वयनों (implementations) से संबंधित है जिनमें वैकल्पिक हार्डवेयर या इंटरफ़ेस फ़ंक्शन उपलब्ध नहीं हैं। प्रश्न Q-e22067d84fd6adb4 (खुला)
kInvalidUserDataSize (=4): पेलोड की लंबाई UserData::kMaxUserDataSize द्वारा निर्दिष्ट 3 बाइट्स के अधिकतम आकार से अधिक है। यह त्रुटि SetTime[SWS_TS_01107] और साथ ही SetUserData[SWS_TS_01112] में उत्पन्न होती है।
समय और डेटा अपडेट की विधियाँ जैसे क्लास ara::tsync::SynchronizedTimeBaseProvider की SetTime, UpdateTime, SetRateCorrection और SetUserData परिणाम सिंक्रोनस रूप से ara::core::Result<void> के माध्यम से लौटाती हैं और गैर-थ्रेड-सुरक्षित के रूप में निर्दिष्ट हैं [SWS_TS_01107][SWS_TS_01108][SWS_TS_01110][SWS_TS_01112]। विनिर्देश के अनुसार, त्रुटि की स्थिति में कोई रोलबैक सिमेंटिक्स लागू नहीं होता है (no_rollback_semantics) [SWS_TS_01107][SWS_TS_01110][SWS_TS_01112]।
यह पाठ AI द्वारा तैयार किया गया था और विनिर्देश स्तर R25-11 पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
Request a governed re-review of this record. The record is not changed immediately.
Returns a reference to the global TsyncErrorDomain object.
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 3848538f31e7उद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
उपयोग
तुल्यकालिक फ़ंक्शन GetTsyncErrorDomain नेमस्पेस ara::tsync से संबंधित है और हेडर फ़ाइल ara/tsync/tsync_error_domain.h के माध्यम से शामिल किया गया है [SWS_TS_00909]। यह कॉल पैरामीटर रहित है और इसका उद्देश्य समय तुल्यकालन के वैश्विक TsyncErrorDomain ऑब्जेक्ट का संदर्भ प्राप्त करना है [SWS_TS_00909]।
रिटर्न मान के रूप में, फ़ंक्शन const ara::core::ErrorDomain &[SWS_TS_00909] प्रकार के इस वैश्विक त्रुटि डोमेन ऑब्जेक्ट के लिए एक निरंतर संदर्भ (constant reference) प्रदान करता है। व्याख्या: प्रदान किया गया इंस्टेंस AUTOSAR Adaptive की त्रुटि हैंडलिंग अवधारणा में समय तुल्यकालन क्षेत्र से मॉड्यूल-विशिष्ट त्रुटि कोडों की पहचान करने, असाइन करने या अन्य त्रुटि डोमेन के साथ तुलना करने के लिए एक संदर्भ बिंदु के रूप में काम कर सकता है। प्रश्न Q-cf1fce412576bca3 (खुला)
त्रुटि प्रबंधन और अपवाद सुरक्षा
फ़ंक्शन हस्ताक्षर को स्पष्ट रूप से noexcept के रूप में घोषित किया गया है और अपवाद-सुरक्षित (exception safe) के रूप में निर्दिष्ट किया गया है [SWS_TS_00909]। इसका अर्थ है कि निष्पादन के दौरान कोई अपवाद नहीं फेंका जा सकता है। चूँकि फ़ंक्शन केवल पहले से मौजूद वैश्विक डोमेन ऑब्जेक्ट का संदर्भ लौटाता है, इसलिए कोई आंतरिक त्रुटि स्थितियाँ उत्पन्न नहीं होती हैं, और कॉल के लिए न तो विशिष्ट त्रुटि कोड और न ही त्रुटि संदेश मौजूद हैं [SWS_TS_00909]।
समवर्तीता और प्रतिबंध
विनिर्देश के अनुसार, GetTsyncErrorDomain को थ्रेड-सुरक्षित (thread-safe) के रूप में वर्गीकृत किया गया है [SWS_TS_00909]। इसलिए कॉल पूर्व तुल्यकालन या लॉकिंग तंत्र के बिना विभिन्न थ्रेड्स से समानांतर में निष्पादित किए जा सकते हैं। विनिर्देश के अनुसार, कॉल के लिए कोई विशेष क्रम की शर्तें या पूर्व शर्तें मौजूद नहीं हैं [SWS_TS_00909]।
यह पाठ AI द्वारा तैयार किया गया था और AUTOSAR विनिर्देशों पर आधारित है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: ad8052caa2c8उद्गम
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
फ़ंक्शन MakeErrorCode नेमस्पेस ara::tsync[SWS_TS_00910] में समय सिंक्रोनाइज़ेशन के त्रुटि डोमेन के लिए एक ara::core::ErrorCode ऑब्जेक्ट के तुल्यकालिक निर्माण के लिए कार्य करता है। यह हेडर ara/tsync/tsync_error_domain.h के माध्यम से उपलब्ध है और समय सिंक्रोनाइज़ेशन की त्रुटि संख्याओं को AUTOSAR Adaptive के मानकीकृत त्रुटि प्रबंधन मॉडल में स्थानांतरित करता है।
पैरामीटर और रिटर्न मान
code (ara::tsync::TsyncErrc): डोमेन की विशिष्ट त्रुटि संख्या को निर्दिष्ट करता है [SWS_TS_00910]।
data (ara::core::ErrorDomain::SupportDataType): उत्पन्न हुई त्रुटि के लिए निर्माता-विशिष्ट अतिरिक्त डेटा पास करता है [SWS_TS_00910]।
रिटर्न मान: एक इनिशियलाइज़्ड ara::core::ErrorCode ऑब्जेक्ट लौटाता है [SWS_TS_00910]।
समवर्तीता और निष्पादन सुरक्षा
फ़ंक्शन को noexcept के साथ घोषित किया गया है और अपवाद-सुरक्षित के रूप में वर्गीकृत किया गया है [SWS_TS_00910]; यह रनटाइम पर कोई अपवाद नहीं फेंकता है। इसके अतिरिक्त, कार्यान्वयन को thread-safe के रूप में निर्दिष्ट किया गया है [SWS_TS_00910], यही वजह है कि इसे बिना किसी अतिरिक्त सिंक्रोनाइज़ेशन उपायों के कई थ्रेड्स से समानांतर में कॉल किया जा सकता है।
इंटरैक्शन
इस आधारभूत फ़ंक्शन के पूरक के रूप में, संबंधित आवश्यकता [SWS_TS_14213] नेमस्पेस apext::tsync (हेडर apext/tsync/fvm_error_domain.h) में TsyncFvmErrc के लिए एक समान ओवरलोड निर्दिष्ट करती है, जिसे constexpr के रूप में परिभाषित किया गया है।
यह पाठ AUTOSAR R25-11 विनिर्देश के आधार पर एक AI द्वारा जनरेट किया गया था।
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल