aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/org/traccar/protocol/AstraProtocolDecoder.java2
-rw-r--r--src/org/traccar/protocol/GoSafeProtocolDecoder.java5
-rw-r--r--src/org/traccar/protocol/HuaShengProtocolDecoder.java2
-rw-r--r--src/org/traccar/protocol/MtxProtocolDecoder.java2
-rw-r--r--src/org/traccar/protocol/TaipProtocolDecoder.java2
-rw-r--r--src/org/traccar/protocol/VisiontekProtocolDecoder.java4
6 files changed, 9 insertions, 8 deletions
diff --git a/src/org/traccar/protocol/AstraProtocolDecoder.java b/src/org/traccar/protocol/AstraProtocolDecoder.java
index 6880047a9..1889fd3b9 100644
--- a/src/org/traccar/protocol/AstraProtocolDecoder.java
+++ b/src/org/traccar/protocol/AstraProtocolDecoder.java
@@ -103,7 +103,7 @@ public class AstraProtocolDecoder extends BaseProtocolDecoder {
if (BitUtil.check(reason, 6) || BitUtil.check(reason, 7)) {
position.set(Position.KEY_RFID, buf.readBytes(7).toString(StandardCharsets.US_ASCII));
- position.set(Position.KEY_ODOMETER, buf.readUnsignedMedium());
+ position.set(Position.KEY_ODOMETER, buf.readUnsignedMedium() * 1000);
buf.readUnsignedShort(); // engine time
diff --git a/src/org/traccar/protocol/GoSafeProtocolDecoder.java b/src/org/traccar/protocol/GoSafeProtocolDecoder.java
index 8ce53cc40..a511f9926 100644
--- a/src/org/traccar/protocol/GoSafeProtocolDecoder.java
+++ b/src/org/traccar/protocol/GoSafeProtocolDecoder.java
@@ -156,8 +156,9 @@ public class GoSafeProtocolDecoder extends BaseProtocolDecoder {
position.set(Position.KEY_LAC, parser.nextInt(16));
position.set(Position.KEY_CID, parser.nextInt(16));
}
-
- position.set(Position.KEY_ODOMETER, parser.next());
+ if (parser.hasNext()) {
+ position.set(Position.KEY_ODOMETER, parser.nextInt());
+ }
position.set(Position.KEY_POWER, parser.next());
position.set(Position.KEY_BATTERY, parser.next());
diff --git a/src/org/traccar/protocol/HuaShengProtocolDecoder.java b/src/org/traccar/protocol/HuaShengProtocolDecoder.java
index e7c83d3b3..cbe931bd0 100644
--- a/src/org/traccar/protocol/HuaShengProtocolDecoder.java
+++ b/src/org/traccar/protocol/HuaShengProtocolDecoder.java
@@ -119,7 +119,7 @@ public class HuaShengProtocolDecoder extends BaseProtocolDecoder {
position.setCourse(buf.readUnsignedShort());
position.setAltitude(buf.readUnsignedShort());
- position.set(Position.KEY_ODOMETER, buf.readUnsignedShort());
+ position.set(Position.KEY_ODOMETER, buf.readUnsignedShort() * 1000);
while (buf.readableBytes() > 4) {
buf.readUnsignedShort(); // subtype
diff --git a/src/org/traccar/protocol/MtxProtocolDecoder.java b/src/org/traccar/protocol/MtxProtocolDecoder.java
index e39c73d17..6a6677830 100644
--- a/src/org/traccar/protocol/MtxProtocolDecoder.java
+++ b/src/org/traccar/protocol/MtxProtocolDecoder.java
@@ -89,7 +89,7 @@ public class MtxProtocolDecoder extends BaseProtocolDecoder {
position.setSpeed(parser.nextDouble());
position.setCourse(parser.nextDouble());
- position.set(Position.KEY_ODOMETER, parser.nextDouble());
+ position.set(Position.KEY_ODOMETER, parser.nextDouble() * 1000);
position.set(Position.KEY_INPUT, parser.next());
position.set(Position.KEY_OUTPUT, parser.next());
position.set(Position.PREFIX_ADC + 1, parser.next());
diff --git a/src/org/traccar/protocol/TaipProtocolDecoder.java b/src/org/traccar/protocol/TaipProtocolDecoder.java
index 811db774c..11acbd343 100644
--- a/src/org/traccar/protocol/TaipProtocolDecoder.java
+++ b/src/org/traccar/protocol/TaipProtocolDecoder.java
@@ -154,7 +154,7 @@ public class TaipProtocolDecoder extends BaseProtocolDecoder {
break;
case "vo":
- position.set(Position.KEY_ODOMETER, value);
+ position.set(Position.KEY_ODOMETER, Long.parseLong(value));
break;
default:
diff --git a/src/org/traccar/protocol/VisiontekProtocolDecoder.java b/src/org/traccar/protocol/VisiontekProtocolDecoder.java
index e2c9b86ba..49c5dcc44 100644
--- a/src/org/traccar/protocol/VisiontekProtocolDecoder.java
+++ b/src/org/traccar/protocol/VisiontekProtocolDecoder.java
@@ -113,7 +113,7 @@ public class VisiontekProtocolDecoder extends BaseProtocolDecoder {
if (parser.hasNext(9)) {
position.setAltitude(parser.nextDouble());
position.set(Position.KEY_SATELLITES, parser.next());
- position.set(Position.KEY_ODOMETER, parser.next());
+ position.set(Position.KEY_ODOMETER, parser.nextInt() * 1000);
position.set(Position.KEY_IGNITION, parser.next().equals("1"));
position.set(Position.PREFIX_IO + 1, parser.next());
position.set(Position.PREFIX_IO + 2, parser.next());
@@ -125,7 +125,7 @@ public class VisiontekProtocolDecoder extends BaseProtocolDecoder {
if (parser.hasNext(7)) {
position.set(Position.KEY_HDOP, parser.next());
position.setAltitude(parser.nextDouble());
- position.set(Position.KEY_ODOMETER, parser.next());
+ position.set(Position.KEY_ODOMETER, parser.nextInt() * 1000);
position.set(Position.KEY_INPUT, parser.next());
position.set(Position.KEY_OUTPUT, parser.next());
position.set(Position.PREFIX_ADC + 1, parser.next());