Telemetry schema builder and container.
More...
#include <TelemetrySchema.hpp>
|
| | TelemetrySchema ()=default |
| TelemetrySchema & | add_double (const std::string &name, SignalLifecycle lifecycle=SignalLifecycle::Dynamic, const std::string &unit="") |
| | Add a double signal.
|
| TelemetrySchema & | add_int32 (const std::string &name, SignalLifecycle lifecycle=SignalLifecycle::Dynamic, const std::string &semantic="") |
| | Add an int32 signal.
|
| TelemetrySchema & | add_int64 (const std::string &name, SignalLifecycle lifecycle=SignalLifecycle::Dynamic) |
| | Add an int64 signal.
|
| TelemetrySchema & | add_vec3 (const std::string &name, SignalLifecycle lifecycle=SignalLifecycle::Dynamic, const std::string &unit="") |
| | Add a 3-component vector (expands to name.x, name.y, name.z).
|
| TelemetrySchema & | add_quat (const std::string &name, SignalLifecycle lifecycle=SignalLifecycle::Dynamic) |
| | Add a quaternion (expands to name.w, name.x, name.y, name.z).
|
| const std::vector< SignalDescriptor > & | signals () const |
| | Get all signals.
|
| std::vector< SignalDescriptor > | dynamic_signals () const |
| | Get only dynamic signals.
|
| std::vector< SignalDescriptor > | static_signals () const |
| | Get only static signals.
|
| const SignalDescriptor & | signal (const std::string &name) const |
| | Get signal by name.
|
| bool | has_signal (const std::string &name) const |
| | Check if signal exists.
|
| size_t | offset (const std::string &name) const |
| | Get offset for signal.
|
| size_t | index (const std::string &name) const |
| | Get index for signal.
|
| size_t | frame_size_bytes () const |
| | Total frame size in bytes (all signals).
|
| size_t | dynamic_frame_size_bytes () const |
| | Dynamic signals frame size in bytes (for streaming).
|
| size_t | static_frame_size_bytes () const |
| | Static signals frame size in bytes.
|
| size_t | signal_count () const |
| | Number of signals.
|
| std::vector< std::string > | signal_names () const |
| | Get all signal names.
|
| void | validate () const |
| | Validate schema (throws on errors).
|
| std::string | to_json () const |
| | Serialize to JSON string.
|
Telemetry schema builder and container.
Defines the structure of telemetry frames with named scalar signals. All signals occupy 8-byte aligned slots for wire format compatibility.
Example:
TelemetrySchema()=default
TelemetrySchema & add_int32(const std::string &name, SignalLifecycle lifecycle=SignalLifecycle::Dynamic, const std::string &semantic="")
Add an int32 signal.
Definition TelemetrySchema.hpp:72
TelemetrySchema & add_double(const std::string &name, SignalLifecycle lifecycle=SignalLifecycle::Dynamic, const std::string &unit="")
Add a double signal.
Definition TelemetrySchema.hpp:57
TelemetrySchema & add_vec3(const std::string &name, SignalLifecycle lifecycle=SignalLifecycle::Dynamic, const std::string &unit="")
Add a 3-component vector (expands to name.x, name.y, name.z).
Definition TelemetrySchema.hpp:104
@ Static
Constant after init, sent in schema handshake only.
Definition Signal.hpp:26
@ Dynamic
Updated each step, included in streaming telemetry.
Definition Signal.hpp:27
Definition MassProperties.hpp:12
◆ TelemetrySchema()
| vulcan::io::TelemetrySchema::TelemetrySchema |
( |
| ) |
|
|
default |
◆ add_double()
Add a double signal.
- Parameters
-
| name | Signal name |
| lifecycle | Static or Dynamic |
| unit | Physical unit |
- Returns
- Reference to this for chaining
◆ add_int32()
Add an int32 signal.
- Parameters
-
| name | Signal name |
| lifecycle | Static or Dynamic |
| semantic | Optional semantic hint ("boolean", "enum") |
- Returns
- Reference to this for chaining
◆ add_int64()
Add an int64 signal.
- Parameters
-
| name | Signal name |
| lifecycle | Static or Dynamic |
- Returns
- Reference to this for chaining
◆ add_quat()
Add a quaternion (expands to name.w, name.x, name.y, name.z).
- Parameters
-
| name | Base signal name |
| lifecycle | Static or Dynamic |
- Returns
- Reference to this for chaining
◆ add_vec3()
Add a 3-component vector (expands to name.x, name.y, name.z).
- Parameters
-
| name | Base signal name |
| lifecycle | Static or Dynamic |
| unit | Physical unit |
- Returns
- Reference to this for chaining
◆ dynamic_frame_size_bytes()
| size_t vulcan::io::TelemetrySchema::dynamic_frame_size_bytes |
( |
| ) |
const |
|
inline |
Dynamic signals frame size in bytes (for streaming).
◆ dynamic_signals()
| std::vector< SignalDescriptor > vulcan::io::TelemetrySchema::dynamic_signals |
( |
| ) |
const |
|
inline |
Get only dynamic signals.
◆ frame_size_bytes()
| size_t vulcan::io::TelemetrySchema::frame_size_bytes |
( |
| ) |
const |
|
inline |
Total frame size in bytes (all signals).
◆ from_json()
| TelemetrySchema vulcan::io::TelemetrySchema::from_json |
( |
const std::string & | json | ) |
|
|
static |
Deserialize from JSON string (basic parser).
◆ has_signal()
| bool vulcan::io::TelemetrySchema::has_signal |
( |
const std::string & | name | ) |
const |
|
inline |
◆ index()
| size_t vulcan::io::TelemetrySchema::index |
( |
const std::string & | name | ) |
const |
|
inline |
◆ offset()
| size_t vulcan::io::TelemetrySchema::offset |
( |
const std::string & | name | ) |
const |
|
inline |
◆ signal()
| const SignalDescriptor & vulcan::io::TelemetrySchema::signal |
( |
const std::string & | name | ) |
const |
|
inline |
◆ signal_count()
| size_t vulcan::io::TelemetrySchema::signal_count |
( |
| ) |
const |
|
inline |
◆ signal_names()
| std::vector< std::string > vulcan::io::TelemetrySchema::signal_names |
( |
| ) |
const |
|
inline |
◆ signals()
| const std::vector< SignalDescriptor > & vulcan::io::TelemetrySchema::signals |
( |
| ) |
const |
|
inline |
◆ static_frame_size_bytes()
| size_t vulcan::io::TelemetrySchema::static_frame_size_bytes |
( |
| ) |
const |
|
inline |
Static signals frame size in bytes.
◆ static_signals()
| std::vector< SignalDescriptor > vulcan::io::TelemetrySchema::static_signals |
( |
| ) |
const |
|
inline |
◆ to_json()
| std::string vulcan::io::TelemetrySchema::to_json |
( |
| ) |
const |
|
inline |
Serialize to JSON string.
◆ validate()
| void vulcan::io::TelemetrySchema::validate |
( |
| ) |
const |
|
inline |
Validate schema (throws on errors).
The documentation for this class was generated from the following file: