diff options
-rw-r--r-- | src/org/traccar/protocol/Gl200ProtocolDecoder.java | 10 | ||||
-rw-r--r-- | test/org/traccar/reports/ReportUtilsTest.java | 2 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/org/traccar/protocol/Gl200ProtocolDecoder.java b/src/org/traccar/protocol/Gl200ProtocolDecoder.java index 148fc6357..385039399 100644 --- a/src/org/traccar/protocol/Gl200ProtocolDecoder.java +++ b/src/org/traccar/protocol/Gl200ProtocolDecoder.java @@ -308,7 +308,7 @@ public class Gl200ProtocolDecoder extends BaseProtocolDecoder { parser.skip(4); // alternative networks - position.set(Position.KEY_ODOMETER, parser.next()); + position.set(Position.KEY_ODOMETER, parser.nextDouble() * 1000); } private Object decodeObd(Channel channel, SocketAddress remoteAddress, String sentence) { @@ -392,7 +392,7 @@ public class Gl200ProtocolDecoder extends BaseProtocolDecoder { position.set(Position.KEY_POWER, power); } - position.set(Position.KEY_ODOMETER, parser.next()); + position.set(Position.KEY_ODOMETER, parser.nextDouble() * 1000); position.set(Position.KEY_BATTERY, parser.next()); position.set(Position.KEY_ODOMETER, parser.next()); @@ -446,7 +446,7 @@ public class Gl200ProtocolDecoder extends BaseProtocolDecoder { decodeLocation(position, parser); position.set(Position.KEY_HOURS, parser.next()); - position.set(Position.KEY_ODOMETER, parser.next()); + position.set(Position.KEY_ODOMETER, parser.nextDouble() * 1000); if (parser.hasNext(6)) { DateBuilder dateBuilder = new DateBuilder() @@ -479,7 +479,7 @@ public class Gl200ProtocolDecoder extends BaseProtocolDecoder { decodeLocation(position, parser); - position.set(Position.KEY_ODOMETER, parser.next()); + position.set(Position.KEY_ODOMETER, parser.nextDouble() * 1000); if (parser.hasNext(6)) { DateBuilder dateBuilder = new DateBuilder() @@ -518,7 +518,7 @@ public class Gl200ProtocolDecoder extends BaseProtocolDecoder { position.set(Position.KEY_ODOMETER, parser.next()); position.set(Position.KEY_BATTERY, parser.next()); - position.set(Position.KEY_ODOMETER, parser.next()); + position.set(Position.KEY_ODOMETER, parser.nextDouble() * 1000); // workaround for wrong location time if (parser.hasNext(6)) { diff --git a/test/org/traccar/reports/ReportUtilsTest.java b/test/org/traccar/reports/ReportUtilsTest.java index 2e01505db..9a30ce3a7 100644 --- a/test/org/traccar/reports/ReportUtilsTest.java +++ b/test/org/traccar/reports/ReportUtilsTest.java @@ -14,7 +14,7 @@ public class ReportUtilsTest { endPosition.set(Position.KEY_TOTAL_DISTANCE, 700.0); Assert.assertEquals(ReportUtils.calculateDistance(startPosition, endPosition), 200.0, 10); startPosition.set(Position.KEY_ODOMETER, 50000); - endPosition.set(Position.KEY_ODOMETER, 50001); + endPosition.set(Position.KEY_ODOMETER, 51000); Assert.assertEquals(ReportUtils.calculateDistance(startPosition, endPosition), 1000.0, 10); } |