aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/traccar/protocol/Gt06ProtocolDecoder.java
diff options
context:
space:
mode:
authorAaron Donnelly <126603683+Aaron-Donnelly@users.noreply.github.com>2023-05-03 14:27:45 +0100
committerGitHub <noreply@github.com>2023-05-03 14:27:45 +0100
commit442806299eb328b5b41882d04c3dd65650715647 (patch)
treece471e548ade4a971ce1569ffa07661b49533e57 /src/main/java/org/traccar/protocol/Gt06ProtocolDecoder.java
parentbeb43ba371de5862a7ca6579daef20c8ffd83f2d (diff)
parentbb6964f03867d039a547c103cd16390f78688022 (diff)
downloadtrackermap-server-442806299eb328b5b41882d04c3dd65650715647.tar.gz
trackermap-server-442806299eb328b5b41882d04c3dd65650715647.tar.bz2
trackermap-server-442806299eb328b5b41882d04c3dd65650715647.zip
Merge branch 'traccar:master' into Teltonika-io30-faultCount
Diffstat (limited to 'src/main/java/org/traccar/protocol/Gt06ProtocolDecoder.java')
-rw-r--r--src/main/java/org/traccar/protocol/Gt06ProtocolDecoder.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/main/java/org/traccar/protocol/Gt06ProtocolDecoder.java b/src/main/java/org/traccar/protocol/Gt06ProtocolDecoder.java
index 02a629103..7013533bc 100644
--- a/src/main/java/org/traccar/protocol/Gt06ProtocolDecoder.java
+++ b/src/main/java/org/traccar/protocol/Gt06ProtocolDecoder.java
@@ -1028,6 +1028,29 @@ public class Gt06ProtocolDecoder extends BaseProtocolDecoder {
position.set(Position.PREFIX_ADC + 1, buf.readUnsignedShort() * 0.01);
return position;
+ } else if (subType == 0x04) {
+
+ CharSequence content = buf.readCharSequence(buf.readableBytes() - 4 - 2, StandardCharsets.US_ASCII);
+ String[] values = content.toString().split(";");
+ for (String value : values) {
+ String[] pair = value.split("=");
+ switch (pair[0]) {
+ case "ALM1":
+ case "ALM2":
+ case "ALM3":
+ position.set("alarm" + pair[0].charAt(3) + "Status", Integer.parseInt(pair[1], 16));
+ case "STA1":
+ position.set("otherStatus", Integer.parseInt(pair[1], 16));
+ break;
+ case "DYD":
+ position.set("engineStatus", Integer.parseInt(pair[1], 16));
+ break;
+ default:
+ break;
+ }
+ }
+ return position;
+
} else if (subType == 0x05) {
if (buf.readableBytes() >= 6 + 1 + 6) {