Fix: Handle options of nmea messages

This commit is contained in:
Thomas Klaehn 2025-01-16 13:55:19 +01:00
parent 299c4f5a5f
commit 5eda664a47
3 changed files with 18 additions and 6 deletions

2
Cargo.lock generated
View File

@ -102,7 +102,7 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
[[package]]
name = "gps_parser"
version = "0.2.0"
version = "0.3.1"
dependencies = [
"chrono",
"nmea-parser",

View File

@ -1,6 +1,6 @@
[package]
name = "gps_parser"
version = "0.3.0"
version = "0.3.1"
edition = "2021"
[dependencies]

View File

@ -50,13 +50,25 @@ impl GpsParser {
match parser.parse_sentence(&line)? {
ParsedMessage::Gga(gga) => {
parsed_gga = true;
res.lat = gga.latitude.unwrap();
res.lon = gga.longitude.unwrap();
res.timestamp = gga.timestamp.unwrap();
res.lat = match gga.latitude {
Some(value) => value,
_none => 0.0,
};
res.lon = match gga.longitude {
Some(value) => value,
_none => 0.0,
};
res.timestamp = match gga.timestamp {
Some(value) => value,
_none => Utc::now(),
};
},
ParsedMessage::Vtg(vtg) => {
parsed_vtg = true;
res.speed = vtg.sog_kph.unwrap();
res.speed = match vtg.sog_kph {
Some(value) => value,
_none => 0.0,
};
},
_ => {
}