aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2018-10-06 14:00:15 +1300
committerAnton Tananaev <anton.tananaev@gmail.com>2018-10-06 14:00:15 +1300
commit1166e7965e6e5dd01176ed92cc262107e8675190 (patch)
treec50c5008bea3b66ec91b0dc925979eaf692bb9b9
parent890eecd814292868c7a0bb8b8c4fb5c8c3b91f58 (diff)
downloadtrackermap-server-1166e7965e6e5dd01176ed92cc262107e8675190.tar.gz
trackermap-server-1166e7965e6e5dd01176ed92cc262107e8675190.tar.bz2
trackermap-server-1166e7965e6e5dd01176ed92cc262107e8675190.zip
Fix Intellitrac speed decoding
-rw-r--r--src/org/traccar/protocol/IntellitracProtocolDecoder.java47
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;
}