From 511a7adb8bb39d1523b2f366c2288b2d0cb8b9a9 Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Sat, 25 Mar 2017 20:27:43 +1300 Subject: Adjustments to Telic decoder --- src/org/traccar/protocol/TelicProtocolDecoder.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/org/traccar/protocol/TelicProtocolDecoder.java b/src/org/traccar/protocol/TelicProtocolDecoder.java index f6be15cce..bbd4b0574 100644 --- a/src/org/traccar/protocol/TelicProtocolDecoder.java +++ b/src/org/traccar/protocol/TelicProtocolDecoder.java @@ -50,11 +50,11 @@ public class TelicProtocolDecoder extends BaseProtocolDecoder { .number("(d),") // validity .number("(d+),") // speed .number("(d+),") // course - .number("(d+),") // satellites + .number("(d+)?,") // satellites .expression("(?:[^,]*,){7}") .number("(d+),") // battery .expression("[^,]*,") - .number("(d+),") // external + .number("(d+)") // external .any() .compile(); @@ -125,9 +125,12 @@ public class TelicProtocolDecoder extends BaseProtocolDecoder { position.setSpeed(UnitsConverter.knotsFromKph(parser.nextDouble())); position.setCourse(parser.nextDouble()); - position.set(Position.KEY_SATELLITES, parser.next()); - position.set(Position.KEY_BATTERY, 3.4 + parser.nextInt() * 0.00345); - position.set(Position.KEY_POWER, 6.0 + parser.nextInt() * 0.125); + if (parser.hasNext()) { + position.set(Position.KEY_SATELLITES, parser.nextInt()); + } + + position.set(Position.KEY_BATTERY, parser.nextInt()); + position.set(Position.KEY_POWER, parser.nextInt()); return position; } -- cgit v1.2.3