aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/protocol/Gl200TextProtocolDecoder.java
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2017-09-04 05:19:40 +1200
committerAnton Tananaev <anton.tananaev@gmail.com>2017-09-04 05:19:40 +1200
commitd0ed5e6964a5e44793b8c72106f09e4ce147f47d (patch)
tree65c5a8be33cb73ce24315cb63d6d35379af2b24b /src/org/traccar/protocol/Gl200TextProtocolDecoder.java
parent9379a48aee811cf6fe467581778c07ee253c195f (diff)
downloadtrackermap-server-d0ed5e6964a5e44793b8c72106f09e4ce147f47d.tar.gz
trackermap-server-d0ed5e6964a5e44793b8c72106f09e4ce147f47d.tar.bz2
trackermap-server-d0ed5e6964a5e44793b8c72106f09e4ce147f47d.zip
Support CK300 device protocol
Diffstat (limited to 'src/org/traccar/protocol/Gl200TextProtocolDecoder.java')
-rw-r--r--src/org/traccar/protocol/Gl200TextProtocolDecoder.java18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/org/traccar/protocol/Gl200TextProtocolDecoder.java b/src/org/traccar/protocol/Gl200TextProtocolDecoder.java
index e05182022..988fd71c8 100644
--- a/src/org/traccar/protocol/Gl200TextProtocolDecoder.java
+++ b/src/org/traccar/protocol/Gl200TextProtocolDecoder.java
@@ -80,7 +80,7 @@ public class Gl200TextProtocolDecoder extends BaseProtocolDecoder {
.number("d{14},") // last fix time
.groupBegin()
.number("(d+),") // battery percentage
- .expression("[01]?,") // flash type
+ .number("[d.]*,") // flash type / power
.number("(-?[d.]+)?,,,") // temperature
.or()
.expression("(?:[01])?,").optional() // pin15 mode
@@ -394,7 +394,21 @@ public class Gl200TextProtocolDecoder extends BaseProtocolDecoder {
return null;
}
- position.set(Position.KEY_STATUS, parser.next());
+ String status = parser.next();
+
+ if (status.charAt(0) == '2') {
+ position.set(Position.KEY_IGNITION, true);
+ } else if (status.charAt(0) == '4') {
+ position.set(Position.KEY_IGNITION, false);
+ }
+
+ if (status.charAt(1) == '1') {
+ position.set(Position.KEY_MOTION, false);
+ } else if (status.charAt(1) == '2') {
+ position.set(Position.KEY_MOTION, true);
+ }
+
+ position.set(Position.KEY_STATUS, status);
position.set(Position.KEY_RSSI, parser.nextInt());