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

A single signal route with optional transformations. More...

#include <SignalRouter.hpp>

Public Member Functions

 SignalRoute ()=default
 SignalRoute (std::string input, std::string output, double g=1.0, double o=0.0, double d=0.0)
double EffectiveGain (int32_t current_phase) const
bool IsActiveInPhase (int32_t current_phase) const
 Check if route is active in given phase.
std::vector< std::string > Validate () const
 Validate route paths.

Public Attributes

std::string input_path
 Full path: Entity.Component.signal (destination).
std::string output_path
 Full path: Entity.Component.signal (source).
double gain = 1.0
 Scale factor applied on read.
double offset = 0.0
 Bias added after gain.
double delay = 0.0
 Transport delay in seconds.
std::set< int32_t > active_phases
 Phase gating: if non-empty, route only active when current phase is in this set.

Detailed Description

A single signal route with optional transformations.

Routes connect a component's input port to another component's output. Optional gain, offset, and delay allow unit conversion, bias, and transport delay. Phase gating allows routes to be active only during specific flight phases.

Constructor & Destructor Documentation

◆ SignalRoute() [1/2]

icarus::signal::SignalRoute::SignalRoute ( )
default

◆ SignalRoute() [2/2]

icarus::signal::SignalRoute::SignalRoute ( std::string input,
std::string output,
double g = 1.0,
double o = 0.0,
double d = 0.0 )
inline

Member Function Documentation

◆ EffectiveGain()

double icarus::signal::SignalRoute::EffectiveGain ( int32_t current_phase) const
inlinenodiscard

Get effective gain considering phase gating Returns 0.0 if route is inactive in current phase (output zeroed)

◆ IsActiveInPhase()

bool icarus::signal::SignalRoute::IsActiveInPhase ( int32_t current_phase) const
inlinenodiscard

Check if route is active in given phase.

◆ Validate()

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

Validate route paths.

Member Data Documentation

◆ active_phases

std::set<int32_t> icarus::signal::SignalRoute::active_phases

Phase gating: if non-empty, route only active when current phase is in this set.

◆ delay

double icarus::signal::SignalRoute::delay = 0.0

Transport delay in seconds.

◆ gain

double icarus::signal::SignalRoute::gain = 1.0

Scale factor applied on read.

◆ input_path

std::string icarus::signal::SignalRoute::input_path

Full path: Entity.Component.signal (destination).

◆ offset

double icarus::signal::SignalRoute::offset = 0.0

Bias added after gain.

◆ output_path

std::string icarus::signal::SignalRoute::output_path

Full path: Entity.Component.signal (source).


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