Skip to content

Add user manuals for time module - #148

Open
ryan-steel wants to merge 20 commits into
eclipse-score:mainfrom
etas-contrib:docs/ryan-steel-LudwigAtBosch-user-manual
Open

Add user manuals for time module#148
ryan-steel wants to merge 20 commits into
eclipse-score:mainfrom
etas-contrib:docs/ryan-steel-LudwigAtBosch-user-manual

Conversation

@ryan-steel

@ryan-steel ryan-steel commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Improvement

Adds user-facing documentation for S-CORE time module and its key components.

Description

  • Added module manuals for integration and troubleshooting
  • Added component manuals for time library, TimeSlave, and TimeDaemon
  • Added main index links so users can navigate module and component docs
  • Updates score_docs_as_code to 6.0.0 and updates score_time to use new docs bundles.

Related Ticket

closes #125 (improvement ticket)

ryan-steel and others added 9 commits July 15, 2026 12:44
It includes

- An overall architecture introduction and a guide for choosing the
  right clock.
- A detailed API description covering basic usage, lifecycle management,
  advanced subscriptions, and unit-testing patterns.
- A dedicated integration guide for system integrators.
- A troubleshooting guide for diagnosing common runtime issues.
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown

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]
Extracting Bazel installation...
Starting local Bazel server (8.6.0) and connecting to it...
INFO: Invocation ID: 6869ceec-ca81-4439-a1b8-10090026424b
Computing main repo mapping: 
WARNING: /home/runner/work/time/time/MODULE.bazel:13:7: The attribute 'compatibility_level' in module() is a no-op and will be removed in a future Bazel release. Please remove it from your MODULE.bazel file.
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Loading: 
Loading: 3 packages loaded
Loading: 3 packages loaded
    currently loading: 
Loading: 3 packages loaded
    currently loading: 
Loading: 3 packages loaded
    currently loading: 
Analyzing: target //:license-check (4 packages loaded, 0 targets configured)
Analyzing: target //:license-check (4 packages loaded, 0 targets configured)

Analyzing: target //:license-check (71 packages loaded, 10 targets configured)

Analyzing: target //:license-check (144 packages loaded, 3098 targets configured)

Analyzing: target //:license-check (157 packages loaded, 6170 targets configured)

Analyzing: target //:license-check (162 packages loaded, 6219 targets configured)

Analyzing: target //:license-check (162 packages loaded, 6219 targets configured)

Analyzing: target //:license-check (165 packages loaded, 8106 targets configured)

Analyzing: target //:license-check (165 packages loaded, 8106 targets configured)

Analyzing: target //:license-check (165 packages loaded, 8106 targets configured)

Analyzing: target //:license-check (167 packages loaded, 8876 targets configured)

Analyzing: target //:license-check (169 packages loaded, 11296 targets configured)

Analyzing: target //:license-check (169 packages loaded, 11296 targets configured)

Analyzing: target //:license-check (169 packages loaded, 11296 targets configured)

Analyzing: target //:license-check (169 packages loaded, 11296 targets configured)

Analyzing: target //:license-check (169 packages loaded, 11296 targets configured)

INFO: Analyzed target //:license-check (170 packages loaded, 11422 targets configured).
[12 / 16] JavaToolchainCompileClasses external/rules_java+/toolchains/platformclasspath_classes; 0s disk-cache, processwrapper-sandbox ... (2 actions running)
INFO: From Generating Dash formatted dependency file ...:
INFO: Successfully converted 2 packages from Cargo.lock to bazel-out/k8-fastbuild/bin/formatted.txt
[15 / 16] [Sched] Building license.check.license_check.jar ()
INFO: Found 1 target...
Target //:license.check.license_check up-to-date:
  bazel-bin/license.check.license_check
  bazel-bin/license.check.license_check.jar
INFO: Elapsed time: 41.327s, Critical Path: 1.83s
INFO: 16 processes: 12 internal, 3 processwrapper-sandbox, 1 worker.
INFO: Build completed successfully, 16 total actions
INFO: Running command line: bazel-bin/license.check.license_check ./formatted.txt <args omitted>
usage: org.eclipse.dash.licenses.cli.Main [-batch <int>] [-cd <url>]
       [-confidence <int>] [-ef <url>] [-excludeSources <sources>] [-help] [-lic
       <url>] [-project <shortname>] [-repo <url>] [-review] [-summary <file>]
       [-timeout <seconds>] [-token <token>]

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown

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

@ryan-steel
ryan-steel force-pushed the docs/ryan-steel-LudwigAtBosch-user-manual branch from bf05f16 to d6cb760 Compare August 6, 2026 15:10
@ryan-steel
ryan-steel requested a review from lavrovvalera August 7, 2026 13:41
Comment thread score/time/docs/manuals/api_description/testing_guide.rst Outdated
Comment thread docs/components/index.rst
Comment thread docs/module/manuals/index.rst
Comment thread docs/module/manuals/api_description/api_usage.rst
Comment thread score/time/docs/manuals/api_description/testing_guide.rst Outdated
 into docs/ryan-steel-LudwigAtBosch-user-manual
@ryan-steel
ryan-steel force-pushed the docs/ryan-steel-LudwigAtBosch-user-manual branch from fc5eec7 to 1345156 Compare August 12, 2026 14:19
@ryan-steel
ryan-steel force-pushed the docs/ryan-steel-LudwigAtBosch-user-manual branch from 1345156 to 70c6f70 Compare August 13, 2026 10:25
Comment thread docs/module/index.rst
Comment on lines +18 to +19
<Module sphinx documentation template snippets for the module. The directives and their parameters
should be updated according to the module and it's components.>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think, this needs to be filled by something meaningful ...

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we have those empty folders? Imho we should leave them away - especially those marked as optional.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove - see comment for config folder

Comment on lines +26 to +29
Polling the Current Time
------------------------

This method involves actively requesting the current time from the ``score::time`` framework. It is the simplest way to get a timepoint when needed.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Polling the Current Time
------------------------
This method involves actively requesting the current time from the ``score::time`` framework. It is the simplest way to get a timepoint when needed.
Polling the Current Vehicle Time
--------------------------------
This method involves actively requesting the current vehicle time from the ``score::time`` framework. It is the simplest way to get a timepoint when needed.

Comment on lines +242 to +243
Adapting for Your Application
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Adapting for Your Application
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Adapting Your Application
~~~~~~~~~~~~~~~~~~~~~~~~~

Comment thread docs/index.rst

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about subfolders module/release and verification_report (if we want to have empty folders)?

Comment thread score/time/docs/index.rst

Time Component
==============

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we should have a short sentence here and in the others, what these components are for, each

Comment on lines +25 to +36
The following argument is available to configure the ``TimeSlave`` at runtime:

.. list-table::
:widths: 25 15 60
:header-rows: 1

* - Argument
- Overrides
- Description
* - ``-i, --interface <name>``
- ``iface_name``
- **Mandatory Runtime Parameter.** Specifies the Ethernet network interface. Although the internal default is "emac0", this **must** be set correctly at runtime to match the target hardware.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think, we should remove this

  1. It's not yet merged
  2. I propose not to merge it, as gordon9901 will provide a json-based config, soon: feat: add TimeDaemon CIT with pip hub infrastructure #122
Suggested change
The following argument is available to configure the ``TimeSlave`` at runtime:
.. list-table::
:widths: 25 15 60
:header-rows: 1
* - Argument
- Overrides
- Description
* - ``-i, --interface <name>``
- ``iface_name``
- **Mandatory Runtime Parameter.** Specifies the Ethernet network interface. Although the internal default is "emac0", this **must** be set correctly at runtime to match the target hardware.
The following argument is available to configure the ``TimeSlave`` at runtime: <tbd>

Comment on lines +80 to +83
./time_slave --interface eth1

.. attention::
The command-line parsing is currently incomplete. To change parameters other than the interface name, you must modify the default values in the ``GptpEngineOptions`` structure and recompile the application. A comprehensive configuration mechanism (e.g., via a JSON file) is planned for future versions.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
./time_slave --interface eth1
.. attention::
The command-line parsing is currently incomplete. To change parameters other than the interface name, you must modify the default values in the ``GptpEngineOptions`` structure and recompile the application. A comprehensive configuration mechanism (e.g., via a JSON file) is planned for future versions.
./time_slave
.. attention::
The runtime configuration is currently incomplete. To change parameters, you must modify the default values in the ``GptpEngineOptions`` structure and recompile the application. A comprehensive configuration mechanism (e.g., via a JSON file) will come soon.

@@ -19,9 +19,3 @@ time_slave Component
:maxdepth: 1

component_classification

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is that kept?


.. _manual_time_api_usage:

API Usage: Accessing Vehicle Time

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see here the Vehicle Time only.
but idea was,the module API provides the API to access the supported time bases, like chrono, hrlsc abd vehicle time

Comment thread docs/components/index.rst

.. _ components::

Components

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see the components subfolder in the folder structure document
https://eclipse-score.github.io/score/main/contribute/general/folder.html

so, my question is why it is still here and do we really need it?

# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************

Safety Manual

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we really need it now?
it is empty anyway and not clarified if we will need it.

# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************

Security Manual

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we really need it now?
it is empty anyway and not clarified if we will need it.

Comment thread docs/safety_mgt/.gitkeep

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you delete the file, but put the safety manual in manuals subfolder. I think it shall be here then.
the simuilar with security

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

Labels

None yet

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

docs/manuals/: Create user manual

4 participants