From 3afd999252dc3dc085304d85d911aabc40175ec4 Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Tue, 18 Sep 2018 10:17:02 +1200 Subject: Fix OpenGTS time decoding (fix #4057) --- src/org/traccar/protocol/OpenGtsProtocolDecoder.java | 2 +- test/org/traccar/protocol/OpenGtsProtocolDecoderTest.java | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/org/traccar/protocol/OpenGtsProtocolDecoder.java b/src/org/traccar/protocol/OpenGtsProtocolDecoder.java index 6ae3dc3ad..c1967917f 100644 --- a/src/org/traccar/protocol/OpenGtsProtocolDecoder.java +++ b/src/org/traccar/protocol/OpenGtsProtocolDecoder.java @@ -35,7 +35,7 @@ public class OpenGtsProtocolDecoder extends BaseHttpProtocolDecoder { private static final Pattern PATTERN = new PatternBuilder() .text("$GPRMC,") - .number("(dd)(dd)(dd),") // time (hhmmss) + .number("(dd)(dd)(dd)(?:.d+)?,") // time (hhmmss) .expression("([AV]),") // validity .number("(d+)(dd.d+),") // latitude .expression("([NS]),") diff --git a/test/org/traccar/protocol/OpenGtsProtocolDecoderTest.java b/test/org/traccar/protocol/OpenGtsProtocolDecoderTest.java index 0e6be8d10..5942f38d0 100644 --- a/test/org/traccar/protocol/OpenGtsProtocolDecoderTest.java +++ b/test/org/traccar/protocol/OpenGtsProtocolDecoderTest.java @@ -10,6 +10,9 @@ public class OpenGtsProtocolDecoderTest extends ProtocolTest { OpenGtsProtocolDecoder decoder = new OpenGtsProtocolDecoder(new OpenGtsProtocol()); + verifyPosition(decoder, request( + "/?id=gprmc_999000000000003&gprmc=$GPRMC,143013.0,A,5006.728217,N,01416.437869,E,0.0,329.6,281017,1.2,E,A*0E")); + verifyPosition(decoder, request( "/?id=123456789012345&dev=dev_name&acct=account&batt=0&code=0xF020&alt=160.5&gprmc=$GPRMC,191555,A,5025.46624,N,3030.39937,E,0.000000,0.000000,200218,,*2F")); -- cgit v1.2.3