use crate::{ubx_checksum, MemWriter, MemWriterError, UbxPacketCreator, UbxPacketMeta};
use ublox_derive::ubx_packet_send;
#[ubx_packet_send]
#[ubx(class = 6, id = 8, fixed_payload_len = 6)]
struct CfgRate {
measure_rate_ms: u16,
nav_rate: u16,
#[ubx(map_type = AlignmentToReferenceTime)]
time_ref: u16,
}
#[repr(u16)]
#[derive(Clone, Copy, Debug, PartialEq)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub enum AlignmentToReferenceTime {
Utc = 0,
Gps = 1,
Glo = 2,
Bds = 3,
Gal = 4,
}
impl AlignmentToReferenceTime {
const fn into_raw(self) -> u16 {
self as u16
}
}