aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/traccar/protocol/RuptelaProtocolDecoder.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/main/java/org/traccar/protocol/RuptelaProtocolDecoder.java b/src/main/java/org/traccar/protocol/RuptelaProtocolDecoder.java
index 85f0d407a..5fd7b755e 100644
--- a/src/main/java/org/traccar/protocol/RuptelaProtocolDecoder.java
+++ b/src/main/java/org/traccar/protocol/RuptelaProtocolDecoder.java
@@ -97,8 +97,21 @@ public class RuptelaProtocolDecoder extends BaseProtocolDecoder {
case 2:
case 3:
case 4:
+ case 5:
position.set("di" + (id - 1), readValue(buf, length, false));
break;
+ case 20:
+ position.set("ai3", readValue(buf, length, false));
+ break;
+ case 21:
+ position.set("ai4", readValue(buf, length, false));
+ break;
+ case 22:
+ position.set("ai1", readValue(buf, length, false));
+ break;
+ case 23:
+ position.set("ai2", readValue(buf, length, false));
+ break;
case 29:
position.set(Position.KEY_POWER, readValue(buf, length, false));
break;
@@ -135,6 +148,9 @@ public class RuptelaProtocolDecoder extends BaseProtocolDecoder {
case 170:
position.set(Position.KEY_CHARGE, readValue(buf, length, false) > 0);
break;
+ case 173:
+ position.set(Position.KEY_MOTION, readValue(buf, length, false) == 1);
+ break;
case 197:
position.set(Position.KEY_RPM, readValue(buf, length, false) * 0.125);
break;
@@ -152,6 +168,11 @@ public class RuptelaProtocolDecoder extends BaseProtocolDecoder {
position.set(Position.KEY_ALARM, Position.ALARM_ACCIDENT);
}
break;
+ case 415:
+ if (readValue(buf, length, false) != 1) {
+ position.set(Position.KEY_ALARM, Position.ALARM_GPS_ANTENNA_CUT);
+ }
+ break;
case 645:
position.set(Position.KEY_OBD_ODOMETER, readValue(buf, length, true) * 1000);
break;