From 13544022b3bf855fdc63893aa3040ecc78fb4dbb Mon Sep 17 00:00:00 2001 From: Matjaž Črnko Date: Sun, 11 Jun 2023 11:05:46 +0200 Subject: Ruptela IO decoding for Odometer, OBD Odometer and OBD Speed --- src/main/java/org/traccar/protocol/RuptelaProtocolDecoder.java | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/main/java/org/traccar/protocol') diff --git a/src/main/java/org/traccar/protocol/RuptelaProtocolDecoder.java b/src/main/java/org/traccar/protocol/RuptelaProtocolDecoder.java index 77df0deb7..8672d104a 100644 --- a/src/main/java/org/traccar/protocol/RuptelaProtocolDecoder.java +++ b/src/main/java/org/traccar/protocol/RuptelaProtocolDecoder.java @@ -108,6 +108,9 @@ public class RuptelaProtocolDecoder extends BaseProtocolDecoder { case 30: position.set(Position.KEY_BATTERY, readValue(buf, length, false) * 0.001); break; + case 65: + position.set(Position.KEY_ODOMETER, readValue(buf, length, true)); + break; case 74: position.set(Position.PREFIX_TEMP + 3, readValue(buf, length, true) * 0.1); break; @@ -116,6 +119,9 @@ public class RuptelaProtocolDecoder extends BaseProtocolDecoder { case 80: position.set(Position.PREFIX_TEMP + (id - 78), readValue(buf, length, true) * 0.1); break; + case 95: + position.set(Position.KEY_OBD_SPEED, UnitsConverter.knotsFromKph(readValue(buf, length, true))); + break; case 134: if (readValue(buf, length, false) > 0) { position.set(Position.KEY_ALARM, Position.ALARM_BRAKING); @@ -129,6 +135,9 @@ public class RuptelaProtocolDecoder extends BaseProtocolDecoder { case 197: position.set(Position.KEY_RPM, readValue(buf, length, false) * 0.125); break; + case 645: + position.set(Position.KEY_OBD_ODOMETER, readValue(buf, length, true) * 1000); + break; default: position.set(Position.PREFIX_IO + id, readValue(buf, length, false)); break; -- cgit v1.2.3 From ea1e72277a264d69c2e4b9b15113dffcb6b7d662 Mon Sep 17 00:00:00 2001 From: Matjaž Črnko Date: Sun, 11 Jun 2023 11:43:10 +0200 Subject: Ruptela IO Decoding for Device Temperature, Battery charging, Tow Alarm, Accident Alarm --- .../org/traccar/protocol/RuptelaProtocolDecoder.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/main/java/org/traccar/protocol') diff --git a/src/main/java/org/traccar/protocol/RuptelaProtocolDecoder.java b/src/main/java/org/traccar/protocol/RuptelaProtocolDecoder.java index 8672d104a..c9efd8f7b 100644 --- a/src/main/java/org/traccar/protocol/RuptelaProtocolDecoder.java +++ b/src/main/java/org/traccar/protocol/RuptelaProtocolDecoder.java @@ -108,6 +108,9 @@ public class RuptelaProtocolDecoder extends BaseProtocolDecoder { case 30: position.set(Position.KEY_BATTERY, readValue(buf, length, false) * 0.001); break; + case 32: + position.set(Position.KEY_DEVICE_TEMP, readValue(buf, length, true)); + break; case 65: position.set(Position.KEY_ODOMETER, readValue(buf, length, true)); break; @@ -132,9 +135,22 @@ public class RuptelaProtocolDecoder extends BaseProtocolDecoder { position.set(Position.KEY_ALARM, Position.ALARM_ACCELERATION); } break; + case 170: + position.set(Position.KEY_CHARGE, readValue(buf, length, false) > 0); + break; case 197: position.set(Position.KEY_RPM, readValue(buf, length, false) * 0.125); break; + case 410: + if (readValue(buf, length, false) > 0) { + position.set(Position.KEY_ALARM, Position.ALARM_TOW); + } + break; + case 411: + if (readValue(buf, length, false) > 0) { + position.set(Position.KEY_ALARM, Position.ALARM_ACCIDENT); + } + break; case 645: position.set(Position.KEY_OBD_ODOMETER, readValue(buf, length, true) * 1000); break; -- cgit v1.2.3