Skip to content

Commit e8c8c75

Browse files
committed
Deserialization + correct archetype
1 parent a798fa2 commit e8c8c75

File tree

9 files changed

+378
-533
lines changed

9 files changed

+378
-533
lines changed

crates/utils/re_mcap/src/layers/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ impl LayerRegistry {
325325
.register_file_layer::<McapSchemaLayer>()
326326
.register_file_layer::<McapStatisticLayer>()
327327
// message layers (priority order):
328-
// .register_message_layer::<McapRos2Layer>()
328+
.register_message_layer::<McapRos2Layer>()
329329
.register_message_layer::<McapRos2ReflectionLayer>()
330330
.register_message_layer::<McapProtobufLayer>();
331331

crates/utils/re_mcap/src/layers/ros2.rs

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ use crate::parsers::{
66
ros2msg::{
77
Ros2MessageParser,
88
rcl_interfaces::LogMessageParser,
9-
reflection::MessageSchema,
109
sensor_msgs::{
1110
BatteryStateMessageParser, CameraInfoMessageParser, CompressedImageMessageParser,
1211
FluidPressureMessageParser, IlluminanceMessageParser, ImageMessageParser,
@@ -93,28 +92,9 @@ impl MessageLayer for McapRos2Layer {
9392
}
9493

9594
fn supports_channel(&self, channel: &mcap::Channel<'_>) -> bool {
96-
if channel.schema.as_ref().is_some_and(|s| {
95+
channel.schema.as_ref().is_some_and(|s| {
9796
s.encoding.as_str() == Self::ENCODING && self.registry.contains_key(&s.name)
98-
}) {
99-
true
100-
} else {
101-
let schema = channel.schema.as_ref().unwrap();
102-
let schema_content = String::from_utf8_lossy(schema.data.as_ref());
103-
if let Ok(message_spec) = MessageSchema::parse(&schema.name, &schema_content) {
104-
re_log::warn_once!(
105-
"Message schema {:?} is currently not supported, but parsed spec: {message_spec:#?}",
106-
schema.name
107-
);
108-
} else {
109-
re_log::warn_once!(
110-
"Message schema {:?} is currently not supported, and failed to parse spec",
111-
schema.name
112-
);
113-
re_log::warn_once!("Schema content:\n{}", schema_content);
114-
}
115-
116-
false
117-
}
97+
})
11898
}
11999

120100
fn message_parser(

crates/utils/re_mcap/src/layers/ros2_reflection.rs

Lines changed: 100 additions & 145 deletions
Large diffs are not rendered by default.

crates/utils/re_mcap/src/parsers/ros2msg/reflection/deserialize/message.rs

Lines changed: 0 additions & 65 deletions
This file was deleted.

0 commit comments

Comments
 (0)