diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2018-10-06 14:00:15 +1300 |
---|---|---|
committer | Anton Tananaev <anton.tananaev@gmail.com> | 2018-10-06 14:00:15 +1300 |
commit | 1166e7965e6e5dd01176ed92cc262107e8675190 (patch) | |
tree | c50c5008bea3b66ec91b0dc925979eaf692bb9b9 /src/org/traccar/protocol/IntellitracProtocolDecoder.java | |
parent | 890eecd814292868c7a0bb8b8c4fb5c8c3b91f58 (diff) | |
download | traccar-server-1166e7965e6e5dd01176ed92cc262107e8675190.tar.gz traccar-server-1166e7965e6e5dd01176ed92cc262107e8675190.tar.bz2 traccar-server-1166e7965e6e5dd01176ed92cc262107e8675190.zip |
Fix Intellitrac speed decoding
Diffstat (limited to 'src/org/traccar/protocol/IntellitracProtocolDecoder.java')
-rw-r--r-- | src/org/traccar/protocol/IntellitracProtocolDecoder.java | 47 |
1 files changed, 23 insertions, 24 deletions
diff --git a/src/org/traccar/protocol/IntellitracProtocolDecoder.java b/src/org/traccar/protocol/IntellitracProtocolDecoder.java index 58898f8fd..fc9f749dd 100644 --- a/src/org/traccar/protocol/IntellitracProtocolDecoder.java +++ b/src/org/traccar/protocol/IntellitracProtocolDecoder.java @@ -20,6 +20,7 @@ import org.traccar.BaseProtocolDecoder; import org.traccar.DeviceSession; import org.traccar.helper.Parser; import org.traccar.helper.PatternBuilder; +import org.traccar.helper.UnitsConverter; import org.traccar.model.Position; import java.net.SocketAddress; @@ -82,34 +83,32 @@ public class IntellitracProtocolDecoder extends BaseProtocolDecoder { position.setTime(parser.nextDateTime()); - position.setLongitude(parser.nextDouble(0)); - position.setLatitude(parser.nextDouble(0)); - position.setSpeed(parser.nextDouble(0)); - position.setCourse(parser.nextDouble(0)); - position.setAltitude(parser.nextDouble(0)); + position.setValid(true); + position.setLongitude(parser.nextDouble()); + position.setLatitude(parser.nextDouble()); + position.setSpeed(UnitsConverter.knotsFromKph(parser.nextDouble())); + position.setCourse(parser.nextDouble()); + position.setAltitude(parser.nextDouble()); - int satellites = parser.nextInt(0); - position.setValid(satellites >= 3); - position.set(Position.KEY_SATELLITES, satellites); + position.set(Position.KEY_SATELLITES, parser.nextInt()); + position.set(Position.KEY_INDEX, parser.nextLong()); + position.set(Position.KEY_INPUT, parser.nextInt()); + position.set(Position.KEY_OUTPUT, parser.nextInt()); - position.set(Position.KEY_INDEX, parser.nextLong(0)); - position.set(Position.KEY_INPUT, parser.nextInt(0)); - position.set(Position.KEY_OUTPUT, parser.nextInt(0)); - - position.set(Position.PREFIX_ADC + 1, parser.nextDouble(0)); - position.set(Position.PREFIX_ADC + 2, parser.nextDouble(0)); + position.set(Position.PREFIX_ADC + 1, parser.nextDouble()); + position.set(Position.PREFIX_ADC + 2, parser.nextDouble()); // J1939 data - position.set(Position.KEY_OBD_SPEED, parser.nextInt(0)); - position.set(Position.KEY_RPM, parser.nextInt(0)); - position.set("coolant", parser.nextInt(0)); - position.set(Position.KEY_FUEL_LEVEL, parser.nextInt(0)); - position.set(Position.KEY_FUEL_CONSUMPTION, parser.nextInt(0)); - position.set(Position.PREFIX_TEMP + 1, parser.nextInt(0)); - position.set("chargerPressure", parser.nextInt(0)); - position.set("tpl", parser.nextInt(0)); - position.set(Position.KEY_AXLE_WEIGHT, parser.nextInt(0)); - position.set(Position.KEY_OBD_ODOMETER, parser.nextInt(0)); + position.set(Position.KEY_OBD_SPEED, parser.nextInt()); + position.set(Position.KEY_RPM, parser.nextInt()); + position.set("coolant", parser.nextInt()); + position.set(Position.KEY_FUEL_LEVEL, parser.nextInt()); + position.set(Position.KEY_FUEL_CONSUMPTION, parser.nextInt()); + position.set(Position.PREFIX_TEMP + 1, parser.nextInt()); + position.set("chargerPressure", parser.nextInt()); + position.set("tpl", parser.nextInt()); + position.set(Position.KEY_AXLE_WEIGHT, parser.nextInt()); + position.set(Position.KEY_OBD_ODOMETER, parser.nextInt()); return position; } |