aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2016-11-16 03:32:20 +1300
committerAnton Tananaev <anton.tananaev@gmail.com>2016-11-16 03:32:20 +1300
commit57b831ca0b08c3ac2c4aa93b9ba2a3c44d78344b (patch)
tree1b8a78a7a2ed943bd5092a30d8cc315936f6a356 /src
parentd189e3a74327a56bcddd6cc58ec16bb495aff13c (diff)
downloadtraccar-server-57b831ca0b08c3ac2c4aa93b9ba2a3c44d78344b.tar.gz
traccar-server-57b831ca0b08c3ac2c4aa93b9ba2a3c44d78344b.tar.bz2
traccar-server-57b831ca0b08c3ac2c4aa93b9ba2a3c44d78344b.zip
Decode upro odometer and OBD
Diffstat (limited to 'src')
-rw-r--r--src/org/traccar/protocol/UproProtocolDecoder.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/org/traccar/protocol/UproProtocolDecoder.java b/src/org/traccar/protocol/UproProtocolDecoder.java
index d5a00c6df..c6f400cae 100644
--- a/src/org/traccar/protocol/UproProtocolDecoder.java
+++ b/src/org/traccar/protocol/UproProtocolDecoder.java
@@ -121,12 +121,23 @@ public class UproProtocolDecoder extends BaseProtocolDecoder {
case 'B':
position.set(Position.KEY_STATUS, data[i].substring(1));
break;
+ case 'C':
+ long odometer = 0;
+ for (int j = 1; j < data[i].length(); j++) {
+ odometer <<= 4;
+ odometer += data[i].charAt(j) - '0';
+ }
+ position.set(Position.KEY_ODOMETER, odometer);
+ break;
case 'P':
position.set(Position.KEY_MCC, Integer.parseInt(data[i].substring(1, 5)));
position.set(Position.KEY_MNC, Integer.parseInt(data[i].substring(5, 9)));
position.set(Position.KEY_LAC, Integer.parseInt(data[i].substring(9, 13), 16));
position.set(Position.KEY_CID, Integer.parseInt(data[i].substring(13, 17), 16));
break;
+ case 'S':
+ position.set("obd", data[i]);
+ break;
default:
break;
}