وحدة ara::tsync — Time Synchronization
دليل الوحدةمولَّد بالذكاء الاصطناعي
توفّر قواعد زمنية متزامنة على مستوى المركبة وتتيح للتطبيقات استعلامات زمنية دقيقة ومراقبة الحالة.
توفّر قواعد زمنية متزامنة على مستوى المركبة وتتيح للتطبيقات استعلامات زمنية دقيقة ومراقبة الحالة.
تتيح الكتلة الوظيفية Time Synchronization لـ AUTOSAR Adaptive Platform قواعد زمنية متسقة ومزامنة على نطاق الشبكة (AUTOSAR_AP_SWS_TimeSynchronization ص. 16). وعبر واجهات قياسية، تسترجع التطبيقات التكيفية حالات زمنية ذرية أو تُغذي، بصفتها ساعات رئيسية نشطة، تصحيحات جديدة للوقت والمعدل في النظام ككل. وفي الوقت نفسه، تراقب استدعاءات Notifier الارتجاعية المسجلة باستمرار تغيرات الحالة وكذلك قفزات الوقت للساعات الأساسية ([SWS_TS_01009]). وتقوم آليات متقدمة للتحقق من صحة بيانات القياس وقيم الحداثة بتأمين التكامل الزمني ضد أخطاء النقل والتلاعبات.
تتيح الكتلة الوظيفية Time Synchronization (tsync) على AUTOSAR Adaptive Platform قواعد زمنية متسقة ومزامنة على نطاق الشبكة (AUTOSAR_AP_SWS_TimeSynchronization ص. 16). وبصفتها خدمة خلفية قائمة على عفريت (daemon)، فإنها تُجرد آليات المزامنة الخاصة بالأجهزة والناقلات (مثل IEEE 802.1AS gPTP) وتُزود الكتل الأساسية مثل Log and Trace و Intrusion Detection System Manager (IdsM) وكذلك خدمات التحديث عبر واجهات قياسية (AUTOSAR_AP_EXP_SWArchitecture ص. 83).
مخطط السياق: تضمين كتلة Time Synchronization القائمة على عفريت (daemon) في AUTOSAR Adaptive Platform وعلاقات واجهاتها بالكتل والتطبيقات المستهلكة. المصادر: AUTOSAR_AP_SWS_TimeSynchronization ص. 16، AUTOSAR_AP_EXP_SWArchitecture ص. 83، AUTOSAR_AP_EXP_SWArchitecture ص. 83
للوصول المخصص للقراءة، تستخدم التطبيقات الواجهة SynchronizedTimeBaseConsumer ([SWS_TS_01001]). تُرجع الدالة GetTimeWithStatus() لقطة ذرية من النوع SynchronizedTimeBaseStatus، يمكن من خلالها استرجاع الوقت العالمي، ووقت الإنشاء المحلي الرتيب، وحالة المزامنة، بالإضافة إلى UserData المستلمة ([SWS_TS_01009]، [SWS_TS_01055]، [SWS_TS_14176]). ولتجنب الاستقصاء المتكرر (Polling)، تسجل التطبيقات نفسها عبر استدعاءات Notifier الارتجاعية لتغيرات الحالة وقفزات الوقت ([SWS_TS_01010]، [SWS_TS_01014]).
مخطط التتابع: مسار استعلام متزامن عن الوقت عبر واجهة المستهلك وقراءة خصائص اللقطة الذرية. المصادر: [SWS_TS_01009]، [SWS_TS_01055]، [SWS_TS_14176]، AUTOSAR_AP_EXP_SWArchitecture ص. 225
تتحكم التطبيقات المانحة للوقت في سلوك النظام عبر SynchronizedTimeBaseProvider: تُطلق SetTime() عمليات نقل فورية على الناقل، بينما تقوم UpdateTime() بضبط الساعة محليًا في البداية ([SWS_TS_01101]، [SWS_TS_01107]، [SWS_TS_01108]). وتحمي آليات مصاحبة مثل Time Validation ([SWS_TS_00420]، [SWS_TS_00421]) وإدارة قيم الحداثة الأصلية (FVM) من أخطاء الانحراف وإعادة الإرسال ([SWS_TS_14198]). وفي حالة الخطأ، تشير رموز TsyncErrc (مثل kDaemonConnectionLost) إلى انقطاع الاتصال، بينما يُعرض غياب رسائل المزامنة كـ kTimeOut في كائن الحالة ([SWS_TS_00901]، [SWS_TS_01050]).
تتيح الكتلة الوظيفية Time Synchronization (tsync) على AUTOSAR Adaptive Platform قواعد زمنية منسقة ومزامنة على نطاق الشبكة، وتفصل العمليات المطبقة عن بروتوكولات مزامنة الوقت الخاصة بالأجهزة والناقلات (AUTOSAR_AP_SWS_TimeSynchronization ص. 16). ويشكل النظام الأساس التقني المعلوماتي للأنظمة الموزعة، التي يجب فيها ضمان تسلسلات أحداث متسقة، وسجلات تتبع قابلة للتكرار، ودورات حسابية قطعية عبر حدود وحدات التحكم الإلكترونية (AUTOSAR_AP_EXP_SWArchitecture ص. 83).
مخطط السياق: تضمين كتلة Time Synchronization القائمة على عفريت (daemon) في AUTOSAR Adaptive Platform وعلاقات واجهاتها بالكتل والتطبيقات المستهلكة. المصادر: AUTOSAR_AP_SWS_TimeSynchronization ص. 16، AUTOSAR_AP_EXP_SWArchitecture ص. 83، AUTOSAR_AP_EXP_SWArchitecture ص. 83
حدود النظام ودور كتلة Time Synchronization القائمة على عفريت (daemon)
تم تنفيذ المعمارية الوظيفية لـ Time Synchronization ككتلة قائمة على عفريت (daemon) (daemon-based)، تعمل في الخلفية كخدمة منصة مركزية (AUTOSAR_AP_SWS_TimeSynchronization ص. 16). يتفاعل هذا العفريت مباشرة مع واجهات نظام التشغيل الأساسي ويعالج بيانات مزامنة الوقت القائمة على الشبكة مثل gPTP (IEEE 802.1AS) أو مزامنات الوقت الكلاسيكية للناقل (AUTOSAR_FO_PRS_TimeSyncProtocol ص. 68). وبالمقارنة مع سياق التطبيق، تُغلف الكتلة بالكامل التعويض الرياضي لانحراف وإزاحة ساعات الأجهزة.
تصل العديد من الكتل الوظيفية الأساسية لـ Adaptive Platform إلى tsync عبر واجهات خدمة قياسية (AUTOSAR_AP_EXP_SWArchitecture ص. 83). على سبيل المثال، يعتمد Log and Trace على القاعدة الزمنية المزامنة لتزويد أحداث السجل و DLT على مستوى النظام بطوابع زمنية عالمية موثوقة (AUTOSAR_AP_EXP_SWArchitecture ص. 59؛ AUTOSAR_AP_SWS_LogAndTrace ص. 15). كما تعتمد الوحدات ذات الصلة بالأمان، مثل Intrusion Detection System Manager (IdsM) وكذلك خدمات التحديث (UCM و Vehicle UCM)، إلزاميًا على واجهة C++ لـ SynchronizedTimeBaseConsumer، لتوجيه تقارير موثوقة جنائيًا ومعاملات تحديث متسقة عبر حدود وحدات التحكم الإلكترونية (AUTOSAR_AP_EXP_SWArchitecture ص. 125؛ AUTOSAR_AP_SWS_UpdateAndConfigurationManagement ص. 16؛ AUTOSAR_AP_SWS_VehicleUpdateAndConfigurationManagement ص. 11).
الواجهات المستهلكة واستعلامات الوقت ذات الحالة
للوصول المخصص للقراءة إلى قاعدة زمنية مزامنة، تستخدم التطبيقات فئة الواجهة SynchronizedTimeBaseConsumer ([SWS_TS_01001]). تطبق الفئة دلالات النقل ([SWS_TS_01003]، [SWS_TS_01004])، لكنها تستبعد صراحة أي نسخ ([SWS_TS_01005]، [SWS_TS_01006]). وأثناء وقت التشغيل، تسمح GetRateDeviation() بالقراءة المباشرة لانحراف التردد الحالي للساعة ([SWS_TS_01008]).
العنصر المركزي لكل استعلام متزامن هو العملية GetTimeWithStatus() ([SWS_TS_01009]). وبدلًا من إرجاع قيم وقت خام معزولة، تُنشئ الدالة لقطة متسقة ذاتيًا من النوع SynchronizedTimeBaseStatus (EXP_SWArchitecture ص. 81). تُجمد هذه اللقطة وقت الإنشاء الدقيق في الوقت العالمي ([SWS_TS_01055]) وكذلك في الوقت الرتيب المحلي عبر GetCreationLocalTime() ([SWS_TS_14176]). وتُمثَّل النقاط الزمنية هنا في نوع C++-Chrono القياسي Timestamp بدقة النانو ثانية على أساس std::int64_t ([SWS_TS_01251]، [SWS_TS_01261]، [SWS_TS_01262]).
إلى جانب الوقت، يمكن أيضًا من اللقطة تحديد حالة الاتصال والمزامنة عبر GetSynchronizationStatus() ([SWS_TS_01053])، وقفزة زمنية محتملة الحدوث عبر GetLeapJump() ([SWS_TS_01054])، وكذلك بيانات مستخدم خاصة بالتطبيق عبر GetUserData() ([SWS_TS_01056]). لا يوجد منشئ افتراضي لكائن الحالة ([SWS_TS_01061])، في حين يضمن منشئا النقل والنسخ تسليمه الآمن عبر الخيوط (thread-safe) إلى روتينات التطبيق المستدعية ([SWS_TS_01057]، [SWS_TS_01058]).
مخطط التتابع: مسار استعلام متزامن عن الوقت عبر واجهة المستهلك وقراءة خصائص اللقطة الذرية. المصادر: [SWS_TS_01009]، [SWS_TS_01055]، [SWS_TS_14176]، AUTOSAR_AP_EXP_SWArchitecture ص. 225
الإشعارات المدفوعة بالأحداث ومراقبة المزامنة
لتجنب حلقات الاستقصاء المتكرر (Polling)، توفر SynchronizedTimeBaseConsumer نمط مراقب مدفوعًا بالأحداث عبر استدعاءات Notifier الارتجاعية (AUTOSAR_AP_EXP_SWArchitecture ص. 226). تسجل التطبيقات نفسها باستدعاءات ارتجاعية آمنة النوع لتغيرات حالة محددة ([SWS_TS_14221]، [SWS_TS_14222]). وعند كل إعادة تسجيل، يحل الـ Notifier الجديد محل المعالج المسجل سابقًا ([SWS_TS_01010]).
لتغيرات الحالة المجمعة توجد RegisterStatusChangeNotifier() ([SWS_TS_01010])، وتكتمل بـ UnregisterStatusChangeNotifier() ([SWS_TS_01011]). وإذا كان التطبيق يستجيب في المقام الأول لتغير حالة المزامنة (مثل فقدان الاتصال بالساعة الرئيسية الكبرى Grandmaster)، يتم استخدام RegisterSynchronizationStateChangeNotifier() ([SWS_TS_01012]). أما قفزات الوقت إلى المستقبل (kTimeLeapFuture) أو الماضي (kTimeLeapPast)، التي تتجاوز عتبة مهيأة، فيتم الإبلاغ عنها عبر RegisterTimeLeapNotifier() ([SWS_TS_01014]، [SWS_TS_01051]).
لتطبيقات الميكاترونيكس عالية الدقة، تتوفر أيضًا RegisterTimePrecisionMeasurementNotifier() ([SWS_TS_01018]). يمرر الاستدعاء الارتجاعي هيكلًا TimePrecisionMeasurement، يحتوي على قيم دقيقة بالثواني والنانو ثانية مباشرة قبل المزامنة (locSeconds، locNanoSeconds) وبعدها (glbSeconds، glbNanoSeconds)، وتأخير المسار المحسوب pathDelay، بالإضافة إلى قناع البتات timeBaseStatus ([SWS_TS_01401]، [SWS_TS_01403]، [SWS_TS_01406]، [SWS_TS_01408]). ولا تقوم كتلة Time Synchronization هنا بأي إدارة لقوائم الانتظار (Queuing)؛ ويجب تنفيذ التخزين المؤقت، عند الحاجة، داخل الاستدعاء الارتجاعي للتطبيق ([SWS_TS_01018]).
مخطط التتابع: التسجيل وتدفق الإشعارات غير المتزامنة عند تغيرات المزامنة وقفزات الوقت. المصادر: [SWS_TS_01010]، [SWS_TS_01012]، [SWS_TS_01014]، AUTOSAR_AP_EXP_SWArchitecture ص. 226
مخطط الحالة: دورة حياة حالة مزامنة قاعدة زمنية وفقًا لـ SWS_TS_01050. المصادر: [SWS_TS_01050]، AUTOSAR_SWS_TimeSync ص. 25
توفير القواعد الزمنية وضبط التردد بواسطة الموفرين (Providers)
إذا تصرف Adaptive Application كمانح وقت نشط (Time Master) – على سبيل المثال من خلال الاتصال بمستقبل GNSS أو ساعة مرجعية خارجية – فإنه يستخدم الفئة SynchronizedTimeBaseProvider ([SWS_TS_01101]). وتتيح الواجهة التعيين الصريح لقيم وقت جديدة عبر دلالتين مختلفتين: SetTime() و UpdateTime() (EXP_SWArchitecture ص. 80).
لا يقتصر استدعاء SetTime() على إعادة تعيين قراءة الساعة الداخلية فحسب، بل يفرض الإرسال الفوري لرسائل المزامنة المحدثة على ناقل المركبة ([SWS_TS_01107]). وبخلاف ذلك، تقوم UpdateTime() بتحديث الوقت محليًا فقط في البداية؛ ويتم الإرسال على الناقل بشكل متأخر في الدورة التالية المنتظمة لبروتوكول نقل الوقت ([SWS_TS_01108]). وتستقبل كلتا الدالتين، إلى جانب الطابع الزمني، UserData مهيكلة، من أجل توزيع معلومات إضافية مصاحبة للمزامنة على نطاق الشبكة ([SWS_TS_01112]، [SWS_TS_01113]).
للضبط الدقيق لمذبذبات الكوارتز وتجنب قفزات الطور المفاجئة، تتيح SetRateCorrection() تطبيق معامل تصحيح تردد نسبي ([SWS_TS_01110]). وتوفر GetRateDeviation() بشكل مكمل انحراف التردد المطبق حاليًا ([SWS_TS_01111])، بينما تقرأ GetCurrentTime() قيمة الوقت المطلقة للساعة بشكل مستقل عن حالة المزامنة الحالية ([SWS_TS_01109]).
ضمان التكامل عبر Time Validation وإدارة قيم الحداثة (Freshness Value Management)
في بيئات القيادة الحرجة للسلامة وعالية الأتمتة، لا يكفي مجرد قبول قيم الوقت؛ بل يجب التحقق باستمرار من صحة الطوابع الزمنية ومقاومتها للتلاعب (AUTOSAR_AP_SWS_TimeSynchronization ص. 38). ولهذا الغرض توفر tsync واجهات استدعاء ارتجاعي لـ Time Validation: يسجل المستهلكون أنفسهم عبر RegisterTimeValidationNotification() ([SWS_TS_01016])، ويسجل الموفرون بالمثل عبر الطريقة المخصصة للموفر ([SWS_TS_01114]).
تمرر واجهتا التحقق ConsumerTimeBaseValidationNotification و ProviderTimeBaseValidationNotification مجموعات بيانات قياس مفصلة إلى تطبيقات مراقبة متخصصة ([SWS_TS_01300]، [SWS_TS_01301]). وعند المحطة الرئيسية (Master)، توفر SetMasterTimingData() الطابع الزمني للخروج (syncEgressTimestamp) ورقم التسلسل (sequenceId) لأطر Sync المرسلة ([SWS_TS_00421]، [SWS_TS_14141]، [SWS_TS_14142]). وعلى مستوى التابع (Slave)، تمرر SetSlaveTimingData() الطوابع الزمنية المقابلة للدخول (syncIngressTimestamp)، وحقل التصحيح المستلم (correctionField)، بالإضافة إلى تأخير المسار المقاس (pDelay) ([SWS_TS_00420]، [SWS_TS_14152]، [SWS_TS_14153]، [SWS_TS_14155]). وبالنسبة لقياسات التأخير من نظير إلى نظير (Peer-to-Peer)، توفر SetPdelayInitiatorData() و SetPdelayResponderData() بالكامل أوقات الدخول والخروج لحزم الطلب والاستجابة ([SWS_TS_00422]، [SWS_TS_00423]، [SWS_TS_14160]، [SWS_TS_14170]).
للحماية من هجمات إعادة الإرسال وتأمين رسائل الوقت المنقولة، تدمج المنصة Freshness Value Management (FVM) عبر واجهات أصلية في مساحة الاسم apext::tsync ([SWS_TS_14198]، EXP_SWArchitecture ص. 83). وعند بدء التشغيل، تقوم Initialize() بتهيئة المكون الإضافي لـ FVM المسؤول ([SWS_TS_14200]). وقبل الإرسال، يستدعي المكدس GetTxFreshness() لاسترداد قيم عداد حديثة ([SWS_TS_14199])، بينما تُستخدم GetRxFreshness() عند الاستقبال للتحقق والمصادقة ([SWS_TS_14198]). وتُنقل البيانات هنا عبر FVContainer القياسي ([SWS_TS_14195]، [SWS_TS_14196]).
مخطط التتابع: تدفق التحقق من بيانات قياس التوقيت بين السيد والتابع وتطبيق المدقق الخارجي. المصادر: [SWS_TS_00420]، [SWS_TS_00421]، AUTOSAR_AP_SWS_TimeSynchronization ص. 38
التهيئة، وربط العمليات، ونمذجة البيان (Manifest)
يتم تخصيص الكتلة وربطها الوظيفي تعريفيًا في بيانات نماذج AUTOSAR (AUTOSAR_AP_TPS_ManifestSpecification ص. 590). وفي Machine Manifest، يتم إنشاء مثيل لعفريت (daemon) المنصة عبر عنصر النموذج الفوقي TimeSyncModuleInstantiation على Machine محددة، ويدير هناك كائنات TimeBaseResource المادية وكذلك الافتراضية (AUTOSAR_AP_TPS_ManifestSpecification ص. 590).
على مستوى التطبيق، تعلن العمليات عبر نماذج المنافذ الأولية (Port-Prototypes) (RPortPrototype للمستهلكين أو PPortPrototype للموفرين) عن حاجتها إلى القواعد الزمنية (AUTOSAR_AP_TPS_ManifestSpecification ص. 599). ويربط بناء النموذج الفوقي TimeSyncPortPrototypeToTimeBaseMapping هذه المنافذ بشكل فردي لكل عملية بالقواعد الزمنية المحددة على الآلة (TPS_ManifestSpecification ص. 599؛ AUTOSAR_AP_TPS_ManifestSpecification ص. 600). وفي وقت التشغيل، يتم إنشاء المثيل في الكود عبر ara::core::InstanceSpecifier الآمن النوع، وبذلك يربط المكدس القاعدة الزمنية المهيأة الصحيحة ([SWS_TS_01001]، [SWS_TS_01101]).
التصرف في حالة الخطأ
يتم الإشارة إلى حالات الخطأ في كتلة Time Synchronization عبر نموذج الخطأ القياسي لـ Adaptive Platform (ara::core::Result و ara::core::ErrorCode) ([SWS_TS_00910]). ولعمليات القاعدة الزمنية المنتظمة، يحدد التعداد TsyncErrc رموز الخطأ ([SWS_TS_00901]). فإذا انقطع الاتصال بين العمليات مع عفريت (daemon) المنصة على سبيل المثال، يُرجع رمز الخطأ kDaemonConnectionLost ([SWS_TS_00901]).
عبر مجال الخطأ العام TsyncErrorDomain، يمكن فحص رموز الخطأ ([SWS_TS_00905]، [SWS_TS_00906]، [SWS_TS_00907]) أو، عند تفعيل استثناءات C++، طرحها عبر ThrowAsException() كـ TsyncException ([SWS_TS_00903]، [SWS_TS_00908]، [SWS_TS_00909]). وبالنسبة لـ Freshness Value Management، يوجد مجال خطأ مستقل TsyncFvmErrorDomain مع التعداد TsyncFvmErrc ([SWS_TS_14201]، [SWS_TS_14202]). وإذا فشلت التهيئة، تُرجع Initialize() الخطأ kFVInitializeFailed ([SWS_TS_14200])، بينما يتم الإبلاغ عن kFVNotAvailable في حال عدم توفر عدادات لفحوصات المصادقة ([SWS_TS_14202]).
على المستوى الوظيفي، لا تشير الكتلة بالضرورة إلى فقدان رسائل الوقت عبر أخطاء API متزامنة، بل تُعلم القاعدة الزمنية في كائن الحالة بحالة الاتصال kTimeOut ([SWS_TS_01050]) أو تضبط البت المقابل في timeBaseStatus ([SWS_TS_01403]). تفسير: من المحتمل بالتالي أن يكون التطبيق ملزمًا دائمًا بالتحقق النشط من حالة صلاحية اللقطة بعد GetTimeWithStatus()، قبل استخدام قيم القياس لحلقات التحكم الحرجة للسلامة. سؤال Q-0cd9bb48452ae3db (مفتوح)
أدلة تفصيلية إضافية
يمكن تصنيف المتطلبات الأساسية ونقاط المواصفات للوحدة tsync ضمن المحاور الرئيسية التالية:
- واجهات وقت التشغيل للمستهلكين والموفرين: تستند عمليات دورة الحياة والاسترجاع إلى [SWS_TS_01001] حتى [SWS_TS_01019] بالإضافة إلى دوال الموفر [SWS_TS_01101] حتى [SWS_TS_01115] (EXP_SWArchitecture ص. 80، EXP_SWArchitecture ص. 81).
- هياكل الحالة وتمثيل الوقت: تعريف
SynchronizedTimeBaseStatusوSynchronizationStatusوLeapJumpوفقًا لـ [SWS_TS_01050] حتى [SWS_TS_01062] بالإضافة إلى أنواع chrono القياسية وفقًا لـ [SWS_TS_01251] حتى [SWS_TS_01265]. - التحقق من الوقت واكتساب بيانات القياس: تعريف هياكل القياس وردود نداء الإشعار وفقًا لـ [SWS_TS_00420] حتى [SWS_TS_00423] وكذلك [SWS_TS_14140] حتى [SWS_TS_14174] (AUTOSAR_AP_SWS_TimeSynchronization ص. 38).
- امتداد الأمان FVM: المصادقة وفحص الحداثة عبر الواجهات [SWS_TS_14195] حتى [SWS_TS_14213] (AUTOSAR_AP_EXP_SWArchitecture ص. 83).
- نمذجة البيان: التكوين التعريفي وتخصيص العمليات ونماذج المنافذ الأولية للقواعد الزمنية وفقًا لـ AUTOSAR_AP_TPS_ManifestSpecification ص. 590 وAUTOSAR_AP_TPS_ManifestSpecification ص. 599.
تم إنشاء دليل الوحدة هذا آليًا استنادًا إلى مواصفة AUTOSAR Adaptive R25-11.
function: 70 variable: 37 type alias: 12 class: 10 struct: 8 enumeration: 4
الفئات
ConsumerTimeBaseValidationNotificationFVContainerFVMPdelayInitiatorMeasurementTypePdelayResponderMeasurementTypeProviderTimeBaseValidationNotificationSynchronizedTimeBaseConsumerSynchronizedTimeBaseProviderSynchronizedTimeBaseStatusTimeBaseTimeMasterMeasurementTypeTimePrecisionMeasurementTimeSlaveMeasurementTypeTsyncErrorDomainTsyncExceptionTsyncFvmErrorDomainTsyncFvmExceptionUserDataالدوال
GetTsyncErrorDomainGetTsyncFvmErrorDomainMakeErrorCodeMakeErrorCode (ara::tsync)الأنواع
SynchronizationNotifierSynchronizedTimeBaseNotifierTimePrecisionNotifierTimestampالتعدادات
LeapJumpSynchronizationStatusTsyncErrcTsyncFvmErrcخريطة المواضيع
ara::tsync
23لا توجد بيانات عناصر لهذا الإصدار
apext::tsync
A freshness value container to hold the length of freshness value in bits and the freshness value itself as vector.
A freshness value management interface for ara::tsync.
Defines a class representing the Freshness Value Manager error domain.
يرث من ara::core::ErrorDomain
Defines a class for exceptions to be thrown by the Freshness Value Manager.
يرث من ara::core::Exception
Returns a reference to the global apext::tsync::TsyncFvmErrorDomain object.
constexpr const ara::core::ErrorDomain & GetTsyncFvmErrorDomain () noexcept;Creates an instance of ara::core::ErrorCode.
constexpr ara::core::ErrorCode MakeErrorCode (TsyncFvmErrc code, ara::core::ErrorDomain::SupportDataType data) noexcept;The enumeration class defines the error codes for the apext::tsync:: TsyncFvmErrorDomain.
enum class TsyncFvmErrc : ara::core::ErrorDomain::CodeType {...};ara::tsync
Callback interface to notify Consumer Application about the availability of a new data block recorded for the Time Base
Structure with detailed timing data for the pDelay Initiator .
Structure with detailed timing data for the pDelay Responder .
Callback interface to notify (Validator) Application about the availability of a new data block recorded for the Time Base
Class SynchronizedTimeBaseConsumer is the access to the synchronized timebase referenced by the InstanceSpecifier
Class SynchronizedTimeBaseProvider is the access to the synchronized timebase referenced by the IntstanceSpecifier
This class represents a snapshot of a time point including his states
The class TimeBase is a pseudo-clock
Structure with detailed data for validation of the Time Master .
Structure with detailed data for precision measurement of the Time Slave .
Structure with detailed data for validation of the Time Slave .
Defines a class representing the Time Synchronization error domain.
يرث من ara::core::ErrorDomain
Defines a class for exceptions to be thrown by the Time Synchronization.
يرث من ara::core::Exception
Structure to define user data
Returns a reference to the global TsyncErrorDomain object.
const ara::core::ErrorDomain & GetTsyncErrorDomain () noexcept;Creates an instance of ErrorCode.
ara::core::ErrorCode MakeErrorCode (ara::tsync::TsyncErrc code, ara::core::ErrorDomain::SupportDataType data) noexcept;Enumeration that is used to express the leap jump of a time base. .
enum class LeapJump : std::uint32_t {...};Enumeration that is used to express the communication state of a time base. .
enum class SynchronizationStatus : std::uint32_t {...};Defines an enumeration class for the Time Synchronization error codes.
enum class TsyncErrc : ara::core::ErrorDomain::CodeType {...};Notifier function .
using SynchronizationNotifier = std::function<void(const SynchronizationStatus&)>;Notifier function .
using SynchronizedTimeBaseNotifier = std::function<void(const SynchronizedTimeBaseStatus&)>;Notifier function .
using TimePrecisionNotifier = std::function<void(const TimePrecision Measurement&)>;Standard timestamp type as alias of a generic time_point .
using Timestamp = std::chrono::time_point<TimeBase, std::chrono::nanoseconds>;نطاقات الأسماء
- apext::tsync 4 Klassen, 2 freie Funktionen
- ara::tsync 14 Klassen, 2 freie Funktionen
مخطط الفئات UML للوحدة
Abgerundete Rahmen = Namespaces; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = modulfremde bzw. externe Basisklassen. Klicken öffnet die Klassenseite.
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني