aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Tananaev <anton@traccar.org>2024-04-05 17:39:48 -0700
committerAnton Tananaev <anton@traccar.org>2024-04-05 17:39:48 -0700
commit5d571897e0d60c574cbb9ed85a04acfb40ce7f3c (patch)
tree11f0798730251413f86e238f6003a27e56486f90
parentb209b3aa18db7bf3b2095ce924edb09ffb831542 (diff)
downloadtrackermap-server-5d571897e0d60c574cbb9ed85a04acfb40ce7f3c.tar.gz
trackermap-server-5d571897e0d60c574cbb9ed85a04acfb40ce7f3c.tar.bz2
trackermap-server-5d571897e0d60c574cbb9ed85a04acfb40ce7f3c.zip
Decode additional VL502 data
-rw-r--r--src/main/java/org/traccar/protocol/HuabaoProtocolDecoder.java30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/main/java/org/traccar/protocol/HuabaoProtocolDecoder.java b/src/main/java/org/traccar/protocol/HuabaoProtocolDecoder.java
index 2186fb91f..648c5fb42 100644
--- a/src/main/java/org/traccar/protocol/HuabaoProtocolDecoder.java
+++ b/src/main/java/org/traccar/protocol/HuabaoProtocolDecoder.java
@@ -979,6 +979,12 @@ public class HuabaoProtocolDecoder extends BaseProtocolDecoder {
case 0x0103:
position.set(Position.KEY_FUEL_LEVEL, buf.readUnsignedInt() * 0.01);
break;
+ case 0x0111:
+ position.set("fuelTemp", buf.readUnsignedByte() - 40);
+ break;
+ case 0x012E:
+ position.set("oilLevel", buf.readUnsignedShort() * 0.1);
+ break;
case 0x052A:
position.set(Position.KEY_FUEL_LEVEL, buf.readUnsignedShort() * 0.01);
break;
@@ -1113,6 +1119,30 @@ public class HuabaoProtocolDecoder extends BaseProtocolDecoder {
}
getLastLocation(position, time);
break;
+ case 0x15:
+ int event = buf.readInt();
+ switch (event) {
+ case 51:
+ position.set(Position.KEY_ALARM, Position.ALARM_ACCELERATION);
+ break;
+ case 52:
+ position.set(Position.KEY_ALARM, Position.ALARM_BRAKING);
+ break;
+ case 53:
+ position.set(Position.KEY_ALARM, Position.ALARM_CORNERING);
+ break;
+ case 54:
+ position.set(Position.KEY_ALARM, Position.ALARM_LANE_CHANGE);
+ break;
+ case 56:
+ position.set(Position.KEY_ALARM, Position.ALARM_ACCIDENT);
+ break;
+ default:
+ position.set(Position.KEY_EVENT, event);
+ break;
+ }
+ getLastLocation(position, time);
+ break;
default:
return null;
}