aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2012-07-31 22:40:27 +0400
committerAnton Tananaev <anton.tananaev@gmail.com>2012-07-31 22:40:27 +0400
commitfba1e6f6f43b35a520a5bd09f45796287b06293f (patch)
treed2267e5c3a61f176059135919facb2154033db1c
parentbafb4ecde1ecd7d376fd43c3cb58107fc0a16ee3 (diff)
downloadtraccar-server-fba1e6f6f43b35a520a5bd09f45796287b06293f.tar.gz
traccar-server-fba1e6f6f43b35a520a5bd09f45796287b06293f.tar.bz2
traccar-server-fba1e6f6f43b35a520a5bd09f45796287b06293f.zip
Fix GL200 decoder (fix #33)
-rw-r--r--src/org/traccar/protocol/Gl200ProtocolDecoder.java2
-rw-r--r--test/org/traccar/protocol/Gl200ProtocolDecoderTest.java13
2 files changed, 9 insertions, 6 deletions
diff --git a/src/org/traccar/protocol/Gl200ProtocolDecoder.java b/src/org/traccar/protocol/Gl200ProtocolDecoder.java
index 506b55790..63def5ddf 100644
--- a/src/org/traccar/protocol/Gl200ProtocolDecoder.java
+++ b/src/org/traccar/protocol/Gl200ProtocolDecoder.java
@@ -42,7 +42,7 @@ public class Gl200ProtocolDecoder extends GenericProtocolDecoder {
*/
static private Pattern pattern = Pattern.compile(
"\\+RESP:GT...," +
- "\\d{6}," + // Protocol version
+ "[0-9a-fA-F]{6}," + // Protocol version
"(\\d{15})," + // IMEI
"[^,]*," + // Device name
"(?:(?:\\d," + // Report ID / Geo mode
diff --git a/test/org/traccar/protocol/Gl200ProtocolDecoderTest.java b/test/org/traccar/protocol/Gl200ProtocolDecoderTest.java
index b14a0c141..80d5c8377 100644
--- a/test/org/traccar/protocol/Gl200ProtocolDecoderTest.java
+++ b/test/org/traccar/protocol/Gl200ProtocolDecoderTest.java
@@ -7,27 +7,30 @@ public class Gl200ProtocolDecoderTest {
@Test
public void testDecode() throws Exception {
-
+
Gl200ProtocolDecoder decoder = new Gl200ProtocolDecoder(new TestDataManager(), 0);
-
+
assertNotNull(decoder.decode(null, null,
"+RESP:GTFRI,020102,000035988863964,,0,0,1,1,4.3,92,70.0,121.354335,31.222073,20090214013254,0460,0000,18d8,6141,00,,20090214093254,11F0"));
assertNotNull(decoder.decode(null, null,
"+RESP:GTFRI,020102,135790246811220,,0,0,1,1,4.3,92,70.0,121.354335,31.222073,20090214013254,0460,0000,18d8,6141,00,,20090214093254,11F0"));
-
+
assertNotNull(decoder.decode(null, null,
"+RESP:GTFRI,020102,135790246811220,,0,0,2,1,4.3,92,70.0,121.354335,31.222073,20090214013254,0460,0000,18d8,6141,00,0,4.3,92,70.0,121.354335,31.222073,20090101000000,0460,0000,18d8,6141,00,,20090214093254,11F0"));
-
+
assertNotNull(decoder.decode(null, null,
"+RESP:GTDOG,020102,135790246811220,,0,0,1,1,4.3,92,70.0,121.354335,31.222073,20090214013254,0460,0000,18d8,6141,00,2000.0,20090214093254,11F0"));
assertNotNull(decoder.decode(null, null,
"+RESP:GTLBC,020102,135790246811220,,+8613800000000,1,4.3,92,70.0,121.354335,31.222073,20090214013254,0460,0000,18d8,6141,00,,20090214093254,11F0"));
-
+
assertNotNull(decoder.decode(null, null,
"+RESP:GTGCR,020102,135790246811220,,3,50,180,2,0.4,296,-5.4,121.391055,31.164473,20100714104934,0460,0000,1878,0873,00,,20100714104934,000C"));
+ assertNotNull(decoder.decode(null, null,
+ "+RESP:GTFRI,07000D,868487001005941,,0,0,1,1,0.0,0,46.3,-77.039627,38.907573,20120731175232,0310,0260,B44B,EBC9,0015e96913a7,-58,,100,20120731175244,0114"));
+
}
}