Skip to content

ECARX contribution the Time module for the first time#5

Open
gordon9901 wants to merge 4 commits intoeclipse-score:mainfrom
gordon9901:ecarx_contribution
Open

ECARX contribution the Time module for the first time#5
gordon9901 wants to merge 4 commits intoeclipse-score:mainfrom
gordon9901:ecarx_contribution

Conversation

@gordon9901
Copy link
Contributor

@gordon9901 gordon9901 commented Feb 2, 2026

Summary

This PR introduces the initial implementation of the TIME module, providing a platform-level time service for automotive systems.
It covers vehicle time synchronization, absolute time management, and a unified time access API, targeting high performance, stability, and automotive-grade reliability.

Contents

This PR includes:

  • gPTP-based Vehicle time synchronization daemon
  • Absolute Time support using an NTP time source
  • Shared-memory-based time publication
  • Public TIME C++ APIs exposed via libscore_time
  • Built-in diagnostics and synchronization logging
  • Mock clock implementations for testing and simulation

Notes

  • The architecture separates time synchronization (tsyncd) from time consumption (libscore_time) to keep concerns isolated.
  • Time is published via shared memory using a base time combined with a monotonic reference to avoid frequent system clock adjustments.
  • The implementation has zero third-party library dependencies and relies only on standard C/C++ and POSIX APIs.
  • The design is portable across Linux- and QNX-based automotive platforms.

Testing

  • Manual testing was performed against AVNU gPTP slave-related certification test cases:
    • Total test cases: 54
    • Executed: 39
    • Remaining: 15 (planned to be completed later this month)
  • Precision validation was performed using a TSN test box:
    • Measured time synchronization accuracy: < 5 µs
  • Basic functional validation of:
    • Vehicle Time synchronization and publishing
    • Absolute Time synchronization and publishing
    • Shared memory access from libscore_time

References

Module Requirements:

Module Documentation:

Known limitations / Future work

  • Unit tests are not included in this initial PR and will be added in a follow-up.

Copyright / License

  • We keep the ECARX copyright during the pitch phase untdecision by the S-Core architecture community to accept the contribution has been made.

@github-actions
Copy link

github-actions bot commented Feb 2, 2026

License Check Results

🚀 The license check job ran with the Bazel command:

bazel run //:license-check

Status: ⚠️ Needs Review

Click to expand output
[License Check Output]
2026/02/28 10:06:39 Downloading https://releases.bazel.build/8.3.0/release/bazel-8.3.0-linux-x86_64...
Extracting Bazel installation...
Starting local Bazel server (8.3.0) and connecting to it...
INFO: Invocation ID: 225af4aa-4635-428f-823d-cbec2ef27f55
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Loading: 
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
    currently loading: 
Loading: 0 packages loaded
    currently loading: 
Loading: 0 packages loaded
    currently loading: 
WARNING: Target pattern parsing failed.
ERROR: Skipping '//:license-check': no such target '//:license-check': target 'license-check' not declared in package '' defined by /home/runner/work/inc_time/inc_time/BUILD
ERROR: no such target '//:license-check': target 'license-check' not declared in package '' defined by /home/runner/work/inc_time/inc_time/BUILD
INFO: Elapsed time: 13.437s
INFO: 0 processes.
ERROR: Build did NOT complete successfully
ERROR: Build failed. Not running target

@github-actions
Copy link

github-actions bot commented Feb 2, 2026

The created documentation from the pull request is available at: docu-html

@gordon9901
Copy link
Contributor Author

Our slides:
TIME_SYNC_PITCH_ECARX.pdf

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant