10 releases (5 breaking)
0.6.3 | May 27, 2024 |
---|---|
0.6.1 | Sep 2, 2022 |
0.6.0 | May 25, 2022 |
0.5.0 | Feb 20, 2022 |
0.2.0 | Apr 18, 2018 |
#21 in Robotics
119 downloads per month
Used in 2 crates
(via unbag-rs)
41KB
877 lines
rosbag-rs
A pure Rust crate for reading ROS bag files.
Example
use rosbag::{ChunkRecord, MessageRecord, IndexRecord, RosBag};
let bag = RosBag::new(path)?;
// Iterate over records in the chunk section
for record in bag.chunk_records() {
match record? {
ChunkRecord::Chunk(chunk) => {
// iterate over messages in the chunk
for msg in chunk.messages() {
match msg? {
MessageRecord::MessageData(msg_data) => {
// ..
}
MessageRecord::Connection(conn) => {
// ..
}
}
}
},
ChunkRecord::IndexData(index_data) => {
// ..
},
}
}
// Iterate over records in the index section
for record in bag.index_records() {
match record? {
IndexRecord::IndexData(index_data) => {
// ..
}
IndexRecord::Connection(conn) => {
// ..
}
IndexRecord::ChunkInfo(chunk_info) => {
// ..
}
}
}
License
The crate is licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~2.5MB
~40K SLoC