use super::lib::*;
#[cfg_attr(feature = "serde", derive(serde::Serialize))]
#[derive(Debug, Clone)]
pub struct CarrierPhase {
#[cfg_attr(feature = "serde", serde(rename(serialize = "i")))]
pub i: i32,
#[cfg_attr(feature = "serde", serde(rename(serialize = "f")))]
pub f: u8,
}
impl WireFormat for CarrierPhase {
const MIN_LEN: usize = <i32 as WireFormat>::MIN_LEN + <u8 as WireFormat>::MIN_LEN;
fn len(&self) -> usize {
WireFormat::len(&self.i) + WireFormat::len(&self.f)
}
fn write<B: BufMut>(&self, buf: &mut B) {
WireFormat::write(&self.i, buf);
WireFormat::write(&self.f, buf);
}
fn parse_unchecked<B: Buf>(buf: &mut B) -> Self {
CarrierPhase {
i: WireFormat::parse_unchecked(buf),
f: WireFormat::parse_unchecked(buf),
}
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize))]
#[derive(Debug, Clone)]
pub struct GpsTime {
#[cfg_attr(feature = "serde", serde(rename(serialize = "tow")))]
pub tow: u32,
#[cfg_attr(feature = "serde", serde(rename(serialize = "ns_residual")))]
pub ns_residual: i32,
#[cfg_attr(feature = "serde", serde(rename(serialize = "wn")))]
pub wn: u16,
}
impl WireFormat for GpsTime {
const MIN_LEN: usize =
<u32 as WireFormat>::MIN_LEN + <i32 as WireFormat>::MIN_LEN + <u16 as WireFormat>::MIN_LEN;
fn len(&self) -> usize {
WireFormat::len(&self.tow) + WireFormat::len(&self.ns_residual) + WireFormat::len(&self.wn)
}
fn write<B: BufMut>(&self, buf: &mut B) {
WireFormat::write(&self.tow, buf);
WireFormat::write(&self.ns_residual, buf);
WireFormat::write(&self.wn, buf);
}
fn parse_unchecked<B: Buf>(buf: &mut B) -> Self {
GpsTime {
tow: WireFormat::parse_unchecked(buf),
ns_residual: WireFormat::parse_unchecked(buf),
wn: WireFormat::parse_unchecked(buf),
}
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize))]
#[derive(Debug, Clone)]
pub struct GpsTimeDep {
#[cfg_attr(feature = "serde", serde(rename(serialize = "tow")))]
pub tow: u32,
#[cfg_attr(feature = "serde", serde(rename(serialize = "wn")))]
pub wn: u16,
}
impl WireFormat for GpsTimeDep {
const MIN_LEN: usize = <u32 as WireFormat>::MIN_LEN + <u16 as WireFormat>::MIN_LEN;
fn len(&self) -> usize {
WireFormat::len(&self.tow) + WireFormat::len(&self.wn)
}
fn write<B: BufMut>(&self, buf: &mut B) {
WireFormat::write(&self.tow, buf);
WireFormat::write(&self.wn, buf);
}
fn parse_unchecked<B: Buf>(buf: &mut B) -> Self {
GpsTimeDep {
tow: WireFormat::parse_unchecked(buf),
wn: WireFormat::parse_unchecked(buf),
}
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize))]
#[derive(Debug, Clone)]
pub struct GpsTimeSec {
#[cfg_attr(feature = "serde", serde(rename(serialize = "tow")))]
pub tow: u32,
#[cfg_attr(feature = "serde", serde(rename(serialize = "wn")))]
pub wn: u16,
}
impl WireFormat for GpsTimeSec {
const MIN_LEN: usize = <u32 as WireFormat>::MIN_LEN + <u16 as WireFormat>::MIN_LEN;
fn len(&self) -> usize {
WireFormat::len(&self.tow) + WireFormat::len(&self.wn)
}
fn write<B: BufMut>(&self, buf: &mut B) {
WireFormat::write(&self.tow, buf);
WireFormat::write(&self.wn, buf);
}
fn parse_unchecked<B: Buf>(buf: &mut B) -> Self {
GpsTimeSec {
tow: WireFormat::parse_unchecked(buf),
wn: WireFormat::parse_unchecked(buf),
}
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize))]
#[derive(Debug, Clone)]
pub struct GnssSignal {
#[cfg_attr(feature = "serde", serde(rename(serialize = "sat")))]
pub sat: u8,
#[cfg_attr(feature = "serde", serde(rename(serialize = "code")))]
pub code: u8,
}
impl WireFormat for GnssSignal {
const MIN_LEN: usize = <u8 as WireFormat>::MIN_LEN + <u8 as WireFormat>::MIN_LEN;
fn len(&self) -> usize {
WireFormat::len(&self.sat) + WireFormat::len(&self.code)
}
fn write<B: BufMut>(&self, buf: &mut B) {
WireFormat::write(&self.sat, buf);
WireFormat::write(&self.code, buf);
}
fn parse_unchecked<B: Buf>(buf: &mut B) -> Self {
GnssSignal {
sat: WireFormat::parse_unchecked(buf),
code: WireFormat::parse_unchecked(buf),
}
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize))]
#[derive(Debug, Clone)]
pub struct GnssSignalDep {
#[cfg_attr(feature = "serde", serde(rename(serialize = "sat")))]
pub sat: u16,
#[cfg_attr(feature = "serde", serde(rename(serialize = "code")))]
pub code: u8,
#[cfg_attr(feature = "serde", serde(rename(serialize = "reserved")))]
pub reserved: u8,
}
impl WireFormat for GnssSignalDep {
const MIN_LEN: usize =
<u16 as WireFormat>::MIN_LEN + <u8 as WireFormat>::MIN_LEN + <u8 as WireFormat>::MIN_LEN;
fn len(&self) -> usize {
WireFormat::len(&self.sat) + WireFormat::len(&self.code) + WireFormat::len(&self.reserved)
}
fn write<B: BufMut>(&self, buf: &mut B) {
WireFormat::write(&self.sat, buf);
WireFormat::write(&self.code, buf);
WireFormat::write(&self.reserved, buf);
}
fn parse_unchecked<B: Buf>(buf: &mut B) -> Self {
GnssSignalDep {
sat: WireFormat::parse_unchecked(buf),
code: WireFormat::parse_unchecked(buf),
reserved: WireFormat::parse_unchecked(buf),
}
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize))]
#[derive(Debug, Clone)]
pub struct SvId {
#[cfg_attr(feature = "serde", serde(rename(serialize = "satId")))]
pub sat_id: u8,
#[cfg_attr(feature = "serde", serde(rename(serialize = "constellation")))]
pub constellation: u8,
}
impl WireFormat for SvId {
const MIN_LEN: usize = <u8 as WireFormat>::MIN_LEN + <u8 as WireFormat>::MIN_LEN;
fn len(&self) -> usize {
WireFormat::len(&self.sat_id) + WireFormat::len(&self.constellation)
}
fn write<B: BufMut>(&self, buf: &mut B) {
WireFormat::write(&self.sat_id, buf);
WireFormat::write(&self.constellation, buf);
}
fn parse_unchecked<B: Buf>(buf: &mut B) -> Self {
SvId {
sat_id: WireFormat::parse_unchecked(buf),
constellation: WireFormat::parse_unchecked(buf),
}
}
}