diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2017-04-12 00:51:05 +1200 |
---|---|---|
committer | Anton Tananaev <anton.tananaev@gmail.com> | 2017-04-12 00:51:05 +1200 |
commit | 427aa11193724669fbe098fd64d327f6988a9612 (patch) | |
tree | af05999dfe897c083c675e4c26d19583dcf9fedb | |
parent | aba44d6cb91ac0b54de743dbd469ee8ca118796f (diff) | |
download | traccar-server-427aa11193724669fbe098fd64d327f6988a9612.tar.gz traccar-server-427aa11193724669fbe098fd64d327f6988a9612.tar.bz2 traccar-server-427aa11193724669fbe098fd64d327f6988a9612.zip |
Fix GL200 cell decoding issue
-rw-r--r-- | src/org/traccar/protocol/Gl200ProtocolDecoder.java | 5 | ||||
-rw-r--r-- | test/org/traccar/protocol/Gl200ProtocolDecoderTest.java | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/org/traccar/protocol/Gl200ProtocolDecoder.java b/src/org/traccar/protocol/Gl200ProtocolDecoder.java index e7ba6faeb..fc0bbd5ff 100644 --- a/src/org/traccar/protocol/Gl200ProtocolDecoder.java +++ b/src/org/traccar/protocol/Gl200ProtocolDecoder.java @@ -303,7 +303,7 @@ public class Gl200ProtocolDecoder extends BaseProtocolDecoder { .number("(d{1,7}.d)?,") // odometer .groupEnd() .number("(dddd)(dd)(dd)") // date (yyyymmdd) - .number("(dd)(dd)(dd)").optional(2) // time (hhmmss) + .number("(dd)(dd)(dd)") // time (hhmmss) .text(",") .number("(xxxx)") // count number .text("$").optional() @@ -457,7 +457,8 @@ public class Gl200ProtocolDecoder extends BaseProtocolDecoder { int mnc = parser.nextInt(); if (parser.hasNext(2)) { position.setNetwork(new Network(CellTower.from(mcc, mnc, parser.nextInt(), parser.nextInt()))); - } else { + } + if (parser.hasNext(2)) { position.setNetwork(new Network(CellTower.from(mcc, mnc, parser.nextInt(16), parser.nextInt(16)))); } } diff --git a/test/org/traccar/protocol/Gl200ProtocolDecoderTest.java b/test/org/traccar/protocol/Gl200ProtocolDecoderTest.java index 9e27ea3ee..c09b96315 100644 --- a/test/org/traccar/protocol/Gl200ProtocolDecoderTest.java +++ b/test/org/traccar/protocol/Gl200ProtocolDecoderTest.java @@ -10,6 +10,12 @@ public class Gl200ProtocolDecoderTest extends ProtocolTest { Gl200ProtocolDecoder decoder = new Gl200ProtocolDecoder(new Gl200Protocol()); + verifyNotNull(decoder, text( + "+BUFF:GTIGL,060228,862894020180553,,,00,1,1,3.4,199,409.6,-63.174466,-17.739317,20170407121823,0000,0000,0000,0000,00,15989.5,20170407081824,9606$")); + + verifyNotNull(decoder, text( + "+RESP:GTFRI,060228,862894020180553,,14827,10,1,1,3.4,199,409.6,-63.174466,-17.739317,20170407121823,0000,0000,0000,0000,00,15989.5,01070:43:13,13,180,0,220101,,,,20170407081824,9607$")); + verifyPositions(decoder, text( "+RESP:GTERI,060502,861074023376992,,00000002,27239,10,1,1,0.2,312,183.3,-79.320820,-2.499110,20170401212005,0740,0000,EE4E,C98F,00,0.0,02114:36:35,,,90,220504,2,0,0,20170401212007,9E3D$")); |