pub struct File { /* private fields */ }Expand description
High-level wrapper for reading a DataFlash BIN file from disk.
use ardupilot_binlog::File;
let file = File::open("flight.bin").unwrap();
for result in file.entries().unwrap() {
let entry = result.unwrap();
println!("{}", entry.name);
}Implementations§
Source§impl File
impl File
Sourcepub fn open(path: impl AsRef<Path>) -> Result<Self, BinlogError>
pub fn open(path: impl AsRef<Path>) -> Result<Self, BinlogError>
Open a BIN file. Validates the path exists.
Sourcepub fn entries(&self) -> Result<Reader<File>, BinlogError>
pub fn entries(&self) -> Result<Reader<File>, BinlogError>
Return a fresh reader over the file’s entries.
Sourcepub fn time_range(&self) -> Result<Option<(u64, u64)>, BinlogError>
pub fn time_range(&self) -> Result<Option<(u64, u64)>, BinlogError>
Scan the file and return the time range (first_usec, last_usec).
Optimized: reads the head to find FMTs and the first timestamped message, then scans the tail for the last timestamp. Returns None for empty files or files with no timestamped entries.
Timestamps are boot-relative, not Unix epoch.
Precondition: assumes all FMT definitions appear before the first timestamped message, which is the standard ArduPilot file layout. The tail scan reuses formats discovered during the head scan.
Auto Trait Implementations§
impl Freeze for File
impl RefUnwindSafe for File
impl Send for File
impl Sync for File
impl Unpin for File
impl UnsafeUnpin for File
impl UnwindSafe for File
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more