From b0fed2ff54b79a47c61e9c6d0ac39963fd4a3a67 Mon Sep 17 00:00:00 2001 From: jon-stumpf Date: Fri, 17 Mar 2017 10:02:36 -0400 Subject: Implemented capture of milliseconds in ExtremTrac, Megastek, and Tlt2h protocols; --- src/org/traccar/protocol/ExtremTracProtocolDecoder.java | 4 ++-- src/org/traccar/protocol/MegastekProtocolDecoder.java | 4 ++-- src/org/traccar/protocol/Tlt2hProtocolDecoder.java | 5 ++--- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/org/traccar/protocol/ExtremTracProtocolDecoder.java b/src/org/traccar/protocol/ExtremTracProtocolDecoder.java index 9af7fc9eb..deb1ed24b 100644 --- a/src/org/traccar/protocol/ExtremTracProtocolDecoder.java +++ b/src/org/traccar/protocol/ExtremTracProtocolDecoder.java @@ -35,7 +35,7 @@ public class ExtremTracProtocolDecoder extends BaseProtocolDecoder { private static final Pattern PATTERN = new PatternBuilder() .text("$GPRMC,") .number("(d+),") // device id - .number("(dd)(dd)(dd).d+,") // time (hhmmss.ms) + .number("(dd)(dd)(dd).(ddd),") // time (hhmmss.sss) .expression("([AV]),") // validity .number("(d+)(dd.d+),") // latitude .expression("([NS]),") @@ -66,7 +66,7 @@ public class ExtremTracProtocolDecoder extends BaseProtocolDecoder { position.setDeviceId(deviceSession.getDeviceId()); DateBuilder dateBuilder = new DateBuilder() - .setTime(parser.nextInt(), parser.nextInt(), parser.nextInt()); + .setTime(parser.nextInt(), parser.nextInt(), parser.nextInt(), parser.nextInt()); position.setValid(parser.next().equals("A")); position.setLatitude(parser.nextCoordinate()); diff --git a/src/org/traccar/protocol/MegastekProtocolDecoder.java b/src/org/traccar/protocol/MegastekProtocolDecoder.java index 9d44b634c..b6927b9cd 100644 --- a/src/org/traccar/protocol/MegastekProtocolDecoder.java +++ b/src/org/traccar/protocol/MegastekProtocolDecoder.java @@ -36,7 +36,7 @@ public class MegastekProtocolDecoder extends BaseProtocolDecoder { private static final Pattern PATTERN_GPRMC = new PatternBuilder() .text("$GPRMC,") - .number("(dd)(dd)(dd).d+,") // time (hhmmss.ms) + .number("(dd)(dd)(dd).(ddd),") // time (hhmmss.sss) .expression("([AV]),") // validity .number("(d+)(dd.d+),([NS]),") // latitude .number("(d+)(dd.d+),([EW]),") // longitude @@ -88,7 +88,7 @@ public class MegastekProtocolDecoder extends BaseProtocolDecoder { } DateBuilder dateBuilder = new DateBuilder() - .setTime(parser.nextInt(), parser.nextInt(), parser.nextInt()); + .setTime(parser.nextInt(), parser.nextInt(), parser.nextInt(), parser.nextInt()); position.setValid(parser.next().equals("A")); position.setLatitude(parser.nextCoordinate()); diff --git a/src/org/traccar/protocol/Tlt2hProtocolDecoder.java b/src/org/traccar/protocol/Tlt2hProtocolDecoder.java index 4a21bf51e..9f0e8e888 100644 --- a/src/org/traccar/protocol/Tlt2hProtocolDecoder.java +++ b/src/org/traccar/protocol/Tlt2hProtocolDecoder.java @@ -45,7 +45,7 @@ public class Tlt2hProtocolDecoder extends BaseProtocolDecoder { private static final Pattern PATTERN_POSITION = new PatternBuilder() .number("#(x+)?") // cell info .text("$GPRMC,") - .number("(dd)(dd)(dd).(ddd),") // time (hhmmss) + .number("(dd)(dd)(dd).(ddd),") // time (hhmmss.sss) .expression("([AV]),") // validity .number("(d+)(dd.d+),") // latitude .expression("([NS]),") @@ -91,8 +91,7 @@ public class Tlt2hProtocolDecoder extends BaseProtocolDecoder { parser.next(); // base station info DateBuilder dateBuilder = new DateBuilder() - .setTime(parser.nextInt(), parser.nextInt(), parser.nextInt()); - parser.next(); + .setTime(parser.nextInt(), parser.nextInt(), parser.nextInt(), parser.nextInt()); position.setValid(parser.next().equals("A")); position.setLatitude(parser.nextCoordinate()); -- cgit v1.2.3