Snapshot
This is a ROS message definition.
Source
# Copyright 2025 mfaferek93
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Snapshot.msg - Unified snapshot type for freeze frames and rosbag recordings.
#
# Used in EnvironmentData to represent captured diagnostic data. Supports two types:
# - "freeze_frame": Single message capture with JSON-serialized data
# - "rosbag": Recording file metadata with bulk-data download reference
# Snapshot type: "freeze_frame" or "rosbag"
string type
# Human-readable name for this snapshot
string name
# --- Freeze frame fields (empty for rosbag type) ---
# JSON-serialized message data
string data
# ROS topic name (e.g., "/motor/temperature")
string topic
# Message type (e.g., "sensor_msgs/msg/Temperature")
string message_type
# --- Rosbag fields (empty for freeze_frame type) ---
# Identifier for bulk-data download (set to fault_code)
string bulk_data_id
# File size in bytes
uint64 size_bytes
# Recording duration in seconds
float64 duration_sec
# Recording format: "sqlite3" or "mcap"
string format
# --- Common metadata ---
# Capture timestamp (nanoseconds since epoch)
int64 captured_at_ns
# Snapshot type constants
string TYPE_FREEZE_FRAME = "freeze_frame"
string TYPE_ROSBAG = "rosbag"
# Rosbag format constants
string FORMAT_SQLITE3 = "sqlite3"
string FORMAT_MCAP = "mcap"