Skip to main content

Crate cu29_clock

Crate cu29_clock 

Source
Expand description

Monotonic robot time, controlled test clocks, and optional reference discipline.

Modules§

sync
Transport-independent reference discipline with fixed storage.

Structs§

ClockDebugScalarRegistration
ClockOrigin
Compact metadata describing what crate::RobotClock::now returns.
CuDuration
For Robot times, the underlying type is a u64 representing nanoseconds. It is always positive to simplify the reasoning on the user side.
CuInstant
An instant on one robot clock’s undisciplined local timeline, in nanoseconds.
CuTime
A robot time is a monotonic timestamp in nanoseconds from the robot clock epoch.
CuTimeRange
Represents a time range.
OptionCuTime
Homebrewed Option<CuDuration> to avoid using 128bits just to represent an Option.
PartialCuTimeRange
Represents a time range with possible undefined start or end or both.
RobotClock
A running Robot clock. The clock is a monotonic clock that starts at an arbitrary reference time. It is clone resilient, ie a clone will be the same clock, even when mocked.
RobotClockMock
A mock clock that can be controlled by the user.

Enums§

ClockDebugScalarKind
ClockEpoch
Meaning of zero on the execution timeline. Every timestamp remains nanoseconds.
ClockSource
Advertised upstream source, independent of transport and timestamp epoch.
Tov
The time of validity of a message can be more than one time but can be a time range of Tovs. For example a sub scan for a lidar, a set of images etc… can have a range of validity.

Traits§

ClockProvider
A trait to provide a clock to the runtime.
SaturatingSub
Saturating subtraction for time and duration types.

Functions§

debug_scalar_registrations
initialize
read_raw_counter