aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/protocol
diff options
context:
space:
mode:
authorjon-stumpf <jon.stumpf@gmail.com>2017-03-17 10:02:36 -0400
committerjon-stumpf <jon.stumpf@gmail.com>2017-03-17 13:48:21 -0400
commitb0fed2ff54b79a47c61e9c6d0ac39963fd4a3a67 (patch)
tree64de584020f78c301d28fb83239b97d737945258 /src/org/traccar/protocol
parentd094e777991a15cccfdd036da0478053adbe8432 (diff)
downloadtraccar-server-b0fed2ff54b79a47c61e9c6d0ac39963fd4a3a67.tar.gz
traccar-server-b0fed2ff54b79a47c61e9c6d0ac39963fd4a3a67.tar.bz2
traccar-server-b0fed2ff54b79a47c61e9c6d0ac39963fd4a3a67.zip
Implemented capture of milliseconds in ExtremTrac, Megastek, and Tlt2h protocols;
Diffstat (limited to 'src/org/traccar/protocol')
-rw-r--r--src/org/traccar/protocol/ExtremTracProtocolDecoder.java4
-rw-r--r--src/org/traccar/protocol/MegastekProtocolDecoder.java4
-rw-r--r--src/org/traccar/protocol/Tlt2hProtocolDecoder.java5
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());