Add user manuals for time module - #148
Conversation
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.
…rib/score_inc_time into docs/ryan-steel-LudwigAtBosch-user-manual
License Check Results🚀 The license check job ran with the Bazel command: bazel run //:license-checkStatus: Click to expand output |
|
The created documentation from the pull request is available at: docu-html |
fc5eec7 to
1345156
Compare
1345156 to
70c6f70
Compare
|
|
||
| .. _ components:: | ||
|
|
||
| Components |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
It's in the module template - gives a place for the docs_as_code docs_bundles to be injected.
@anmittag can you confirm whether this will be added to folder.rst?
There was a problem hiding this comment.
as the components are part of the /score subfolder you can delete it. template will be unpdated.
There was a problem hiding this comment.
The components are part of the score/ subfolder, but this gives us a place to mount the docs bundles generated from the docs_as_code directive in BUILD. Can you give an alternative for where it should be mounted?
edaa513 to
2c86705
Compare
| const auto system_snapshot = score::time::SystemClock::GetInstance().Now(); | ||
| const auto steady_snapshot = score::time::SteadyClock::GetInstance().Now(); | ||
| const auto high_res_snapshot = score::time::HighResSteadyClock::GetInstance().Now(); | ||
| const auto vehicle_snapshot = score::time::VehicleClock::GetInstance().Now(); |
There was a problem hiding this comment.
Not sure, if this is correct for the vehicle time.
@lavrovvalera: Don't we need the call to init for this?
| - Key Characteristic | ||
| - Typical Use Case | ||
| * - ``VehicleTime`` | ||
| - High-precision, PTP-synchronized, quality-assured network time. |
There was a problem hiding this comment.
Ah - forgot to mention this last time:
Is this really about precision or more about accuracy?
In short:
- Accuracy - the better the lower the absolute deviation from the master
- Precision - low spreading if queried multiple times
(Ask Google or Wikipedia for difference between accuracy, precision, and resolution)
| const auto system_tp = system_snapshot.TimePoint(); | ||
| const auto steady_tp = steady_snapshot.TimePoint(); | ||
| const auto high_res_tp = high_res_snapshot.TimePoint(); | ||
| const auto vehicle_tp = vehicle_snapshot.TimePoint(); |
There was a problem hiding this comment.
We suggest the vehicle time is always valid, here. We should at least add this check:
if (vehicle_snapshot.Status().HasBeenSynchronized()) {
const auto vehicle_tp = vehicle_snapshot.TimePoint();
}
Improvement
Adds user-facing documentation for S-CORE time module and its key components.
Description
Related Ticket
closes #125 (improvement ticket)