use deku::prelude::*;
#[derive(
Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Debug, Default, DekuRead, DekuWrite,
)]
#[deku(endian = "endian", ctx = "endian: deku::ctx::Endian")]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct FormattedGps {
w1: u32,
ts1: u32,
ts2: u32,
ts3: u32,
latitude: i32,
longitude: i32,
altitude: i32,
speed_over_ground: i32,
heading_angle: i32,
track_angle: i32,
magnetic_variation: i32,
}
impl FormattedGps {
pub fn size_words(&self) -> u16 {
(std::mem::size_of_val(self) / std::mem::size_of::<u32>()) as u16
}
}