Understand how the driver software reconciles frame timestamps when your interface is in a replay mode.

Basic Definition of Start Time

When the hardware is in a replay mode, the first frame received from the application is considered the start time. All subsequent frames are transmitted at the appropriate delta, based on their own timestamps, from the start time.

Table 12. Example: Start Time
Frame Timestamp Transmission Time
1 12:01.123 Immediately
2 12:01.456 333 ms after frame 1

Competing Start Times

If a frame's time is identical or goes backwards relative to the first timestamp, this is treated as a new start time, and the frame is transmitted immediately on the bus. Subsequent frames are compared to this new start time to determine the transmission time.

You can use this behavior to replay a logfile of frames repeatedly, where each new replay of the file begins with new timing.

Table 13. Example: Competing Start Times, Subsequent Frame is Earliest
Frame Timestamp Transmission Time
1 12:01.123 Immediately
2 12:01.456 333 ms after frame 1
3 12:01.100 Immediately after frame 2
4 12:02.100 1 s after frame 3

In contrast, a frame with a timestamp that goes backward relative to the previous timestamp, but is still forward relative to the start time, is transmitted immediately.

Table 14. Example: Competing Start Times, First Frame is Earliest
Frame Timestamp Transmission Time
1 12:01.123 Immediately
2 12:01.456 333 ms after frame 1
3 12:01.400 Immediately after frame 2
4 12:02.100 544 ms after frame 3

Initial Frame Always Transmits Immediately

The first frame is always transmitted immediately, even if the absolute time of the first frame is in the future relative to the current time.

If you want to synchronize the start of multiple replay streams, you must use a future time trigger frame. Refer to information on special frames and synchronized replay functionality for more information.