Icarus
Vehicle Simulation as a Transformable Computational Graph, built on Vulcan and Janus
Loading...
Searching...
No Matches
icarus::RecordingConfig Struct Reference

HDF5 recording configuration. More...

#include <SimulatorConfig.hpp>

Public Member Functions

bool IsActive () const
 Check if recording is active.
std::vector< std::string > Validate () const
 Validate recording configuration.

Static Public Member Functions

static RecordingConfig Default ()
 Create default config (recording disabled).

Public Attributes

bool enabled = false
 Enable recording.
std::string path = "output/recording.h5"
 Output file path.
std::string mode = "outputs"
 Recording mode: "off", "all", "outputs", "signals".
std::vector< std::string > include
 Include patterns (regex) - used when mode = "signals".
std::vector< std::string > exclude
 Exclude patterns (regex) - applied after include.
bool include_derivatives = false
 Include derivative signals (_dot).
bool include_inputs = false
 Include input signals (only meaningful with mode = "all").
int flush_interval = 0
 Flush interval (frames between disk flushes, 0 = auto).
int decimation = 1
 Decimation factor: record every N frames (1 = every frame, 10 = every 10th frame).
bool export_csv = false
 Export CSV copy on close (for PlotJuggler, Excel, etc.).

Detailed Description

HDF5 recording configuration.

Controls automatic signal recording to HDF5 files. Supports flexible signal selection via mode and pattern matching.

Modes:

  • "off" : No recording (default)
  • "all" : Record all signals (outputs, inputs, params, config)
  • "outputs" : Record only output signals
  • "signals" : Record signals matching include patterns

Example YAML:

recording:
enabled: true
path: "output/recording.h5"
mode: signals
- "Satellite.position.*"
- "Satellite.velocity.*"
- "*_dot*"
std::vector< std::string > exclude
Exclude patterns (regex) - applied after include.
Definition SimulatorConfig.hpp:517
bool enabled
Enable recording.
Definition SimulatorConfig.hpp:505
std::vector< std::string > include
Include patterns (regex) - used when mode = "signals".
Definition SimulatorConfig.hpp:514
std::string mode
Recording mode: "off", "all", "outputs", "signals".
Definition SimulatorConfig.hpp:511
std::string path
Output file path.
Definition SimulatorConfig.hpp:508

Member Function Documentation

◆ Default()

RecordingConfig icarus::RecordingConfig::Default ( )
inlinestaticnodiscard

Create default config (recording disabled).

◆ IsActive()

bool icarus::RecordingConfig::IsActive ( ) const
inlinenodiscard

Check if recording is active.

◆ Validate()

std::vector< std::string > icarus::RecordingConfig::Validate ( ) const
inlinenodiscard

Validate recording configuration.

Member Data Documentation

◆ decimation

int icarus::RecordingConfig::decimation = 1

Decimation factor: record every N frames (1 = every frame, 10 = every 10th frame).

◆ enabled

bool icarus::RecordingConfig::enabled = false

Enable recording.

◆ exclude

std::vector<std::string> icarus::RecordingConfig::exclude

Exclude patterns (regex) - applied after include.

◆ export_csv

bool icarus::RecordingConfig::export_csv = false

Export CSV copy on close (for PlotJuggler, Excel, etc.).

◆ flush_interval

int icarus::RecordingConfig::flush_interval = 0

Flush interval (frames between disk flushes, 0 = auto).

◆ include

std::vector<std::string> icarus::RecordingConfig::include

Include patterns (regex) - used when mode = "signals".

◆ include_derivatives

bool icarus::RecordingConfig::include_derivatives = false

Include derivative signals (_dot).

◆ include_inputs

bool icarus::RecordingConfig::include_inputs = false

Include input signals (only meaningful with mode = "all").

◆ mode

std::string icarus::RecordingConfig::mode = "outputs"

Recording mode: "off", "all", "outputs", "signals".

◆ path

std::string icarus::RecordingConfig::path = "output/recording.h5"

Output file path.


The documentation for this struct was generated from the following file: