aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2017-04-12 00:51:05 +1200
committerAnton Tananaev <anton.tananaev@gmail.com>2017-04-12 00:51:05 +1200
commit427aa11193724669fbe098fd64d327f6988a9612 (patch)
treeaf05999dfe897c083c675e4c26d19583dcf9fedb
parentaba44d6cb91ac0b54de743dbd469ee8ca118796f (diff)
downloadtraccar-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.java5
-rw-r--r--test/org/traccar/protocol/Gl200ProtocolDecoderTest.java6
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$"));