DEENESPTFRRUARHIKOZHNL

module ara::tsync — Time Synchronization

Spezifikation: AUTOSAR_AP_SWS_TimeSynchronization.pdf (R25-11) · 141 API-Records

ModulegidsAI-GEGENEREERD

Biedt voertuigbreed gesynchroniseerde tijdbases en stelt applicaties in staat nauwkeurige tijdopvragingen en statusbewaking uit te voeren.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 29e900d376f8 Herkomst Open vragen (2)
Causaal anker: R25-11 Geldig vanaf R25-11 Nieuw gesynthetiseerd voor deze specificatiestand.
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Biedt voertuigbreed gesynchroniseerde tijdbases en stelt applicaties in staat nauwkeurige tijdopvragingen en statusbewaking uit te voeren.

Het functionele cluster Time Synchronization stelt het AUTOSAR Adaptive Platform consistente en netwerkbreed gesynchroniseerde tijdbases ter beschikking (AUTOSAR_AP_SWS_TimeSynchronization p. 16). Via gestandaardiseerde interfaces roepen adaptieve applicaties atomische tijdtoestanden op of voeden zij als actieve tijdgevers nieuwe tijd- en rate-correcties in het totale systeem in. Tegelijkertijd bewaken geregistreerde notifier-callbacks continu statuswisselingen en tijdsprongen van de onderliggende klokken ([SWS_TS_01009]). Geavanceerde mechanismen voor de validatie van meetdata en versheidswaarden beveiligen daarbij de temporele integriteit tegen overdrachtsfouten en manipulaties.

Het functionele cluster Time Synchronization (tsync) stelt op het AUTOSAR Adaptive Platform consistente en netwerkbreed gesynchroniseerde tijdbases beschikbaar (AUTOSAR_AP_SWS_TimeSynchronization p. 16). Als daemon-gebaseerde achtergronddienst abstraheert het hardware- en busspecifieke synchronisatiemechanismen (zoals IEEE 802.1AS gPTP) en levert het aan kernclusters zoals Log and Trace, de Intrusion Detection System Manager (IdsM) en update-services via gestandaardiseerde interfaces (AUTOSAR_AP_EXP_SWArchitecture p. 83).

diag_tsync_architektur cluster_platform Adaptive Platform Core cluster_consumers Konsumierende Functional Cluster cluster_apps Adaptive Applications tsync Time Synchronization (daemon-based) fvm apext::tsync::FVM (Platform Extension) tsync->fvm GetTxFreshness() GetRxFreshness() log Log and Trace (ara::log) tsync->log SynchronizedTimeBaseConsumer idsm Intrusion Detection System Manager tsync->idsm SynchronizedTimeBaseConsumer ucm Update and Config Management tsync->ucm SynchronizedTimeBaseConsumer app_consumer Consumer Application (SynchronizedTimeBaseConsumer) tsync->app_consumer GetTimeWithStatus() Notifier validator Validator Application (ValidationNotification) tsync->validator Timing Measurement Data app_provider Provider / Time Master (SynchronizedTimeBaseProvider) app_provider->tsync SetTime() UpdateTime()

Contextdiagram: inbedding van het daemon-gebaseerde Time Synchronization-cluster in het AUTOSAR Adaptive Platform en de interface-relaties met consumerende clusters en applicaties. Bronnen: AUTOSAR_AP_SWS_TimeSynchronization p. 16, AUTOSAR_AP_EXP_SWArchitecture p. 83, AUTOSAR_AP_EXP_SWArchitecture p. 83

Voor leestoegang gebruiken applicaties de interface SynchronizedTimeBaseConsumer ([SWS_TS_01001]). De methode GetTimeWithStatus() levert een atomische snapshot van het type SynchronizedTimeBaseStatus op, waaruit de globale tijd, de lokale continue aanmaaktijd, de synchronisatietoestand en ontvangen UserData kunnen worden opgevraagd ([SWS_TS_01009], [SWS_TS_01055], [SWS_TS_14176]). Om polling te voorkomen, registreren applicaties zich via notifier-callbacks voor statuswisselingen en tijdsprongen ([SWS_TS_01010], [SWS_TS_01014]).

Synchrone opvraag van tijd en snapshotstatusApplicationSynchronizedTimeBaseConsumerTSyncDaemonSynchronizedTimeBaseStatusGetTimeWithStatus()IPC: Abfrage aktueller Zeitbasis-ZustandRuwe tijd- en statusgegevens<<create>> Snapshot erzeugenRetourwaarde: SynchronizedTimeBaseStatusGetCreationTime()Timestamp (globale Zeit)GetCreationLocalTime()Timestamp (lokale stetige Zeit)GetSynchronizationStatus()SynchronizationStatus

Sequentiediagram: verloop van een synchrone tijdopvraging via de consumer-interface en het uitlezen van atomische snapshot-eigenschappen. Bronnen: [SWS_TS_01009], [SWS_TS_01055], [SWS_TS_14176], AUTOSAR_AP_EXP_SWArchitecture p. 225

Tijdgevende applicaties sturen via SynchronizedTimeBaseProvider het systeemgedrag aan: SetTime() initieert onmiddellijke busoverdrachten, terwijl UpdateTime() de klok eerst lokaal aanpast ([SWS_TS_01101], [SWS_TS_01107], [SWS_TS_01108]). Begeleidende mechanismen zoals Time Validation ([SWS_TS_00420], [SWS_TS_00421]) en het native Freshness Value Management (FVM) beschermen tegen drift- en replay-fouten ([SWS_TS_14198]). Bij fouten signaleren TsyncErrc-codes (bijv. kDaemonConnectionLost) verbindingsonderbrekingen, terwijl het uitblijven van synchronisatieberichten als kTimeOut in het statusobject wordt weergegeven ([SWS_TS_00901], [SWS_TS_01050]).

Het functionele cluster Time Synchronization (tsync) stelt op het AUTOSAR Adaptive Platform gecoördineerde, netwerkbreed gesynchroniseerde tijdbases beschikbaar en ontkoppelt applicatieprocessen van hardware- en busspecifieke tijdsynchronisatieprotocollen (AUTOSAR_AP_SWS_TimeSynchronization p. 16). Het systeem vormt het informatietechnische fundament voor gedistribueerde systemen waarin over grenzen van regeleenheden heen consistente gebeurtenisvolgordes, reproduceerbare trace-protocollen en deterministische rekencycli gewaarborgd moeten zijn (AUTOSAR_AP_EXP_SWArchitecture p. 83).

diag_tsync_architektur cluster_platform Adaptive Platform Core cluster_consumers Konsumierende Functional Cluster cluster_apps Adaptive Applications tsync Time Synchronization (daemon-based) fvm apext::tsync::FVM (Platform Extension) tsync->fvm GetTxFreshness() GetRxFreshness() log Log and Trace (ara::log) tsync->log SynchronizedTimeBaseConsumer idsm Intrusion Detection System Manager tsync->idsm SynchronizedTimeBaseConsumer ucm Update and Config Management tsync->ucm SynchronizedTimeBaseConsumer app_consumer Consumer Application (SynchronizedTimeBaseConsumer) tsync->app_consumer GetTimeWithStatus() Notifier validator Validator Application (ValidationNotification) tsync->validator Timing Measurement Data app_provider Provider / Time Master (SynchronizedTimeBaseProvider) app_provider->tsync SetTime() UpdateTime()

Contextdiagram: inbedding van het daemon-gebaseerde Time Synchronization-cluster in het AUTOSAR Adaptive Platform en de interface-relaties met consumerende clusters en applicaties. Bronnen: AUTOSAR_AP_SWS_TimeSynchronization p. 16, AUTOSAR_AP_EXP_SWArchitecture p. 83, AUTOSAR_AP_EXP_SWArchitecture p. 83

Systeemgrenzen en rol van het daemon-gebaseerde Time Synchronization-cluster

De functionele architectuur van Time Synchronization is uitgevoerd als een daemon-gebaseerd cluster (daemon-based), dat op de achtergrond als centrale platformdienst fungeert (AUTOSAR_AP_SWS_TimeSynchronization p. 16). Deze daemon interageert rechtstreeks met de interfaces van het onderliggende besturingssysteem en verwerkt netwerkgebaseerde tijdsynchronisatiedata zoals gPTP (IEEE 802.1AS) of klassieke bus-tijdsynchronisaties (AUTOSAR_FO_PRS_TimeSyncProtocol p. 68). Richting de applicatiecontext kapt het cluster de wiskundige drift- en offsetcompensatie van de hardwareklokken volledig af.

Talrijke functionele kernclusters van het Adaptive Platform hebben via gestandaardiseerde service-interfaces toegang tot tsync (AUTOSAR_AP_EXP_SWArchitecture p. 83). Zo baseert Log and Trace zich op de gesynchroniseerde tijdbasis om systeemwijde log- en DLT-gebeurtenissen te voorzien van betrouwbare globale tijdstempels (AUTOSAR_AP_EXP_SWArchitecture p. 59; AUTOSAR_AP_SWS_LogAndTrace p. 15). Ook veiligheidsrelevante modules zoals de Intrusion Detection System Manager (IdsM) en update-services (UCM en Vehicle UCM) vertrouwen dwingend op de C++-interface van SynchronizedTimeBaseConsumer om forensisch betrouwbare rapporten en consistente update-transacties over de grenzen van regeleenheden heen te besturen (AUTOSAR_AP_EXP_SWArchitecture p. 125; AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 16; AUTOSAR_AP_SWS_VehicleUpdateAndConfigurationManagement p. 11).

Consumerende interfaces en statusgebonden tijdopvragingen

Voor leestoegang tot een gesynchroniseerde tijdbasis gebruiken applicaties de interfaceklasse SynchronizedTimeBaseConsumer ([SWS_TS_01001]). De klasse implementeert move-semantiek ([SWS_TS_01003], [SWS_TS_01004]), maar sluit elke vorm van kopiëren expliciet uit ([SWS_TS_01005], [SWS_TS_01006]). Tijdens runtime maakt GetRateDeviation() het rechtstreeks uitlezen van de actuele frequentieafwijking van de klok mogelijk ([SWS_TS_01008]).

Het centrale element van elke synchrone opvraging is de operatie GetTimeWithStatus() ([SWS_TS_01009]). In plaats van geïsoleerde ruwe tijdwaarden terug te leveren, genereert de methode een intern consistente snapshot van het type SynchronizedTimeBaseStatus (EXP_SWArchitecture p. 81). Deze snapshot bevriest het exacte aanmaaktijdstip in globale tijd ([SWS_TS_01055]) evenals in lokale continue tijd via GetCreationLocalTime() ([SWS_TS_14176]). Tijdstippen worden hierbij in het gestandaardiseerde C++-chrono-type Timestamp met nanoseconderesolutie op basis van std::int64_t gerepresenteerd ([SWS_TS_01251], [SWS_TS_01261], [SWS_TS_01262]).

Uit de snapshot kunnen naast de tijd ook de communicatie- en synchronisatietoestand via GetSynchronizationStatus() ([SWS_TS_01053]), een eventueel opgetreden tijdsprong via GetLeapJump() ([SWS_TS_01054]) evenals applicatiespecifieke gebruikersgegevens via GetUserData() ([SWS_TS_01056]) worden bepaald. Een standaardconstructor voor het statusobject bestaat niet ([SWS_TS_01061]), terwijl move- en copy-constructors de thread-veilige overdracht ervan aan aanroepende applicatieroutines waarborgen ([SWS_TS_01057], [SWS_TS_01058]).

Synchrone opvraag van tijd en snapshotstatusApplicationSynchronizedTimeBaseConsumerTSyncDaemonSynchronizedTimeBaseStatusGetTimeWithStatus()IPC: Abfrage aktueller Zeitbasis-ZustandRuwe tijd- en statusgegevens<<create>> Snapshot erzeugenRetourwaarde: SynchronizedTimeBaseStatusGetCreationTime()Timestamp (globale Zeit)GetCreationLocalTime()Timestamp (lokale stetige Zeit)GetSynchronizationStatus()SynchronizationStatus

Sequentiediagram: verloop van een synchrone tijdopvraging via de consumer-interface en het uitlezen van atomische snapshot-eigenschappen. Bronnen: [SWS_TS_01009], [SWS_TS_01055], [SWS_TS_14176], AUTOSAR_AP_EXP_SWArchitecture p. 225

Op gebeurtenissen gebaseerde notificaties en synchronisatiebewaking

Om polling-loops te vermijden, stelt SynchronizedTimeBaseConsumer een gebeurtenisgestuurd observer-patroon via notifier-callbacks ter beschikking (AUTOSAR_AP_EXP_SWArchitecture p. 226). Applicaties registreren zich met typesafe callbacks voor specifieke toestandsveranderingen ([SWS_TS_14221], [SWS_TS_14222]). Bij elke nieuwe registratie overschrijft de nieuwe notifier de eerder geregistreerde handler ([SWS_TS_01010]).

Voor geaggregeerde toestandsveranderingen bestaat RegisterStatusChangeNotifier() ([SWS_TS_01010]), aangevuld met UnregisterStatusChangeNotifier() ([SWS_TS_01011]). Als een applicatie primair reageert op de verandering van de synchronisatiestatus (bijv. verlies van de grandmaster-verbinding), wordt RegisterSynchronizationStateChangeNotifier() ([SWS_TS_01012]) gebruikt. Tijdsprongen naar de toekomst (kTimeLeapFuture) of het verleden (kTimeLeapPast) die een geconfigureerde drempelwaarde overschrijden, worden via RegisterTimeLeapNotifier() gemeld ([SWS_TS_01014], [SWS_TS_01051]).

Voor mechatronische toepassingen met hoge precisie is tevens RegisterTimePrecisionMeasurementNotifier() beschikbaar ([SWS_TS_01018]). De callback geeft een structuur TimePrecisionMeasurement mee die exacte seconde- en nanosecondewaarden direct vóór (locSeconds, locNanoSeconds) en na de synchronisatie (glbSeconds, glbNanoSeconds), de berekende padvertraging pathDelay en het bitmasker timeBaseStatus bevat ([SWS_TS_01401], [SWS_TS_01403], [SWS_TS_01406], [SWS_TS_01408]). Het Time Synchronization-cluster voert hierbij geen wachtrijbeheer (queuing) uit; buffering moet indien gewenst binnen de applicatie-callback worden gerealiseerd ([SWS_TS_01018]).

Observer-patroon voor statuswisselingen en tijdsprongenApplicationSynchronizedTimeBaseConsumerTSyncDaemonRegisterSynchronizationStateChangeNotifier(syncNotifier)RegisterTimeLeapNotifier(leapNotifier)Use Case: Netwerkgebeurtenis in de daemonErkennung Statuswechsel / Leap JumpIPC Event: status- of leap-gebeurtenisaltSynchronisatiestatus gewijzigdsyncNotifier(SynchronizationStatus)Zeitsprung erkanntleapNotifier(SynchronizedTimeBaseStatus)

Sequentiediagram: registratie en asynchrone notificatiestroom bij synchronisatiewijzigingen en tijdsprongen. Bronnen: [SWS_TS_01010], [SWS_TS_01012], [SWS_TS_01014], AUTOSAR_AP_EXP_SWArchitecture p. 226

diag_sync_status init kNotSynchronizedUntilStartup kNotSynchronized UntilStartup (Initial) init->kNotSynchronizedUntilStartup kSynchronized kSynchronized (Synchron) kNotSynchronizedUntilStartup->kSynchronized Eerste geldige sync-boodschap kTimeOut kTimeOut (Timeout) kNotSynchronizedUntilStartup->kTimeOut Startup-Timeout kSynchronized->kTimeOut Sync-Nachrichten ausgeblieben kTimeOut->kSynchronized Sync wiederhergestellt

Toestandsdiagram: levenscyclus van de synchronisatiestatus van een tijdbasis volgens SWS_TS_01050. Bronnen: [SWS_TS_01050], AUTOSAR_SWS_TimeSync p. 25

Beschikbaarstelling van tijdbases en frequentieaanpassing door providers

Wanneer een Adaptive Application optreedt als actieve tijdgever (Time Master) – bijvoorbeeld via koppeling met een GNSS-ontvanger of een externe referentieklok –, gebruikt deze de klasse SynchronizedTimeBaseProvider ([SWS_TS_01101]). De interface maakt het expliciet instellen van nieuwe tijdwaarden mogelijk via twee verschillende semantieken: SetTime() en UpdateTime() (EXP_SWArchitecture p. 80).

De aanroep van SetTime() stelt niet alleen de interne klokstand opnieuw in, maar forceert ook de onmiddellijke verzending van de bijgewerkte synchronisatieberichten op de voertuigbus ([SWS_TS_01107]). Daarentegen werkt UpdateTime() de tijd aanvankelijk uitsluitend lokaal bij; de overdracht naar de bus vindt vertraagd plaats in de reguliere volgende cyclus van het tijdoverdrachtsprotocol ([SWS_TS_01108]). Beide methoden accepteren naast de tijdstempel gestructureerde UserData om synchronisatiebegeleidende extra informatie netwerkbreed te distribueren ([SWS_TS_01112], [SWS_TS_01113]).

Voor de fijnregeling van kwartsoscillatoren en het voorkomen van abrupte fasesprongen maakt SetRateCorrection() het opleggen van een relatieve frequentiecorrectiefactor mogelijk ([SWS_TS_01110]). Aanvullend levert GetRateDeviation() de actueel aanwezige klokafwijking ([SWS_TS_01111]), terwijl GetCurrentTime() de absolute tijdwaarde van de klok uitleest, onafhankelijk van de huidige synchronisatiestatus ([SWS_TS_01109]).

Integriteitsborging via Time Validation en Freshness Value Management

In veiligheidskritieke en hooggeautomatiseerde rijomgevingen volstaat het louter overnemen van tijdwaarden niet; de correctheid en manipulatiebestendigheid van de tijdstempels moeten continu worden gevalideerd (AUTOSAR_AP_SWS_TimeSynchronization p. 38). Hiervoor biedt tsync callback-interfaces voor Time Validation: consumers registreren zich via RegisterTimeValidationNotification() ([SWS_TS_01016]), providers analoog via de provider-specifieke methode ([SWS_TS_01114]).

De validatie-interfaces ConsumerTimeBaseValidationNotification en ProviderTimeBaseValidationNotification dragen gedetailleerde meetdatasetten over aan gespecialiseerde bewakingsapplicaties ([SWS_TS_01300], [SWS_TS_01301]). Op het master-station levert SetMasterTimingData() de egress-tijdstempel (syncEgressTimestamp) en het sequentienummer (sequenceId) van de verzonden sync-frames ([SWS_TS_00421], [SWS_TS_14141], [SWS_TS_14142]). Op slave-niveau draagt SetSlaveTimingData() de corresponderende ingress-tijdstempels (syncIngressTimestamp), het ontvangen correctieveld (correctionField) en de gemeten padvertraging (pDelay) over ([SWS_TS_00420], [SWS_TS_14152], [SWS_TS_14153], [SWS_TS_14155]). Voor peer-to-peer-vertragingsmetingen stellen SetPdelayInitiatorData() en SetPdelayResponderData() de in- en uitgangstijdstippen van de verzoek- en antwoordpakketten volledig beschikbaar ([SWS_TS_00422], [SWS_TS_00423], [SWS_TS_14160], [SWS_TS_14170]).

Ter bescherming tegen replay-aanvallen en ter beveiliging van overgedragen tijdberichten integreert het platform Freshness Value Management (FVM) via native interfaces in de namespace apext::tsync ([SWS_TS_14198], EXP_SWArchitecture p. 83). Bij het opstarten initialiseert Initialize() de verantwoordelijke FVM-plugin ([SWS_TS_14200]). Vóór het verzenden roept de stack GetTxFreshness() aan om verse tellerwaarden op te halen ([SWS_TS_14199]), terwijl bij ontvangst GetRxFreshness() wordt gebruikt voor verificatie en authenticatie ([SWS_TS_14198]). Gegevens worden hierbij getransporteerd via de gestandaardiseerde FVContainer ([SWS_TS_14195], [SWS_TS_14196]).

Registratie en overdracht van time-validation-meetgegevensMasterPortSlavePortMasterValidatorSlaveValidatorSync frameEgress-Zeitstempel T1 erfassenIngress-Zeitstempel T2 erfassenFollow_Up frame (preciseOriginTimestamp, correctionField)SetMasterTimingData(TimeMasterMeasurementType)SetSlaveTimingData(TimeSlaveMeasurementType)Use Case: Pdelay-MessungPdelay_ReqPdelay_Resp + Follow_UpSetPdelayInitiatorData(PdelayInitiatorMeasurementType)SetPdelayResponderData(PdelayResponderMeasurementType)

Sequentiediagram: validatiestroom van timing-meetgegevens tussen master, slave en externe validator-applicatie. Bronnen: [SWS_TS_00420], [SWS_TS_00421], AUTOSAR_AP_SWS_TimeSynchronization p. 38

Configuratie, procesbinding en manifestmodellering

De allocatie en functionele binding van het cluster vinden declaratief plaats in de AUTOSAR-modelmanifesten (AUTOSAR_AP_TPS_ManifestSpecification p. 590). In het Machine Manifest wordt de platform-daemon via het metamodelelement TimeSyncModuleInstantiation op een concrete Machine geïnstantieerd en beheert daar de fysieke en virtuele TimeBaseResource-objecten (AUTOSAR_AP_TPS_ManifestSpecification p. 590).

Op applicatieniveau declareren processen via poortprototypes (RPortPrototype voor consumers resp. PPortPrototype voor providers) hun behoefte aan tijdbases (AUTOSAR_AP_TPS_ManifestSpecification p. 599). Het metamodelconstruct TimeSyncPortPrototypeToTimeBaseMapping koppelt deze poorten procesindividueel aan de op de machine gedefinieerde tijdbases (TPS_ManifestSpecification p. 599; AUTOSAR_AP_TPS_ManifestSpecification p. 600). Tijdens runtime vindt de instantiëring in de code plaats via de typeveilige ara::core::InstanceSpecifier, waardoor de stack de correct geconfigureerde tijdbasis bindt ([SWS_TS_01001], [SWS_TS_01101]).

Gedrag in het foutgeval

Foutsituaties in het Time-Synchronization-cluster worden gesignaleerd via het gestandaardiseerde foutmodel van het Adaptive Platform (ara::core::Result en ara::core::ErrorCode) ([SWS_TS_00910]). Voor reguliere tijdbasisoperaties definieert de enumeratie TsyncErrc de foutcodes ([SWS_TS_00901]). Als bijvoorbeeld de interprocescommunicatie met de platform-daemon wegvalt, wordt de foutcode kDaemonConnectionLost geretourneerd ([SWS_TS_00901]).

Via het globale foutdomein TsyncErrorDomain kunnen foutcodes worden geïnspecteerd ([SWS_TS_00905], [SWS_TS_00906], [SWS_TS_00907]) of bij geactiveerde C++-exceptions via ThrowAsException() als TsyncException worden geworpen ([SWS_TS_00903], [SWS_TS_00908], [SWS_TS_00909]). Voor het Freshness Value Management bestaat een zelfstandig foutdomein TsyncFvmErrorDomain met de enumeratie TsyncFvmErrc ([SWS_TS_14201], [SWS_TS_14202]). Faalt de initialisatie, dan levert Initialize() de fout kFVInitializeFailed ([SWS_TS_14200]), terwijl bij niet-beschikbare tellers voor authenticatiecontroles kFVNotAvailable wordt gemeld ([SWS_TS_14202]).

Op functioneel niveau signaleert het cluster het verlies van tijdberichten niet noodzakelijkerwijs via synchrone API-fouten, maar markeert het de tijdbasis in het statusobject met de communicatiestatus kTimeOut ([SWS_TS_01050]) resp. zet het de bijbehorende bit in timeBaseStatus ([SWS_TS_01403]). Interpretatie: De applicatie zal derhalve steeds de plicht hebben om na GetTimeWithStatus() de geldigheidsstatus van de snapshot actief te controleren voordat meetwaarden worden gebruikt voor veiligheidskritieke regellussen. Vraag Q-0cd9bb48452ae3db (open)

Verdere gedetailleerde bewijzen

De kernvereisten en specificatiepunten van de module tsync kunnen worden onderverdeeld in de volgende zwaartepunten:

Deze modulehandleiding werd geautomatiseerd gegenereerd op basis van de AUTOSAR Adaptive-specificatie R25-11.

function: 70 variable: 37 type alias: 12 class: 10 struct: 8 enumeration: 4

apext::tsync

A freshness value container to hold the length of freshness value in bits and the freshness value itself as vector.

FVM klasse

A freshness value management interface for ara::tsync.

Defines a class representing the Freshness Value Manager error domain.

erft van ara::core::ErrorDomain

Defines a class for exceptions to be thrown by the Freshness Value Manager.

erft van 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;
TsyncFvmErrc enumeratie

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

TimeBase klasse

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.

erft van ara::core::ErrorDomain

Defines a class for exceptions to be thrown by the Time Synchronization.

erft van ara::core::Exception

UserData klasse

Structure to define user data

Returns a reference to the global TsyncErrorDomain object.

const ara::core::ErrorDomain & GetTsyncErrorDomain () noexcept;

Creates an instance of ErrorCode.

LeapJump enumeratie

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 {...};
TsyncErrc enumeratie

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&)>;
Timestamp typealias

Standard timestamp type as alias of a generic time_point .

Namespaces

UML-klassendiagram van de module

Abgerundete Rahmen = Namespaces; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = modulfremde bzw. externe Basisklassen. Klicken öffnet die Klassenseite.

G cluster_1 apext::tsync cluster_2 ara::tsync napext__tsync__FVContainer955 «struct» FVContainer napext__tsync__FVM697 FVM napext__tsync__TsyncFvmErrorDomain111 TsyncFvmErrorDomain nara__core__ErrorDomain335 ara::core::ErrorDomain napext__tsync__TsyncFvmErrorDomain111->nara__core__ErrorDomain335 napext__tsync__TsyncFvmException780 TsyncFvmException nara__core__Exception792 ara::core::Exception napext__tsync__TsyncFvmException780->nara__core__Exception792 nara__tsync__ConsumerTimeBaseValidationNotification118 ConsumerTimeBaseValidationNotification nara__tsync__PdelayInitiatorMeasurementType279 «struct» PdelayInitiatorMeasurementType nara__tsync__PdelayResponderMeasurementType5 «struct» PdelayResponderMeasurementType nara__tsync__ProviderTimeBaseValidationNotification786 ProviderTimeBaseValidationNotification nara__tsync__SynchronizedTimeBaseConsumer483 SynchronizedTimeBaseConsumer nara__tsync__SynchronizedTimeBaseProvider954 SynchronizedTimeBaseProvider nara__tsync__SynchronizedTimeBaseStatus758 SynchronizedTimeBaseStatus nara__tsync__TimeBase940 «struct» TimeBase nara__tsync__TimeMasterMeasurementType777 «struct» TimeMasterMeasurementType nara__tsync__TimePrecisionMeasurement344 «struct» TimePrecisionMeasurement nara__tsync__TimeSlaveMeasurementType161 «struct» TimeSlaveMeasurementType nara__tsync__TsyncErrorDomain367 TsyncErrorDomain nara__tsync__TsyncErrorDomain367->nara__core__ErrorDomain335 nara__tsync__TsyncException184 TsyncException nara__tsync__TsyncException184->nara__core__Exception792 nara__tsync__UserData398 «struct» UserData