From e098aebc65868c953d85ab5bcb31dc343c5ddef6 Mon Sep 17 00:00:00 2001 From: Abyss777 Date: Thu, 25 Aug 2016 14:16:19 +0500 Subject: A few more odometer units organization --- src/org/traccar/protocol/AstraProtocolDecoder.java | 2 +- src/org/traccar/protocol/GoSafeProtocolDecoder.java | 5 +++-- src/org/traccar/protocol/HuaShengProtocolDecoder.java | 2 +- src/org/traccar/protocol/MtxProtocolDecoder.java | 2 +- src/org/traccar/protocol/TaipProtocolDecoder.java | 2 +- src/org/traccar/protocol/VisiontekProtocolDecoder.java | 4 ++-- 6 files changed, 9 insertions(+), 8 deletions(-) (limited to 'src/org/traccar') 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()); -- cgit v1.2.3