Compare commits
1 Commits
main
...
299ac0f1cf
Author | SHA1 | Date | |
---|---|---|---|
|
299ac0f1cf |
2
Cargo.lock
generated
2
Cargo.lock
generated
@@ -102,7 +102,7 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gps_parser"
|
name = "gps_parser"
|
||||||
version = "0.3.1"
|
version = "0.2.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"chrono",
|
"chrono",
|
||||||
"nmea-parser",
|
"nmea-parser",
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "gps_parser"
|
name = "gps_parser"
|
||||||
version = "0.3.1"
|
version = "0.2.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
28
src/lib.rs
28
src/lib.rs
@@ -6,10 +6,10 @@ use nmea_parser::*;
|
|||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub struct ParseResult {
|
pub struct ParseResult {
|
||||||
pub lat: f64,
|
lat: f64,
|
||||||
pub lon: f64,
|
lon: f64,
|
||||||
pub timestamp: DateTime<Utc>,
|
timestamp: DateTime<Utc>,
|
||||||
pub speed: f64,
|
speed: f64
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct GpsParser {
|
pub struct GpsParser {
|
||||||
@@ -50,25 +50,13 @@ impl GpsParser {
|
|||||||
match parser.parse_sentence(&line)? {
|
match parser.parse_sentence(&line)? {
|
||||||
ParsedMessage::Gga(gga) => {
|
ParsedMessage::Gga(gga) => {
|
||||||
parsed_gga = true;
|
parsed_gga = true;
|
||||||
res.lat = match gga.latitude {
|
res.lat = gga.latitude.unwrap();
|
||||||
Some(value) => value,
|
res.lon = gga.longitude.unwrap();
|
||||||
_none => 0.0,
|
res.timestamp = gga.timestamp.unwrap();
|
||||||
};
|
|
||||||
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) => {
|
ParsedMessage::Vtg(vtg) => {
|
||||||
parsed_vtg = true;
|
parsed_vtg = true;
|
||||||
res.speed = match vtg.sog_kph {
|
res.speed = vtg.sog_kph.unwrap();
|
||||||
Some(value) => value,
|
|
||||||
_none => 0.0,
|
|
||||||
};
|
|
||||||
},
|
},
|
||||||
_ => {
|
_ => {
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user