diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2017-09-04 05:19:40 +1200 |
---|---|---|
committer | Anton Tananaev <anton.tananaev@gmail.com> | 2017-09-04 05:19:40 +1200 |
commit | d0ed5e6964a5e44793b8c72106f09e4ce147f47d (patch) | |
tree | 65c5a8be33cb73ce24315cb63d6d35379af2b24b /src/org | |
parent | 9379a48aee811cf6fe467581778c07ee253c195f (diff) | |
download | trackermap-server-d0ed5e6964a5e44793b8c72106f09e4ce147f47d.tar.gz trackermap-server-d0ed5e6964a5e44793b8c72106f09e4ce147f47d.tar.bz2 trackermap-server-d0ed5e6964a5e44793b8c72106f09e4ce147f47d.zip |
Support CK300 device protocol
Diffstat (limited to 'src/org')
-rw-r--r-- | src/org/traccar/protocol/Gl200TextProtocolDecoder.java | 18 |
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()); |