use crate::binrw_util;
use alloc::vec::Vec;
use binrw::binrw;
#[binrw]
#[derive(Clone, Debug)]
pub struct GALUtc {
#[br(map = binrw_util::map_u4)]
#[bw(map = binrw_util::unmap_u4)]
pub tow: Option<u32>,
#[br(map = binrw_util::map_u2)]
#[bw(map = binrw_util::unmap_u2)]
pub wnc: Option<u16>,
pub svid: u8,
pub source: u8,
#[br(map = binrw_util::map_f4)]
#[bw(map = binrw_util::unmap_f4)]
pub a_1: Option<f32>,
#[br(map = binrw_util::map_f8)]
#[bw(map = binrw_util::unmap_f8)]
pub a_0: Option<f64>,
pub t_ot: u32,
pub wn_ot: u8,
pub del_t_ls: i8,
pub wn_lsf: u8,
pub dn: u8,
pub del_t_lsf: i8,
#[br(parse_with = binrw::helpers::until_eof)]
pub padding: Vec<u8>,
}
impl GALUtc {
pub const SOURCE_INAV: u8 = 2;
pub const SOURCE_FNAV: u8 = 16;
}