Package rst.timing

This package contains data types which represent aspects of time.

Messages

digraph message_graph { fontname="Arial"; fontsize=11; stylesheet="../_static/graphs.css"; node [fontsize=11,fontname="Arial"] edge [fontsize=11,fontname="Arial"] "9" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-timing.html#rst.timing.Point2DTimeseries" TITLE="Message rst.timing.Point2DTimeseries" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">Point2DTimeseries</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-timing.html#rst.timing.Point2DTimestampPair" TITLE="Message rst.timing.Point2DTimestampPair" TARGET="_parent">Point2DTimestampPair</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-timing.html#rst.timing.Point2DTimeseries.entry" TITLE="Field rst.timing.Point2DTimeseries.entry" TARGET="_parent" PORT="entry">entry</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "10" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-timing.html#rst.timing.Point2DTimestampPair" TITLE="Message rst.timing.Point2DTimestampPair" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">Point2DTimestampPair</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-math.html#rst.math.Vec2DFloat" TITLE="Message rst.math.Vec2DFloat" TARGET="_parent">Vec2DFloat</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-timing.html#rst.timing.Point2DTimestampPair.point" TITLE="Field rst.timing.Point2DTimestampPair.point" TARGET="_parent" PORT="point">point</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-timing.html#rst.timing.Timestamp" TITLE="Message rst.timing.Timestamp" TARGET="_parent">Timestamp</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-timing.html#rst.timing.Point2DTimestampPair.timestamp" TITLE="Field rst.timing.Point2DTimestampPair.timestamp" TARGET="_parent" PORT="timestamp">timestamp</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "11" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-math.html#rst.math.Vec2DFloat" TITLE="Message rst.math.Vec2DFloat" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">Vec2DFloat</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT32.html#FLOAT32" TITLE="Fundamental FLOAT32" TARGET="_parent">FLOAT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-math.html#rst.math.Vec2DFloat.x" TITLE="Field rst.math.Vec2DFloat.x" TARGET="_parent" PORT="x">x</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT32.html#FLOAT32" TITLE="Fundamental FLOAT32" TARGET="_parent">FLOAT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-math.html#rst.math.Vec2DFloat.y" TITLE="Field rst.math.Vec2DFloat.y" TARGET="_parent" PORT="y">y</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "7" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-timing.html#rst.timing.FrequencyCollection" TITLE="Message rst.timing.FrequencyCollection" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">FrequencyCollection</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-timing.html#rst.timing.Frequency" TITLE="Message rst.timing.Frequency" TARGET="_parent">Frequency</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-timing.html#rst.timing.FrequencyCollection.element" TITLE="Field rst.timing.FrequencyCollection.element" TARGET="_parent" PORT="element">element</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "8" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-timing.html#rst.timing.Frequency" TITLE="Message rst.timing.Frequency" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">Frequency</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT64.html#FLOAT64" TITLE="Fundamental FLOAT64" TARGET="_parent">FLOAT64</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-timing.html#rst.timing.Frequency.hz" TITLE="Field rst.timing.Frequency.hz" TARGET="_parent" PORT="hz">hz</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "5" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-timing.html#rst.timing.DurationCollection" TITLE="Message rst.timing.DurationCollection" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">DurationCollection</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-timing.html#rst.timing.Duration" TITLE="Message rst.timing.Duration" TARGET="_parent">Duration</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-timing.html#rst.timing.DurationCollection.element" TITLE="Field rst.timing.DurationCollection.element" TARGET="_parent" PORT="element">element</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "6" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-timing.html#rst.timing.Duration" TITLE="Message rst.timing.Duration" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">Duration</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-UINT64.html#UINT64" TITLE="Fundamental UINT64" TARGET="_parent">UINT64</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-timing.html#rst.timing.Duration.time" TITLE="Field rst.timing.Duration.time" TARGET="_parent" PORT="time">time</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "4" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-timing.html#rst.timing.TimestampCollection" TITLE="Message rst.timing.TimestampCollection" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">TimestampCollection</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-timing.html#rst.timing.Timestamp" TITLE="Message rst.timing.Timestamp" TARGET="_parent">Timestamp</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-timing.html#rst.timing.TimestampCollection.element" TITLE="Field rst.timing.TimestampCollection.element" TARGET="_parent" PORT="element">element</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "1" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-timing.html#rst.timing.IntervalCollection" TITLE="Message rst.timing.IntervalCollection" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">IntervalCollection</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-timing.html#rst.timing.Interval" TITLE="Message rst.timing.Interval" TARGET="_parent">Interval</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-timing.html#rst.timing.IntervalCollection.element" TITLE="Field rst.timing.IntervalCollection.element" TARGET="_parent" PORT="element">element</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "2" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-timing.html#rst.timing.Interval" TITLE="Message rst.timing.Interval" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">Interval</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-timing.html#rst.timing.Timestamp" TITLE="Message rst.timing.Timestamp" TARGET="_parent">Timestamp</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-timing.html#rst.timing.Interval.begin" TITLE="Field rst.timing.Interval.begin" TARGET="_parent" PORT="begin">begin</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-timing.html#rst.timing.Timestamp" TITLE="Message rst.timing.Timestamp" TARGET="_parent">Timestamp</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-timing.html#rst.timing.Interval.end" TITLE="Field rst.timing.Interval.end" TARGET="_parent" PORT="end">end</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "3" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-timing.html#rst.timing.Timestamp" TITLE="Message rst.timing.Timestamp" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">Timestamp</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-UINT64.html#UINT64" TITLE="Fundamental UINT64" TARGET="_parent">UINT64</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-timing.html#rst.timing.Timestamp.time" TITLE="Field rst.timing.Timestamp.time" TARGET="_parent" PORT="time">time</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "9":entry -> "10"[]; "10":timestamp -> "3"[]; "10":point -> "11"[]; "7":element -> "8"[]; "5":element -> "6"[]; "4":element -> "3"[]; "1":element -> "2"[]; "2":end -> "3"[]; "2":begin -> "3"[]; }

Message IntervalCollection

class rst.timing.IntervalCollection

Collection of Interval instances.

Auto-generated.

element
Type:array of rst.timing.Interval

The individual elements of the collection.

Constraints regarding the empty collection, sorting, duplicated entries etc. are use case specific.

Download this file

message IntervalCollection {

    /**
     * The individual elements of the collection.
     *
     * Constraints regarding the empty collection, sorting, duplicated
     * entries etc. are use case specific.
     */
    repeated Interval element = 1;

}

Message TimestampCollection

class rst.timing.TimestampCollection

Collection of Timestamp instances.

Auto-generated.

element
Type:array of rst.timing.Timestamp

The individual elements of the collection.

Constraints regarding the empty collection, sorting, duplicated entries etc. are use case specific.

Download this file

message TimestampCollection {

    /**
     * The individual elements of the collection.
     *
     * Constraints regarding the empty collection, sorting, duplicated
     * entries etc. are use case specific.
     */
    repeated Timestamp element = 1;

}

Message DurationCollection

class rst.timing.DurationCollection

Collection of Duration instances.

Auto-generated.

element
Type:array of rst.timing.Duration

The individual elements of the collection.

Constraints regarding the empty collection, sorting, duplicated entries etc. are use case specific.

Download this file

message DurationCollection {

    /**
     * The individual elements of the collection.
     *
     * Constraints regarding the empty collection, sorting, duplicated
     * entries etc. are use case specific.
     */
    repeated Duration element = 1;

}

Message FrequencyCollection

class rst.timing.FrequencyCollection

Collection of Frequency instances.

Auto-generated.

element
Type:array of rst.timing.Frequency

The individual elements of the collection.

Constraints regarding the empty collection, sorting, duplicated entries etc. are use case specific.

Download this file

message FrequencyCollection {

    /**
     * The individual elements of the collection.
     *
     * Constraints regarding the empty collection, sorting, duplicated
     * entries etc. are use case specific.
     */
    repeated Frequency element = 1;

}

Message Interval

class rst.timing.Interval

Constraint: .begin.time <= .end.time

A time interval represented with two absolute timestamps.

Code author: Arne Nordmann <anordman@techfak.uni-bielefeld.de>

@create_collection

begin
Type:rst.timing.Timestamp

Start of the interval.

end
Type:rst.timing.Timestamp

End of the interval.

Download this file

message Interval {

    /**
     * Start of the interval.
     */
    optional Timestamp begin = 1;

    /**
     * End of the interval.
     */
    optional Timestamp end = 2;

}

Message Duration

class rst.timing.Duration

Holds a time duration in microseconds.

Code author: Arne Nordmann <anordman@techfak.uni-bielefeld.de>

@create_collection

time
Type:UINT64

Unit: microsecond

Download this file

message Duration {

    // @unit(microsecond)
    required uint64 time = 1;

}

Message Point2DTimeseries

class rst.timing.Point2DTimeseries

An ordered list of pairs each consisting of a timestamp and a 2D point.

Code author: Agnes Swadzba <aswadzba@techfak.uni-bielefeld.de>

entry
Type:array of rst.timing.Point2DTimestampPair

Constraint: for i from 0 below (len(value) - 1) value[i].timestamp.time < value[i+1].timestamp.time end

Entries are sorted in increasing order of the timestamp field.

Download this file

message Point2DTimeseries {

    /**
     * Entries are sorted in increasing order of the @ref
     * .Point2DTimestampPair.timestamp field.
     */
    // @constraint(for i from 0 below (len(value) - 1) value[i].timestamp.time < value[i+1].timestamp.time end)
    repeated Point2DTimestampPair entry = 1;

}

Message Point2DTimestampPair

class rst.timing.Point2DTimestampPair

A pair assembled from a 2D Point and a timestamp.

Code author: Agnes Swadzba <aswadzba@techfak.uni-bielefeld.de>

point
Type:rst.math.Vec2DFloat

The point associated to the timestamp.

timestamp
Type:rst.timing.Timestamp

The timestamp associate to the point.

Download this file

message Point2DTimestampPair {

    /**
     * The point associated to the timestamp.
     */
    required math.Vec2DFloat point = 1;

    /**
     * The timestamp associate to the point.
     */
    required Timestamp timestamp = 2;

}

Message Timestamp

class rst.timing.Timestamp

Holds a UNIX timestamp in microseconds.

Count starts at the Unix Epoch on January 1st, 1970 in UTC time.

Code author: Agnes Swadzba <aswadzba@techfak.uni-bielefeld.de>

@create_collection

time
Type:UINT64

Unit: microsecond

Number of microseconds since January 1st, 1970 in UTC time.

Download this file

message Timestamp {

    /**
     * Number of microseconds since January 1st, 1970 in UTC time.
     */
    // @unit(microsecond)
    required uint64 time = 1;

}

Message Frequency

class rst.timing.Frequency

Holds a frequency.

Code author: Arne Nordmann <anordman@techfak.uni-bielefeld.de>

@create_collection

hz
Type:FLOAT64

Unit: hertz

Download this file

message Frequency {

    // @unit(hertz)
    required double hz = 1;

}