aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/protocol/Gps103ProtocolDecoder.java
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2017-03-18 12:05:09 +1300
committerGitHub <noreply@github.com>2017-03-18 12:05:09 +1300
commit185dfcb02c504fbceae89ece513e51a630a39870 (patch)
tree837a2188c44afbe4f5c81d19d295c9495dc70d11 /src/org/traccar/protocol/Gps103ProtocolDecoder.java
parent8beecc6b90975c972ba76ffbb5a7c975de25530c (diff)
parent7f6280f725100d446405d5f92ca8bd9435d621f4 (diff)
downloadtrackermap-server-185dfcb02c504fbceae89ece513e51a630a39870.tar.gz
trackermap-server-185dfcb02c504fbceae89ece513e51a630a39870.tar.bz2
trackermap-server-185dfcb02c504fbceae89ece513e51a630a39870.zip
Merge pull request #3018 from jon-stumpf/jss-parse-nextDateTime
Date and time decoding improvements
Diffstat (limited to 'src/org/traccar/protocol/Gps103ProtocolDecoder.java')
-rw-r--r--src/org/traccar/protocol/Gps103ProtocolDecoder.java18
1 files changed, 7 insertions, 11 deletions
diff --git a/src/org/traccar/protocol/Gps103ProtocolDecoder.java b/src/org/traccar/protocol/Gps103ProtocolDecoder.java
index 2f8fe4bba..49f1a2049 100644
--- a/src/org/traccar/protocol/Gps103ProtocolDecoder.java
+++ b/src/org/traccar/protocol/Gps103ProtocolDecoder.java
@@ -38,12 +38,12 @@ public class Gps103ProtocolDecoder extends BaseProtocolDecoder {
.text("imei:")
.number("(d+),") // imei
.expression("([^,]+),") // alarm
- .number("(dd)/?(dd)/?(dd) ?") // local date
- .number("(dd):?(dd)(?:dd)?,") // local time
+ .number("(dd)/?(dd)/?(dd) ?") // local date (yymmdd)
+ .number("(dd):?(dd)(?:dd)?,") // local time (hhmmss)
.expression("([^,]+)?,") // rfid
.expression("[FL],") // full / low
.groupBegin()
- .number("(dd)(dd)(dd).(d+)") // time utc (hhmmss.sss)
+ .number("(dd)(dd)(dd).d+") // time utc (hhmmss)
.or()
.number("(?:d{1,5}.d+)?")
.groupEnd()
@@ -85,8 +85,8 @@ public class Gps103ProtocolDecoder extends BaseProtocolDecoder {
.text("imei:")
.number("(d+),") // imei
.expression("OBD,") // type
- .number("(dd)(dd)(dd)") // date
- .number("(dd)(dd)(dd),") // time
+ .number("(dd)(dd)(dd)") // date (yymmdd)
+ .number("(dd)(dd)(dd),") // time (hhmmss)
.number("(d+),") // odometer
.number("(d+.d+)?,") // fuel instant
.number("(d+.d+)?,") // fuel average
@@ -204,11 +204,7 @@ public class Gps103ProtocolDecoder extends BaseProtocolDecoder {
}
position.setDeviceId(deviceSession.getDeviceId());
- DateBuilder dateBuilder = new DateBuilder()
- .setDate(parser.nextInt(), parser.nextInt(), parser.nextInt())
- .setTime(parser.nextInt(), parser.nextInt(), parser.nextInt());
-
- getLastLocation(position, dateBuilder.getDate());
+ getLastLocation(position, parser.nextDateTime());
position.set(Position.KEY_ODOMETER, parser.nextInt());
parser.next(); // instant fuel consumption
@@ -267,7 +263,7 @@ public class Gps103ProtocolDecoder extends BaseProtocolDecoder {
String utcHours = parser.next();
String utcMinutes = parser.next();
- dateBuilder.setTime(localHours, localMinutes, parser.nextInt(), parser.nextInt());
+ dateBuilder.setTime(localHours, localMinutes, parser.nextInt());
// Timezone calculation
if (utcHours != null && utcMinutes != null) {