aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/protocol/Jt600ProtocolDecoder.java
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2017-02-26 14:59:02 +1300
committerGitHub <noreply@github.com>2017-02-26 14:59:02 +1300
commitaea5d9e8df58b37c937db87a272a9d92c64586f5 (patch)
treedda7693ba067874048c1a90c99b14e5ac75e77e8 /src/org/traccar/protocol/Jt600ProtocolDecoder.java
parente4aa15f0eb0646d6158fd8386f8f9c5477db6bfe (diff)
parent7152670b20a40de809db57ae21acb73c5ad5bea5 (diff)
downloadtrackermap-server-aea5d9e8df58b37c937db87a272a9d92c64586f5.tar.gz
trackermap-server-aea5d9e8df58b37c937db87a272a9d92c64586f5.tar.bz2
trackermap-server-aea5d9e8df58b37c937db87a272a9d92c64586f5.zip
Merge pull request #2951 from jon-stumpf/jss-celltower
CellTowers and capturing additional protocol information
Diffstat (limited to 'src/org/traccar/protocol/Jt600ProtocolDecoder.java')
-rw-r--r--src/org/traccar/protocol/Jt600ProtocolDecoder.java29
1 files changed, 19 insertions, 10 deletions
diff --git a/src/org/traccar/protocol/Jt600ProtocolDecoder.java b/src/org/traccar/protocol/Jt600ProtocolDecoder.java
index 0d8b4abbc..b730c2feb 100644
--- a/src/org/traccar/protocol/Jt600ProtocolDecoder.java
+++ b/src/org/traccar/protocol/Jt600ProtocolDecoder.java
@@ -110,10 +110,14 @@ public class Jt600ProtocolDecoder extends BaseProtocolDecoder {
position.set(Position.KEY_BATTERY, battery + "%");
}
- position.setNetwork(new Network(
- CellTower.fromCidLac(buf.readUnsignedShort(), buf.readUnsignedShort())));
+ int cid = buf.readUnsignedShort();
+ int lac = buf.readUnsignedShort();
+ int rssi = buf.readUnsignedByte();
+
+ CellTower cellTower = CellTower.fromCidLac(cid, lac);
+ cellTower.setSignalStrength(rssi);
+ position.setNetwork(new Network(cellTower));
- position.set(Position.KEY_RSSI, buf.readUnsignedByte());
position.set(Position.KEY_INDEX, buf.readUnsignedByte());
} else if (version == 1) {
@@ -125,14 +129,18 @@ public class Jt600ProtocolDecoder extends BaseProtocolDecoder {
position.setAltitude(buf.readUnsignedShort());
- int cid = buf.readUnsignedShort();
- int lac = buf.readUnsignedShort();
+ int cid = buf.readUnsignedShort();
+ int lac = buf.readUnsignedShort();
+ int rssi = buf.readUnsignedByte();
+
if (cid != 0 && lac != 0) {
- position.setNetwork(new Network(CellTower.fromCidLac(cid, lac)));
+ CellTower cellTower = CellTower.fromCidLac(cid, lac);
+ cellTower.setSignalStrength(rssi);
+ position.setNetwork(new Network(cellTower));
+ } else {
+ position.set(Position.KEY_RSSI, rssi);
}
- position.set(Position.KEY_RSSI, buf.readUnsignedByte());
-
} else if (version == 2) {
int fuel = buf.readUnsignedByte() << 8;
@@ -259,9 +267,10 @@ public class Jt600ProtocolDecoder extends BaseProtocolDecoder {
position.set(Position.KEY_BATTERY, parser.next());
position.set(Position.KEY_STATUS, parser.nextInt(2));
- position.setNetwork(new Network(CellTower.fromCidLac(parser.nextInt(), parser.nextInt())));
+ CellTower cellTower = CellTower.fromCidLac(parser.nextInt(), parser.nextInt());
+ cellTower.setSignalStrength(parser.nextInt());
+ position.setNetwork(new Network(cellTower));
- position.set(Position.KEY_RSSI, parser.nextInt());
position.set(Position.KEY_ODOMETER, parser.nextLong() * 1000);
position.set(Position.KEY_INDEX, parser.nextInt());