From 18848c1110f6bd42a144b32d62ed0990372e93b9 Mon Sep 17 00:00:00 2001 From: jon-stumpf Date: Sun, 12 Mar 2017 12:53:09 -0400 Subject: Fixed all comments for date and time to include format details; --- src/org/traccar/protocol/XexunProtocolDecoder.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/org/traccar/protocol/XexunProtocolDecoder.java') diff --git a/src/org/traccar/protocol/XexunProtocolDecoder.java b/src/org/traccar/protocol/XexunProtocolDecoder.java index 5e390a4b7..5d3035bd0 100644 --- a/src/org/traccar/protocol/XexunProtocolDecoder.java +++ b/src/org/traccar/protocol/XexunProtocolDecoder.java @@ -37,13 +37,13 @@ public class XexunProtocolDecoder extends BaseProtocolDecoder { private static final Pattern PATTERN_BASIC = new PatternBuilder() .expression("G[PN]RMC,") - .number("(?:(dd)(dd)(dd))?.(d+),") // time + .number("(?:(dd)(dd)(dd))?.(d+),") // time (hhmmss.ms) .expression("([AV]),") // validity .number("(d*?)(d?d.d+),([NS]),") // latitude .number("(d*?)(d?d.d+),([EW])?,") // longitude .number("(d+.?d*),") // speed .number("(d+.?d*)?,") // course - .number("(?:(dd)(dd)(dd))?,") // date + .number("(?:(dd)(dd)(dd))?,") // date (ddmmyy) .expression("[^*]*").text("*") .number("xx") // checksum .expression("\\r\\n").optional() -- cgit v1.2.3 From 138c254acaf9ad1274be19e1e566fc45d56d3433 Mon Sep 17 00:00:00 2001 From: jon-stumpf Date: Mon, 13 Mar 2017 15:48:12 -0400 Subject: Fixed protocols that incorrectly used ".(d+)" to record milliseconds: Enfora, GpsGate, Gt30, Meiligao, Sanav, Tlt2h, and Xexun; --- src/org/traccar/protocol/EnforaProtocolDecoder.java | 2 +- src/org/traccar/protocol/GpsGateProtocolDecoder.java | 2 +- src/org/traccar/protocol/Gt30ProtocolDecoder.java | 2 +- src/org/traccar/protocol/MeiligaoProtocolDecoder.java | 2 +- src/org/traccar/protocol/SanavProtocolDecoder.java | 2 +- src/org/traccar/protocol/Tlt2hProtocolDecoder.java | 2 +- src/org/traccar/protocol/XexunProtocolDecoder.java | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) (limited to 'src/org/traccar/protocol/XexunProtocolDecoder.java') diff --git a/src/org/traccar/protocol/EnforaProtocolDecoder.java b/src/org/traccar/protocol/EnforaProtocolDecoder.java index 8396c7e17..6f6273325 100644 --- a/src/org/traccar/protocol/EnforaProtocolDecoder.java +++ b/src/org/traccar/protocol/EnforaProtocolDecoder.java @@ -38,7 +38,7 @@ public class EnforaProtocolDecoder extends BaseProtocolDecoder { private static final Pattern PATTERN = new PatternBuilder() .text("GPRMC,") - .number("(dd)(dd)(dd).(d+),") // time (hhmmss.ms) + .number("(dd)(dd)(dd).(ddd),") // time (hhmmss.sss) .expression("([AV]),") // validity .number("(dd)(dd.d+),") // latitude .expression("([NS]),") diff --git a/src/org/traccar/protocol/GpsGateProtocolDecoder.java b/src/org/traccar/protocol/GpsGateProtocolDecoder.java index a2454100f..31e793516 100644 --- a/src/org/traccar/protocol/GpsGateProtocolDecoder.java +++ b/src/org/traccar/protocol/GpsGateProtocolDecoder.java @@ -35,7 +35,7 @@ public class GpsGateProtocolDecoder 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("(dd)(dd.d+),") // latitude .expression("([NS]),") diff --git a/src/org/traccar/protocol/Gt30ProtocolDecoder.java b/src/org/traccar/protocol/Gt30ProtocolDecoder.java index 625da8dbb..c034300d0 100644 --- a/src/org/traccar/protocol/Gt30ProtocolDecoder.java +++ b/src/org/traccar/protocol/Gt30ProtocolDecoder.java @@ -38,7 +38,7 @@ public class Gt30ProtocolDecoder extends BaseProtocolDecoder { .expression("(.{14})") // device id .number("x{4}") // type .expression("(.)?") // alarm - .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]),") diff --git a/src/org/traccar/protocol/MeiligaoProtocolDecoder.java b/src/org/traccar/protocol/MeiligaoProtocolDecoder.java index 46072e32e..a649ea83a 100644 --- a/src/org/traccar/protocol/MeiligaoProtocolDecoder.java +++ b/src/org/traccar/protocol/MeiligaoProtocolDecoder.java @@ -39,7 +39,7 @@ public class MeiligaoProtocolDecoder extends BaseProtocolDecoder { } private static final Pattern PATTERN = new PatternBuilder() - .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]),") diff --git a/src/org/traccar/protocol/SanavProtocolDecoder.java b/src/org/traccar/protocol/SanavProtocolDecoder.java index debb52b1d..bd49585f6 100644 --- a/src/org/traccar/protocol/SanavProtocolDecoder.java +++ b/src/org/traccar/protocol/SanavProtocolDecoder.java @@ -38,7 +38,7 @@ public class SanavProtocolDecoder extends BaseProtocolDecoder { .number("(d+)") // imei .expression("&?rmc[:=]") .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+),") // latitude .expression("([NS]),") diff --git a/src/org/traccar/protocol/Tlt2hProtocolDecoder.java b/src/org/traccar/protocol/Tlt2hProtocolDecoder.java index b7c4abde3..4a21bf51e 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).(d+),") // time (hhmmss.ms) + .number("(dd)(dd)(dd).(ddd),") // time (hhmmss) .expression("([AV]),") // validity .number("(d+)(dd.d+),") // latitude .expression("([NS]),") diff --git a/src/org/traccar/protocol/XexunProtocolDecoder.java b/src/org/traccar/protocol/XexunProtocolDecoder.java index 5d3035bd0..5b783e5e1 100644 --- a/src/org/traccar/protocol/XexunProtocolDecoder.java +++ b/src/org/traccar/protocol/XexunProtocolDecoder.java @@ -37,7 +37,7 @@ public class XexunProtocolDecoder extends BaseProtocolDecoder { private static final Pattern PATTERN_BASIC = new PatternBuilder() .expression("G[PN]RMC,") - .number("(?:(dd)(dd)(dd))?.(d+),") // time (hhmmss.ms) + .number("(?:(dd)(dd)(dd))?.(ddd),") // time (hhmmss.sss) .expression("([AV]),") // validity .number("(d*?)(d?d.d+),([NS]),") // latitude .number("(d*?)(d?d.d+),([EW])?,") // longitude -- cgit v1.2.3 From 6e21afb250ba74d1741e038e0bb1aba51214b52f Mon Sep 17 00:00:00 2001 From: jon-stumpf Date: Thu, 16 Mar 2017 21:16:25 -0400 Subject: Removed capture of milliseconds from protocols that did not support ".(ddd)": Enfora, GpsGate, Meiligao, and Xexun; --- src/org/traccar/protocol/EnforaProtocolDecoder.java | 4 ++-- src/org/traccar/protocol/GpsGateProtocolDecoder.java | 8 ++++---- src/org/traccar/protocol/MeiligaoProtocolDecoder.java | 5 +---- src/org/traccar/protocol/XexunProtocolDecoder.java | 4 ++-- 4 files changed, 9 insertions(+), 12 deletions(-) (limited to 'src/org/traccar/protocol/XexunProtocolDecoder.java') diff --git a/src/org/traccar/protocol/EnforaProtocolDecoder.java b/src/org/traccar/protocol/EnforaProtocolDecoder.java index 6f6273325..763cf08ef 100644 --- a/src/org/traccar/protocol/EnforaProtocolDecoder.java +++ b/src/org/traccar/protocol/EnforaProtocolDecoder.java @@ -38,7 +38,7 @@ public class EnforaProtocolDecoder extends BaseProtocolDecoder { private static final Pattern PATTERN = new PatternBuilder() .text("GPRMC,") - .number("(dd)(dd)(dd).(ddd),") // time (hhmmss.sss) + .number("(dd)(dd)(dd).?d*,") // time (hhmmss.sss) .expression("([AV]),") // validity .number("(dd)(dd.d+),") // latitude .expression("([NS]),") @@ -100,7 +100,7 @@ public class EnforaProtocolDecoder extends BaseProtocolDecoder { position.setDeviceId(deviceSession.getDeviceId()); DateBuilder dateBuilder = new DateBuilder() - .setTime(parser.nextInt(), parser.nextInt(), parser.nextInt(), parser.nextInt()); + .setTime(parser.nextInt(), parser.nextInt(), parser.nextInt()); position.setValid(parser.next().equals("A")); position.setLatitude(parser.nextCoordinate()); diff --git a/src/org/traccar/protocol/GpsGateProtocolDecoder.java b/src/org/traccar/protocol/GpsGateProtocolDecoder.java index 31e793516..089d8186e 100644 --- a/src/org/traccar/protocol/GpsGateProtocolDecoder.java +++ b/src/org/traccar/protocol/GpsGateProtocolDecoder.java @@ -35,7 +35,7 @@ public class GpsGateProtocolDecoder extends BaseProtocolDecoder { private static final Pattern PATTERN_GPRMC = new PatternBuilder() .text("$GPRMC,") - .number("(dd)(dd)(dd).?(ddd)?,") // time (hhmmss.sss) + .number("(dd)(dd)(dd).?d*,") // time (hhmmss) .expression("([AV]),") // validity .number("(dd)(dd.d+),") // latitude .expression("([NS]),") @@ -60,7 +60,7 @@ public class GpsGateProtocolDecoder extends BaseProtocolDecoder { .number("(d+.?d*),") // speed .number("(d+.?d*)?,") // course .number("(dd)(dd)(dd),") // date (ddmmyy) - .number("(dd)(dd)(dd).?(d+)?,") // time (hhmmss.ms) + .number("(dd)(dd)(dd).?d*,") // time (hhmmss) .expression("([01])") // validity .any() .compile(); @@ -123,7 +123,7 @@ public class GpsGateProtocolDecoder extends BaseProtocolDecoder { position.setDeviceId(deviceSession.getDeviceId()); DateBuilder dateBuilder = new DateBuilder() - .setTime(parser.nextInt(), parser.nextInt(), parser.nextInt(), parser.nextInt()); + .setTime(parser.nextInt(), parser.nextInt(), parser.nextInt()); position.setValid(parser.next().equals("A")); position.setLatitude(parser.nextCoordinate()); @@ -158,7 +158,7 @@ public class GpsGateProtocolDecoder extends BaseProtocolDecoder { position.setSpeed(parser.nextDouble()); position.setCourse(parser.nextDouble()); - position.setTime(parser.nextDateTime(Parser.DateTimeFormat.DMY2_HMSms)); + position.setTime(parser.nextDateTime(Parser.DateTimeFormat.DMY2_HMS)); position.setValid(parser.next().equals("1")); diff --git a/src/org/traccar/protocol/MeiligaoProtocolDecoder.java b/src/org/traccar/protocol/MeiligaoProtocolDecoder.java index a649ea83a..d49d337ca 100644 --- a/src/org/traccar/protocol/MeiligaoProtocolDecoder.java +++ b/src/org/traccar/protocol/MeiligaoProtocolDecoder.java @@ -39,7 +39,7 @@ public class MeiligaoProtocolDecoder extends BaseProtocolDecoder { } private static final Pattern PATTERN = new PatternBuilder() - .number("(dd)(dd)(dd).?(ddd)?,") // time (hhmmss.sss) + .number("(dd)(dd)(dd).?d*,") // time (hhmmss.sss) .expression("([AV]),") // validity .number("(d+)(dd.d+),") // latitude .expression("([NS]),") @@ -211,9 +211,6 @@ public class MeiligaoProtocolDecoder extends BaseProtocolDecoder { DateBuilder dateBuilder = new DateBuilder() .setTime(parser.nextInt(), parser.nextInt(), parser.nextInt()); - if (parser.hasNext()) { - dateBuilder.setMillis(parser.nextInt()); - } position.setValid(parser.next().equals("A")); position.setLatitude(parser.nextCoordinate()); diff --git a/src/org/traccar/protocol/XexunProtocolDecoder.java b/src/org/traccar/protocol/XexunProtocolDecoder.java index 5b783e5e1..a4fe930c4 100644 --- a/src/org/traccar/protocol/XexunProtocolDecoder.java +++ b/src/org/traccar/protocol/XexunProtocolDecoder.java @@ -37,7 +37,7 @@ public class XexunProtocolDecoder extends BaseProtocolDecoder { private static final Pattern PATTERN_BASIC = new PatternBuilder() .expression("G[PN]RMC,") - .number("(?:(dd)(dd)(dd))?.(ddd),") // time (hhmmss.sss) + .number("(?:(dd)(dd)(dd))?.?d*,") // time (hhmmss.sss) .expression("([AV]),") // validity .number("(d*?)(d?d.d+),([NS]),") // latitude .number("(d*?)(d?d.d+),([EW])?,") // longitude @@ -104,7 +104,7 @@ public class XexunProtocolDecoder extends BaseProtocolDecoder { } DateBuilder dateBuilder = new DateBuilder() - .setTime(parser.nextInt(), parser.nextInt(), parser.nextInt(), parser.nextInt()); + .setTime(parser.nextInt(), parser.nextInt(), parser.nextInt()); position.setValid(parser.next().equals("A")); position.setLatitude(parser.nextCoordinate()); -- cgit v1.2.3 From 798c599064d62f021ff4d17ecb6199acccf7406f Mon Sep 17 00:00:00 2001 From: jon-stumpf Date: Fri, 17 Mar 2017 09:08:53 -0400 Subject: Fixed time comments for uncaptured milliseconds as requested; --- src/org/traccar/protocol/AppelloProtocolDecoder.java | 2 +- src/org/traccar/protocol/EnforaProtocolDecoder.java | 2 +- src/org/traccar/protocol/HunterProProtocolDecoder.java | 2 +- src/org/traccar/protocol/MeiligaoProtocolDecoder.java | 2 +- src/org/traccar/protocol/Pt3000ProtocolDecoder.java | 2 +- src/org/traccar/protocol/RitiProtocolDecoder.java | 2 +- src/org/traccar/protocol/T55ProtocolDecoder.java | 6 +++--- src/org/traccar/protocol/TotemProtocolDecoder.java | 2 +- src/org/traccar/protocol/XexunProtocolDecoder.java | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) (limited to 'src/org/traccar/protocol/XexunProtocolDecoder.java') diff --git a/src/org/traccar/protocol/AppelloProtocolDecoder.java b/src/org/traccar/protocol/AppelloProtocolDecoder.java index 507b93a9a..38f4315de 100644 --- a/src/org/traccar/protocol/AppelloProtocolDecoder.java +++ b/src/org/traccar/protocol/AppelloProtocolDecoder.java @@ -36,7 +36,7 @@ public class AppelloProtocolDecoder extends BaseProtocolDecoder { .number("(d+),") // imei .groupBegin() .number("(dd)(dd)(dd)") // date (yymmdd) - .number("(dd)(dd)(dd).?d*,") // time (hhmmss.ms) + .number("(dd)(dd)(dd).?d*,") // time (hhmmss) .or() .text("UTCTIME,") .groupEnd() diff --git a/src/org/traccar/protocol/EnforaProtocolDecoder.java b/src/org/traccar/protocol/EnforaProtocolDecoder.java index 763cf08ef..f9045a6f6 100644 --- a/src/org/traccar/protocol/EnforaProtocolDecoder.java +++ b/src/org/traccar/protocol/EnforaProtocolDecoder.java @@ -38,7 +38,7 @@ public class EnforaProtocolDecoder extends BaseProtocolDecoder { private static final Pattern PATTERN = new PatternBuilder() .text("GPRMC,") - .number("(dd)(dd)(dd).?d*,") // time (hhmmss.sss) + .number("(dd)(dd)(dd).?d*,") // time (hhmmss) .expression("([AV]),") // validity .number("(dd)(dd.d+),") // latitude .expression("([NS]),") diff --git a/src/org/traccar/protocol/HunterProProtocolDecoder.java b/src/org/traccar/protocol/HunterProProtocolDecoder.java index 1efea929a..6f2bb8fd8 100644 --- a/src/org/traccar/protocol/HunterProProtocolDecoder.java +++ b/src/org/traccar/protocol/HunterProProtocolDecoder.java @@ -35,7 +35,7 @@ public class HunterProProtocolDecoder extends BaseProtocolDecoder { private static final Pattern PATTERN = new PatternBuilder() .number(">(d+)<") // identifier .text("$GPRMC,") - .number("(dd)(dd)(dd).?d*,") // time (hhmmss.ms) + .number("(dd)(dd)(dd).?d*,") // time (hhmmss) .expression("([AV]),") // validity .number("(dd)(dd.d+),") // latitude .expression("([NS]),") diff --git a/src/org/traccar/protocol/MeiligaoProtocolDecoder.java b/src/org/traccar/protocol/MeiligaoProtocolDecoder.java index c7aa01793..af0b356a6 100644 --- a/src/org/traccar/protocol/MeiligaoProtocolDecoder.java +++ b/src/org/traccar/protocol/MeiligaoProtocolDecoder.java @@ -39,7 +39,7 @@ public class MeiligaoProtocolDecoder extends BaseProtocolDecoder { } private static final Pattern PATTERN = new PatternBuilder() - .number("(dd)(dd)(dd).?d*,") // time (hhmmss.sss) + .number("(dd)(dd)(dd).?d*,") // time (hhmmss) .expression("([AV]),") // validity .number("(d+)(dd.d+),") // latitude .expression("([NS]),") diff --git a/src/org/traccar/protocol/Pt3000ProtocolDecoder.java b/src/org/traccar/protocol/Pt3000ProtocolDecoder.java index 0b5e6fdfd..11df9d218 100644 --- a/src/org/traccar/protocol/Pt3000ProtocolDecoder.java +++ b/src/org/traccar/protocol/Pt3000ProtocolDecoder.java @@ -35,7 +35,7 @@ public class Pt3000ProtocolDecoder extends BaseProtocolDecoder { private static final Pattern PATTERN = new PatternBuilder() .number("%(d+),") // imei .text("$GPRMC,") - .number("(dd)(dd)(dd).?d*,") // time (hhmmss.ms) + .number("(dd)(dd)(dd).?d*,") // time (hhmmss) .expression("([AV]),") // validity .number("(dd)(dd.d+),") // latitude .expression("([NS]),") diff --git a/src/org/traccar/protocol/RitiProtocolDecoder.java b/src/org/traccar/protocol/RitiProtocolDecoder.java index 2b5833aa5..fd31ee4e2 100644 --- a/src/org/traccar/protocol/RitiProtocolDecoder.java +++ b/src/org/traccar/protocol/RitiProtocolDecoder.java @@ -36,7 +36,7 @@ public class RitiProtocolDecoder extends BaseProtocolDecoder { private static final Pattern PATTERN = new PatternBuilder() .text("$GPRMC,") - .number("(dd)(dd)(dd).?d*,") // time (hhmmss.ms) + .number("(dd)(dd)(dd).?d*,") // time (hhmmss) .expression("([AV]),") // validity .number("(dd)(dd.d+),") // latitude .expression("([NS]),") diff --git a/src/org/traccar/protocol/T55ProtocolDecoder.java b/src/org/traccar/protocol/T55ProtocolDecoder.java index a466cd72d..c60c92d45 100644 --- a/src/org/traccar/protocol/T55ProtocolDecoder.java +++ b/src/org/traccar/protocol/T55ProtocolDecoder.java @@ -36,7 +36,7 @@ public class T55ProtocolDecoder extends BaseProtocolDecoder { private static final Pattern PATTERN_GPRMC = new PatternBuilder() .text("$GPRMC,") - .number("(dd)(dd)(dd).?d*,") // time (hhmmss.ms) + .number("(dd)(dd)(dd).?d*,") // time (hhmmss) .expression("([AV]),") // validity .number("(dd)(dd.d+),") // latitude .expression("([NS]),") @@ -59,7 +59,7 @@ public class T55ProtocolDecoder extends BaseProtocolDecoder { private static final Pattern PATTERN_GPGGA = new PatternBuilder() .text("$GPGGA,") - .number("(dd)(dd)(dd).?d*,") // time (hhmmss.ms) + .number("(dd)(dd)(dd).?d*,") // time (hhmmss) .number("(d+)(dd.d+),") // latitude .expression("([NS]),") .number("(d+)(dd.d+),") // longitude @@ -82,7 +82,7 @@ public class T55ProtocolDecoder extends BaseProtocolDecoder { private static final Pattern PATTERN_TRCCR = new PatternBuilder() .text("$TRCCR,") .number("(dddd)(dd)(dd)") // date (yyyymmdd) - .number("(dd)(dd)(dd).?d*,") // time (hhmmss.ms) + .number("(dd)(dd)(dd).?d*,") // time (hhmmss) .expression("([AV]),") // validity .number("(-?d+.d+),") // latitude .number("(-?d+.d+),") // longitude diff --git a/src/org/traccar/protocol/TotemProtocolDecoder.java b/src/org/traccar/protocol/TotemProtocolDecoder.java index 6cac80269..434ae2521 100644 --- a/src/org/traccar/protocol/TotemProtocolDecoder.java +++ b/src/org/traccar/protocol/TotemProtocolDecoder.java @@ -41,7 +41,7 @@ public class TotemProtocolDecoder extends BaseProtocolDecoder { .number("(d+)|") // imei .expression("(..)") // alarm .text("$GPRMC,") - .number("(dd)(dd)(dd).d+,") // time (hhmmss.ms) + .number("(dd)(dd)(dd).d+,") // time (hhmmss) .expression("([AV]),") // validity .number("(d+)(dd.d+),([NS]),") // latitude .number("(d+)(dd.d+),([EW]),") // longitude diff --git a/src/org/traccar/protocol/XexunProtocolDecoder.java b/src/org/traccar/protocol/XexunProtocolDecoder.java index a4fe930c4..f60b3e693 100644 --- a/src/org/traccar/protocol/XexunProtocolDecoder.java +++ b/src/org/traccar/protocol/XexunProtocolDecoder.java @@ -37,7 +37,7 @@ public class XexunProtocolDecoder extends BaseProtocolDecoder { private static final Pattern PATTERN_BASIC = new PatternBuilder() .expression("G[PN]RMC,") - .number("(?:(dd)(dd)(dd))?.?d*,") // time (hhmmss.sss) + .number("(?:(dd)(dd)(dd))?.?d*,") // time (hhmmss) .expression("([AV]),") // validity .number("(d*?)(d?d.d+),([NS]),") // latitude .number("(d*?)(d?d.d+),([EW])?,") // longitude -- cgit v1.2.3