irox_sirf/input/
util.rs

1// SPDX-License-Identifier: MIT
2// Copyright 2023 IROX Contributors
3
4use irox_bits::{Bits, Error, MutBits};
5
6pub fn write_gpstow<T: MutBits>(out: &mut T, val: f64) -> Result<(), Error> {
7    let enc = (val * GPSTOW_SCALE).round() as u32;
8    out.write_be_u32(enc)
9}
10
11pub fn read_gpstow<T: Bits>(out: &mut T) -> Result<f64, Error> {
12    let read = out.read_be_u32()?;
13    Ok(f64::from(read) / GPSTOW_SCALE)
14}
15
16pub const GPSTOW_SCALE: f64 = 100.0;