|
Icarus
Vehicle Simulation as a Transformable Computational Graph, built on Vulcan and Janus
|
Descriptor for a signal on the backplane. More...
#include <Signal.hpp>
Public Member Functions | |
| constexpr size_t | size_bytes () const |
| Get padded size in bytes (always 8 for wire format alignment, matching Vulcan). | |
Public Attributes | |
| std::string | name |
| Full path: "Falcon9.Propulsion.Thrust". | |
| SignalType | type |
| Data type (Double, Int32, Int64). | |
| SignalLifecycle | lifecycle |
| Static or Dynamic. | |
| std::string | unit |
| Physical unit: "N", "m/s", "rad". | |
| std::string | semantic |
| Optional semantic hint: "boolean", "enum". | |
| std::string | description |
| Human-readable description. | |
| std::string | owner_component |
| Component that registered this signal. | |
| void * | data_ptr = nullptr |
| Pointer to storage (for pointer-bind pattern). | |
| SignalKind | kind = SignalKind::Output |
| Signal classification. | |
| std::string | wired_to |
| For inputs: source signal name. | |
| double | min_value = -std::numeric_limits<double>::infinity() |
| double | max_value = std::numeric_limits<double>::infinity() |
| bool | is_optimizable = true |
| False for Config kind. | |
| bool | is_integrable = false |
| True for state values that need integration. | |
| std::string | derivative_signal |
| For states: name of paired derivative signal. | |
| std::string | integrated_signal |
| For derivatives: name of paired value signal. | |
Descriptor for a signal on the backplane.
Extends Vulcan's SignalDescriptor concept with Icarus-specific fields:
Compatible with Vulcan's telemetry system while adding simulation features.
|
inlinenodiscardconstexpr |
Get padded size in bytes (always 8 for wire format alignment, matching Vulcan).
| void* icarus::SignalDescriptor::data_ptr = nullptr |
Pointer to storage (for pointer-bind pattern).
| std::string icarus::SignalDescriptor::derivative_signal |
For states: name of paired derivative signal.
| std::string icarus::SignalDescriptor::description |
Human-readable description.
| std::string icarus::SignalDescriptor::integrated_signal |
For derivatives: name of paired value signal.
| bool icarus::SignalDescriptor::is_integrable = false |
True for state values that need integration.
| bool icarus::SignalDescriptor::is_optimizable = true |
False for Config kind.
| SignalKind icarus::SignalDescriptor::kind = SignalKind::Output |
Signal classification.
| SignalLifecycle icarus::SignalDescriptor::lifecycle |
Static or Dynamic.
| double icarus::SignalDescriptor::max_value = std::numeric_limits<double>::infinity() |
| double icarus::SignalDescriptor::min_value = -std::numeric_limits<double>::infinity() |
| std::string icarus::SignalDescriptor::name |
Full path: "Falcon9.Propulsion.Thrust".
| std::string icarus::SignalDescriptor::owner_component |
Component that registered this signal.
| std::string icarus::SignalDescriptor::semantic |
Optional semantic hint: "boolean", "enum".
| SignalType icarus::SignalDescriptor::type |
Data type (Double, Int32, Int64).
| std::string icarus::SignalDescriptor::unit |
Physical unit: "N", "m/s", "rad".
| std::string icarus::SignalDescriptor::wired_to |
For inputs: source signal name.