aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatjaž Črnko <m.crnko@txt.si>2023-06-12 17:26:38 +0200
committerMatjaž Črnko <m.crnko@txt.si>2023-06-12 17:26:38 +0200
commit5ac55028cb315acec7e8f966c5ab11bdcc2c81bb (patch)
tree3e35c667e00d9f47cf1ee8277490744fbc5f3f20
parent398128c7c3f7de283e9d35e74d96e4990381ef1b (diff)
downloadtrackermap-server-5ac55028cb315acec7e8f966c5ab11bdcc2c81bb.tar.gz
trackermap-server-5ac55028cb315acec7e8f966c5ab11bdcc2c81bb.tar.bz2
trackermap-server-5ac55028cb315acec7e8f966c5ab11bdcc2c81bb.zip
Ruptela - Tampering, Jamming and Network Operator decoding.
-rw-r--r--src/main/java/org/traccar/protocol/RuptelaProtocolDecoder.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/main/java/org/traccar/protocol/RuptelaProtocolDecoder.java b/src/main/java/org/traccar/protocol/RuptelaProtocolDecoder.java
index 5fd7b755e..2a552a874 100644
--- a/src/main/java/org/traccar/protocol/RuptelaProtocolDecoder.java
+++ b/src/main/java/org/traccar/protocol/RuptelaProtocolDecoder.java
@@ -132,6 +132,11 @@ public class RuptelaProtocolDecoder extends BaseProtocolDecoder {
case 80:
position.set(Position.PREFIX_TEMP + (id - 78), readValue(buf, length, true) * 0.1);
break;
+ case 88:
+ if (readValue(buf, length, false) == 1) {
+ position.set(Position.KEY_ALARM, Position.ALARM_JAMMING);
+ }
+ break;
case 95:
position.set(Position.KEY_OBD_SPEED, UnitsConverter.knotsFromKph(readValue(buf, length, true)));
break;
@@ -145,6 +150,9 @@ public class RuptelaProtocolDecoder extends BaseProtocolDecoder {
position.set(Position.KEY_ALARM, Position.ALARM_ACCELERATION);
}
break;
+ case 150:
+ position.set(Position.KEY_OPERATOR, readValue(buf, length, false));
+ break;
case 170:
position.set(Position.KEY_CHARGE, readValue(buf, length, false) > 0);
break;
@@ -176,6 +184,11 @@ public class RuptelaProtocolDecoder extends BaseProtocolDecoder {
case 645:
position.set(Position.KEY_OBD_ODOMETER, readValue(buf, length, true) * 1000);
break;
+ case 758:
+ if (readValue(buf, length, false) == 1) {
+ position.set(Position.KEY_ALARM, Position.ALARM_TAMPERING);
+ }
+ break;
default:
position.set(Position.PREFIX_IO + id, readValue(buf, length, false));
break;