Vulcan
Aerospace Engineering Utilities Built on Janus
Loading...
Searching...
No Matches
vulcan::io::HDF5Writer Class Reference

HDF5 telemetry file writer. More...

#include <HDF5Writer.hpp>

Public Member Functions

 HDF5Writer (const std::string &filename, const TelemetrySchema &schema)
 Create HDF5 writer.
 ~HDF5Writer ()=default
 HDF5Writer (const HDF5Writer &)=delete
HDF5Writeroperator= (const HDF5Writer &)=delete
 HDF5Writer (HDF5Writer &&) noexcept=default
HDF5Writeroperator= (HDF5Writer &&) noexcept=default
void write_frame (const Frame &frame)
 Write a single frame.
void write_frames (const std::vector< Frame > &frames)
 Write multiple frames.
size_t frame_count () const
 Get number of frames written so far.
void flush ()
 Flush buffered data to disk.
void close ()
 Close file (called automatically on destruction).

Detailed Description

HDF5 telemetry file writer.

Writes telemetry frames to HDF5 files. Each signal becomes a 1D dataset that can be efficiently extended. Supports frame-by-frame logging or batch writes.

HDF5 Structure:

/time # (N,) float64 - timestamps
/signals/
position.x # (N,) float64
position.y # (N,) float64
position.z # (N,) float64
gnc.phase # (N,) int32
/metadata/
schema # JSON string attribute
created_at # ISO 8601 timestamp
Definition Epoch.hpp:12

Example:

HDF5Writer writer("telemetry.h5", schema);
for (double t = 0; t < 10.0; t += 0.001) {
Frame frame(schema);
frame.set_time(t);
frame.set("position", compute_position(t));
writer.write_frame(frame);
}
writer.close(); // Optional, called automatically on destruction
Single timestep of telemetry data.
Definition Frame.hpp:39
HDF5Writer(const std::string &filename, const TelemetrySchema &schema)
Create HDF5 writer.
Definition HDF5Writer.hpp:63

Constructor & Destructor Documentation

◆ HDF5Writer() [1/3]

vulcan::io::HDF5Writer::HDF5Writer ( const std::string & filename,
const TelemetrySchema & schema )
inline

Create HDF5 writer.

Parameters
filenameOutput HDF5 file path
schemaTelemetry schema

◆ ~HDF5Writer()

vulcan::io::HDF5Writer::~HDF5Writer ( )
default

◆ HDF5Writer() [2/3]

vulcan::io::HDF5Writer::HDF5Writer ( const HDF5Writer & )
delete

◆ HDF5Writer() [3/3]

vulcan::io::HDF5Writer::HDF5Writer ( HDF5Writer && )
defaultnoexcept

Member Function Documentation

◆ close()

void vulcan::io::HDF5Writer::close ( )
inline

Close file (called automatically on destruction).

◆ flush()

void vulcan::io::HDF5Writer::flush ( )
inline

Flush buffered data to disk.

◆ frame_count()

size_t vulcan::io::HDF5Writer::frame_count ( ) const
inline

Get number of frames written so far.

◆ operator=() [1/2]

HDF5Writer & vulcan::io::HDF5Writer::operator= ( const HDF5Writer & )
delete

◆ operator=() [2/2]

HDF5Writer & vulcan::io::HDF5Writer::operator= ( HDF5Writer && )
defaultnoexcept

◆ write_frame()

void vulcan::io::HDF5Writer::write_frame ( const Frame & frame)
inline

Write a single frame.

Parameters
frameFrame to write

◆ write_frames()

void vulcan::io::HDF5Writer::write_frames ( const std::vector< Frame > & frames)
inline

Write multiple frames.

Parameters
framesVector of frames to write

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