Struct cansat_gps::Gps
source · pub struct Gps<Serial, const MAX_NMEA_LEN: usize> { /* private fields */ }
Expand description
Gps driver.
It implements double buffering to ensure that you can always read the latest message received.
MAX_NMEA_LEN
is a maximum length of an NMEA message including $ and [CR][LF].
Examples
use cansat_gps::Gps;
use heapless::Vec;
let mut gps: Gps<_, 82> = Gps::new(uart);
let msg = loop {
let (b, is_new_msg) = gps.read_serial().unwrap();
if is_new_msg {
break gps.last_nmea().unwrap();
}
};
Implementations§
Auto Trait Implementations§
impl<Serial, const MAX_NMEA_LEN: usize> RefUnwindSafe for Gps<Serial, MAX_NMEA_LEN>where Serial: RefUnwindSafe,
impl<Serial, const MAX_NMEA_LEN: usize> Send for Gps<Serial, MAX_NMEA_LEN>where Serial: Send,
impl<Serial, const MAX_NMEA_LEN: usize> Sync for Gps<Serial, MAX_NMEA_LEN>where Serial: Sync,
impl<Serial, const MAX_NMEA_LEN: usize> Unpin for Gps<Serial, MAX_NMEA_LEN>where Serial: Unpin,
impl<Serial, const MAX_NMEA_LEN: usize> UnwindSafe for Gps<Serial, MAX_NMEA_LEN>where Serial: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more