Snapshot

This chapter describes the Snapshot interface, which allows multiple signal values to be read using a single call.

Usage

Usage pattern of the Snapshot interface is as follows:

  1. Reserve a snapshot instance using the ReserveSnapshot method on the TopController interface.

  2. Add signals to the snapshot instance.

  3. Acquire signal values by triggering a sample.

  4. Step 3 can be repeated as many times as desired. Signals can be added or removed between the samples.

A snapshot is released by calling Dispose (for C#), or by letting all shared pointers to the snapshot instance go out of scope (for C++).

Mode

The snapshot mechanism supports two modes for reading samples. The table Snapshot modes describes differences between these modes.

Snapshot modes

Mode

Description

Atomic

Signal values are read synchronous to sample loop. The number of available resources supporting atomic mode might be limited.

Relaxed

Signal values are read asynchronously (number of available resources only limited by available controller memory).