diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2018-02-13 01:18:15 +1300 |
---|---|---|
committer | Anton Tananaev <anton.tananaev@gmail.com> | 2018-02-13 01:18:15 +1300 |
commit | 6d259427bc72f1e48662a60542832cc73945e800 (patch) | |
tree | eb2a284a6076ee7aa15911434eb692cdc42de7ab /src | |
parent | 7802fa7bc91de74e17e79dd5175df31de36d17a8 (diff) | |
download | traccar-server-6d259427bc72f1e48662a60542832cc73945e800.tar.gz traccar-server-6d259427bc72f1e48662a60542832cc73945e800.tar.bz2 traccar-server-6d259427bc72f1e48662a60542832cc73945e800.zip |
Handle missing GV65 CAN data
Diffstat (limited to 'src')
-rw-r--r-- | src/org/traccar/protocol/Gl200TextProtocolDecoder.java | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/org/traccar/protocol/Gl200TextProtocolDecoder.java b/src/org/traccar/protocol/Gl200TextProtocolDecoder.java index d32f0a71f..e664c4734 100644 --- a/src/org/traccar/protocol/Gl200TextProtocolDecoder.java +++ b/src/org/traccar/protocol/Gl200TextProtocolDecoder.java @@ -1,5 +1,5 @@ /* - * Copyright 2012 - 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2012 - 2018 Anton Tananaev (anton@traccar.org) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -554,14 +554,14 @@ public class Gl200TextProtocolDecoder extends BaseProtocolDecoder { if (BitUtil.check(reportMask, 3)) { position.set("totalFuelConsumption", Double.parseDouble(values[index++])); } - if (BitUtil.check(reportMask, 5)) { - position.set(Position.KEY_RPM, Integer.parseInt(values[index++])); + if (BitUtil.check(reportMask, 5) && !values[index++].isEmpty()) { + position.set(Position.KEY_RPM, Integer.parseInt(values[index - 1])); } - if (BitUtil.check(reportMask, 4)) { - position.set(Position.KEY_OBD_SPEED, UnitsConverter.knotsFromKph(Integer.parseInt(values[index++]))); + if (BitUtil.check(reportMask, 4) && !values[index++].isEmpty()) { + position.set(Position.KEY_OBD_SPEED, UnitsConverter.knotsFromKph(Integer.parseInt(values[index - 1]))); } - if (BitUtil.check(reportMask, 6)) { - position.set(Position.KEY_COOLANT_TEMP, Integer.parseInt(values[index++])); + if (BitUtil.check(reportMask, 6) && !values[index++].isEmpty()) { + position.set(Position.KEY_COOLANT_TEMP, Integer.parseInt(values[index - 1])); } if (BitUtil.check(reportMask, 7) && !values[index++].isEmpty()) { position.set(Position.KEY_FUEL_CONSUMPTION, Double.parseDouble(values[index - 1].substring(1))); |