aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2017-08-04 02:06:51 +1200
committerAnton Tananaev <anton.tananaev@gmail.com>2017-08-04 02:06:51 +1200
commit3bc4e07dff292c22e29a1fa3bf9d07796d2e89b7 (patch)
tree522c4900bbabd922b488a70f00efb36d661b2271 /src/org/traccar
parentf182ae04a9857e13482421957140e1a70af2302b (diff)
downloadtrackermap-server-3bc4e07dff292c22e29a1fa3bf9d07796d2e89b7.tar.gz
trackermap-server-3bc4e07dff292c22e29a1fa3bf9d07796d2e89b7.tar.bz2
trackermap-server-3bc4e07dff292c22e29a1fa3bf9d07796d2e89b7.zip
Decode GV500VC rssi value
Diffstat (limited to 'src/org/traccar')
-rw-r--r--src/org/traccar/protocol/Gl200TextProtocolDecoder.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/org/traccar/protocol/Gl200TextProtocolDecoder.java b/src/org/traccar/protocol/Gl200TextProtocolDecoder.java
index 57fecc3fe..63adb1c70 100644
--- a/src/org/traccar/protocol/Gl200TextProtocolDecoder.java
+++ b/src/org/traccar/protocol/Gl200TextProtocolDecoder.java
@@ -66,7 +66,7 @@ public class Gl200TextProtocolDecoder extends BaseProtocolDecoder {
.expression("(?:[^,]+)?,") // device name
.number("(xx),") // state
.expression("(?:[0-9F]{20})?,") // iccid
- .number("d{1,2},")
+ .number("(d{1,2}),") // rssi
.number("d{1,2},")
.expression("[01],") // external power
.number("([d.]+)?,") // odometer or external power
@@ -388,6 +388,10 @@ public class Gl200TextProtocolDecoder extends BaseProtocolDecoder {
}
private Object decodeInf(Channel channel, SocketAddress remoteAddress, String sentence) {
+
+ org.traccar.helper.PatternUtil.MatchResult matchResult =
+ org.traccar.helper.PatternUtil.checkPattern(PATTERN_INF.pattern(), sentence);
+
Parser parser = new Parser(PATTERN_INF, sentence);
Position position = initPosition(parser, channel, remoteAddress);
if (position == null) {
@@ -396,6 +400,8 @@ public class Gl200TextProtocolDecoder extends BaseProtocolDecoder {
position.set(Position.KEY_STATUS, parser.next());
+ position.set(Position.KEY_RSSI, parser.nextInt());
+
parser.next(); // odometer or external power
position.set(Position.KEY_BATTERY, parser.nextDouble(0));