X-Git-Url: http://git.code-monkey.de/?p=gps-watch.git;a=blobdiff_plain;f=src%2Fcommon%2Fgps.rs;h=b0539173272bbe5b5a0fc833deb8eb8b4899f278;hp=b9fcbc3f23d9a732676082fbc3cccac4d2535310;hb=9a8a254d92e81cb9030dce2ff7055160ea042246;hpb=defaea09b33884a4dd17f89e11c7a565605ae2d2 diff --git a/src/common/gps.rs b/src/common/gps.rs index b9fcbc3..b053917 100644 --- a/src/common/gps.rs +++ b/src/common/gps.rs @@ -209,13 +209,17 @@ impl Gps { let hexdigits = b"0123456789abcdef"; while let Some(received) = try_read() { + if received == b'$' { + self.state = ParseState::InPacket; + self.offset = 0; + self.checksum = 0x00; + + continue; + } + match self.state { ParseState::Start => { - if received == b'$' { - self.state = ParseState::InPacket; - self.offset = 0; - self.checksum = 0x00; - } + // Empty. }, ParseState::InPacket => { if received == b'*' {