Skip to content

Commit 8beead9

Browse files
committed
fix: Debug impl for Nmea call it self
comment #2
1 parent 8e4691b commit 8beead9

File tree

3 files changed

+57
-7
lines changed

3 files changed

+57
-7
lines changed

Diff for: src/lib.rs

+1-7
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ use chrono::{NaiveDate, NaiveTime};
4141
pub use parse::{parse, GgaData, GsaData, GsvData, ParseResult, RmcData, RmcStatusOfFix, VtgData};
4242

4343
/// NMEA parser
44-
#[derive(Default)]
44+
#[derive(Default, Debug)]
4545
pub struct Nmea {
4646
pub fix_time: Option<NaiveTime>,
4747
pub fix_date: Option<NaiveDate>,
@@ -359,12 +359,6 @@ impl<'a> Nmea {
359359
}
360360
}
361361

362-
impl fmt::Debug for Nmea {
363-
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
364-
write!(f, "{:?}", self)
365-
}
366-
}
367-
368362
impl fmt::Display for Nmea {
369363
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
370364
write!(

Diff for: tests/file_log_parser.rs

+19
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,22 @@ fn test_parse_file_log() {
3737
.collect();
3838
assert_eq!(expected, res);
3939
}
40+
41+
#[test]
42+
fn test_parse_issue_2() {
43+
let mut input = BufReader::new(File::open(&Path::new("tests").join("nmea2.log")).unwrap());
44+
let mut nmea = nmea::Nmea::new();
45+
for _ in 0..100 {
46+
let mut buffer = String::new();
47+
let size = input.read_line(&mut buffer).unwrap();
48+
eprintln!("buffer = {:?}", buffer);
49+
if size > 0 {
50+
if buffer.as_bytes()[0] == b'$' {
51+
let _ = nmea.parse(&buffer);
52+
println!("{:?}", nmea);
53+
}
54+
} else {
55+
break;
56+
}
57+
}
58+
}

Diff for: tests/nmea2.log

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
$GNVTG,,,,,,,,,N*2E
2+
$GNGNS,181604.00,,,,,NN,00,99.99,,,,*59
3+
$GNGGA,181604.00,,,,,0,00,99.99,,,,,,*72
4+
$GNGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*2E
5+
$GNGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*2E
6+
$GPGSV,4,1,13,02,35,291,,03,09,129,,05,14,305,,06,38,226,*7D
7+
$GPGSV,4,2,13,07,56,177,,09,70,067,,16,20,055,,23,41,076,*77
8+
$GPGSV,4,3,13,26,10,030,,29,05,341,,30,26,199,,36,30,158,*7E
9+
$GPGSV,4,4,13,49,32,192,*4D
10+
$GLGSV,3,1,10,66,45,091,,67,67,334,,68,17,297,,75,13,025,*68
11+
$GLGSV,3,2,10,76,49,059,,77,40,156,,78,00,183,,82,15,246,*68
12+
$GLGSV,3,3,10,83,28,298,,84,10,352,*6F
13+
$GNGLL,,,,,181604.00,V,N*5E
14+
$GNGRS,181604.00,1,,,,,,,,,,,,*5A
15+
$GNGRS,181604.00,1,,,,,,,,,,,,*5A
16+
$GNGST,181604.00,0.0000,,,,5773795,5773795,5773794*4F
17+
$GNZDA,181604.00,12,09,2018,00,00*73
18+
$GNGBS,181604.00,,,,,,,*7B
19+
$GNTXT,01,01,02,u-blox AG - www.u-blox.com*4E
20+
$GNTXT,01,01,02,HW UBX-M8030 00080000*60
21+
$GNTXT,01,01,02,EXT CORE 3.01 (107900)*33
22+
$GNTXT,01,01,02,ROM BASE 3.01 (107888)*25
23+
$GNTXT,01,01,02,FWVER=SPG 3.01*46
24+
$GNTXT,01,01,02,PROTVER=18.00*11
25+
$GNTXT,01,01,02,MOD=NEO-M8N-0*67
26+
$GNTXT,01,01,02,FIS=0xC22536 (100111)*28
27+
$GNTXT,01,01,02,GPS;GLO;GAL;BDS*77
28+
$GNTXT,01,01,02,SBAS;IMES;QZSS*49
29+
$GNTXT,01,01,02,GNSS OTP=GPS;GLO*37
30+
$GNTXT,01,01,02,LLC=FFFFFFFF-FFFFFFED-FFFFFFFF-FFFFFFFF-FFFFFF69*23
31+
$GNTXT,01,01,02,ANTSUPERV=AC SD PDoS SR*3E
32+
$GNTXT,01,01,02,ANTSTATUS=OK*25
33+
$GNTXT,01,01,02,PF=3FF*4B
34+
$GNVTG,,,,,,,,,N*2E
35+
$GNGNS,181605.00,,,,,NN,00,99.99,,,,*58
36+
$GNGGA,181605.00,,,,,0,00,99.99,,,,,,*73
37+

0 commit comments

Comments
 (0)