libsbf 0.15.5

A no_std rust crate to parse Septentrio SBF Messages.
Documentation
use binrw::binrw;

// GEORawL1 Block 4020
#[binrw]
#[derive(Debug)]
pub struct GEORawL1 {
    #[br(map = |x: u32| if x == crate::DO_NOT_USE_U4 { None } else { Some(x) })]
    pub tow: Option<u32>,
    #[br(map = |x: u16| if x == crate::DO_NOT_USE_U2 { None } else { Some(x) })]
    pub wnc: Option<u16>,
    pub svid: u8,
    pub crc_passed: u8,
    pub viterbi_cnt: u8,
    pub source: u8,
    pub freq_nr: u8,
    pub rx_channel: u8,
    // 250 bits stored in 8 u32s (256 bits total, last 6 bits unused)
    pub nav_bits: [u32; 8],
}

impl GEORawL1 {
    // CRC status constants
    pub const CRC_FAILED: u8 = 0;
    pub const CRC_PASSED: u8 = 1;
}