Provides detailed measurement data and status bits for precision evaluation of the time synchronization of a Time Slave.
AI-GENERATEDunreviewedModel: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 360378009f87ProvenanceOpen questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original
Provides detailed measurement data and status bits for precision evaluation of the time synchronization of a Time Slave.
The structure ara::tsync::TimePrecisionMeasurement provides detailed measurement values for precision acquisition of a synchronized Time Slave with respect to a global time base. It captures local timestamps immediately before and after synchronization ([SWS_TS_01401], [SWS_TS_01406]) as well as latency and rate deviations. Via the status bit field [SWS_TS_01403], it also signals error conditions such as timeouts, excessive time jumps, or rate violations.
Context
The data structure ara::tsync::TimePrecisionMeasurement serves to provide detailed measurement data for precision acquisition of a synchronized Time Slave with respect to a higher-level time base. Within module tsync, upon a synchronization event, it captures snapshots of the local clock time immediately before and after adjustment with the global time base. The structure thus forms the interface for metrological monitoring, quality assessment, and diagnosis of clock synchronization in distributed systems.
Context diagram: Acquisition and forwarding of precision data between time base, Time Slave, and monitoring application. Sources: [SWS_TS_01401], [SWS_TS_01403], [SWS_TS_01408]
Lifecycle
As a final structure without its own pointer or resource management, TimePrecisionMeasurement is instantiated as a value type (value object). Instantiation and population typically occur cyclically by the Time Slave of the Adaptive Platform immediately following a synchronization step. The structure has no dynamic lifecycle phases or internal state transitions; its state is immutable as a consistent measurement data record from the moment of population. Since the structure is likely to be passed by copy or via const references to evaluating components, no superior ownership relationships or complex destruction requirements exist. Question Q-11af6e7f794e4acb (open) Concurrent read access to a populated instance from multiple execution threads is considered uncritical, provided no concurrent write operation takes place.
Usage Path
The typical evaluation of measurement values follows a fixed pattern for analyzing rate accuracy, synchronization jumps, and network delays:
Checking the synchronization status: First, the bit field [SWS_TS_01403] (timeBaseStatus) is analyzed to determine whether valid global synchronization exists or whether error conditions have occurred.
Determining the time jump: By comparing the timestamps of the local time base immediately before synchronization ([SWS_TS_01406]locSeconds, [SWS_TS_01407]locNanoSeconds) with the values directly after synchronization ([SWS_TS_01401]glbSeconds, [SWS_TS_01402]glbNanoSeconds), the applied correction jump can be calculated precisely.
Quality determination of the transmission: Via [SWS_TS_01408] (pathDelay), the current transmission and signal propagation delay in nanoseconds is evaluated. In addition, [SWS_TS_01405] (rateDeviation) provides the calculated rate deviation of the local clock rate directly after rate measurement.
Mapping to virtual local time: The lower 32 bits of the virtual local time base ([SWS_TS_01404]virtualLocalTimeLow) allow correlating the synchronization timestamp with the continuous reference clock of the node.
Error Scenarios
Error and exception states are not reported via C++ exceptions, but are encoded directly via the status bits in [SWS_TS_01403] (timeBaseStatus). Evaluating components must check which error conditions are present before further processing the time values:
Reception timeout: If bit 0 (TIMEOUT, 0x01) is set, a timeout occurred while receiving synchronization messages.
Time jumps: Bits TIMELEAP_FUTURE (0x10, bit 4) and TIMELEAP_PAST (0x20, bit 5) signal that a configured threshold value for abrupt time corrections into the future or past was exceeded.
Rate errors: If bit 7 (RATE_EXCEEDED, 0x80) is set, the calculated clock rate exceeds defined limit values; bit 6 (RATE_CORRECTED, 0x40), on the other hand, indicates whether a valid rate correction could be calculated at all.
Dependency condition: According to [SWS_TS_01403], bits TIMEOUT, TIMELEAP_FUTURE, TIMELEAP_PAST, and SYNC_TO_GATEWAY (0x04, bit 2) can be set only if bit 3 (GLOBAL_TIME_BASE, 0x08) is set. If GLOBAL_TIME_BASE is missing, the local time base previously ran exclusively on the local reference clock and was never synchronized with the global time base.
This guide was generated by an AI based on the AUTOSAR specification R25-11.
TimeBaseStatus. Time Base Status of the Local Time Base directly after synchronization with the Global Time Base TIMEOUT 0x01 Bit 0 (LSB): 0x00: No Timeout on receiving Synchronisation Messages 0x01: Timeout on receiving Synchronisation Messages SYNC_TO_GATEWAY 0x04 Bit 2 0x00: Local Time Base is synchronous to Global Time Master 0x04: Local Time Base updates are based on a Time Gateway below the Global Time Master GLOBAL_TIME_BASE 0x08 Bit 3 0x00: Local Time Base is based on Local Time Base reference clock only (never synchronized with Global Time Base) 0x08: Local Time Base was at least synchronized with Global Time Base one time TIMELEAP_FUTURE 0x10 Bit 4 0x00: No leap into the future within the received time for Time Base, 0x10: Leap into the future within the received time for Time Base exceeds a configured threshold TIMELEAP_ PAST 0x20 Bit 5 0x00: No leap into the past within the received time for Time Base 0x20: Leap into the past within the received time for Time Base exceeds a configured threshold.
TimeBaseStatus. Time Base Status of the Local Time Base directly after synchronization with the Global Time Base TIMEOUT 0x01 Bit 0 (LSB): 0x00: No Timeout on receiving Synchronisation Messages 0x01: Timeout on receiving Synchronisation Messages SYNC_TO_GATEWAY 0x04 Bit 2 0x00: Local Time Base is synchronous to Global Time Master 0x04: Local Time Base updates are based on a Time Gateway below the Global Time Master GLOBAL_TIME_BASE 0x08 Bit 3 0x00: Local Time Base is based on Local Time Base reference clock only (never synchronized with Global Time Base) 0x08: Local Time Base was at least synchronized with Global Time Base one time TIMELEAP_FUTURE 0x10 Bit 4 0x00: No leap into the future within the received time for Time Base, 0x10: Leap into the future within the received time for Time Base exceeds a configured threshold TIMELEAP_ PAST 0x20 Bit 5 0x00: No leap into the past within the received time for Time Base 0x20: Leap into the past within the received time for Time Base exceeds a configured threshold.
Bit 6 RATE_CORRECTED 0x00: Valid rate correction not calculated for the Synchronized Time Base, 0x40: Valid rate correction calculated for the Synchronized Time Base. Bit 7 RATE_EXCEEDED 0x00: Calculated rate for Time Base does not exceed limits, 0x80: Calculated rate for Time Base exceeds limits. Description Bit 1 is always 0 (reserved for future usage) Variables of this type are used to express if and how a Local Time Base is synchronized to the Global Time Master. The type is a bitfield of individual status bits, although not every combination is possible, i.e. any of the bits TIMEOUT, TIMELEAP_ FUTURE, TIMELEAP_PAST and SYNC_TO_GATEWAY can only be set if the GLOBAL_ TIME_BASE bit is set.
gemini-3.8-flash-low· 2026-10-13 · German original