Expand description
§My Crate: ULog Macros
Provides #[derive(ULogData)] and #[derive(ULogMessages)] for mapping Rust structs
to ULOG subscriptions.
§Example
#[cfg(feature = "macros")] {
extern crate yule_log_macros;
use yule_log_macros::{ULogData, ULogMessages};
#[derive(ULogData)]
struct VehicleLocalPosition { timestamp: u64, x: f32, y: f32, z: f32 }
#[derive(ULogMessages)]
enum LoggedMessages {
VehicleLocalPosition(VehicleLocalPosition),
Other(yule_log::model::msg::UlogMessage),
}
let reader = std::io::BufReader::new(std::fs::File::open("test_data/sample.ulg")?);
let stream = LoggedMessages::stream(reader)?;
for msg_res in stream {
let msg = msg_res?;
match msg {
LoggedMessages::VehicleLocalPosition(v) => println!("x={}", v.x),
LoggedMessages::Other(_) => {},
}
}
}Derive Macros§
- ULog
Data - Derive
ULogDatafor a struct representing a ULOG LoggedDataMessage. - ULog
Messages - Derive
ULogMessagesfor an enum wrapping ULogData structs.