pub trait ULogHeader {
    fn is_ulog(&mut self) -> bool;
    fn has_valid_ulog_header(&mut self) -> Result<bool>;
    fn read_ulog_version(&mut self) -> Result<u8>;
    fn read_start_timestamp(&mut self) -> Result<u64>;
}

Required Methods

Implementations on Foreign Types

Validates that the file is a ulog file with a valid header

Examples
use px4_ulog::parser::header::*;

let filename = format!("{}/tests/fixtures/6ba1abc7-b433-4029-b8f5-3b2bb12d3b6c.ulg", env!("CARGO_MANIFEST_DIR"));
let mut log_file = std::fs::File::open(&filename).unwrap();
assert!(log_file.is_ulog());

Validates that the file has a valid header

Examples
use px4_ulog::parser::header::*;

let filename = format!("{}/tests/fixtures/6ba1abc7-b433-4029-b8f5-3b2bb12d3b6c.ulg", env!("CARGO_MANIFEST_DIR"));
let mut log_file = std::fs::File::open(&filename).unwrap();
assert!(log_file.has_valid_ulog_header().unwrap());

Extracts the ulog file version

Examples
use px4_ulog::parser::header::*;

let filename = format!("{}/tests/fixtures/6ba1abc7-b433-4029-b8f5-3b2bb12d3b6c.ulg", env!("CARGO_MANIFEST_DIR"));
let mut log_file = std::fs::File::open(&filename).unwrap();
assert_eq!(log_file.read_ulog_version().unwrap(), 1);

Extracts the logging start time

Examples
use px4_ulog::parser::header::*;

let filename = format!("{}/tests/fixtures/6ba1abc7-b433-4029-b8f5-3b2bb12d3b6c.ulg", env!("CARGO_MANIFEST_DIR"));
let mut log_file = std::fs::File::open(&filename).unwrap();
assert_eq!(log_file.read_start_timestamp().unwrap(), 373058900);

Implementors