aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Tananaev <anton@traccar.org>2023-10-05 16:10:18 +0800
committerAnton Tananaev <anton@traccar.org>2023-10-05 16:10:18 +0800
commitfa2a61f6487c9ad8a338cdacf18f15be9c299cfd (patch)
treee7c30c35a2c5a1d6200d0a6506f2046d3843a3fe
parentb569b3467d214d1cab8f38dfdf43679e5fd8c592 (diff)
downloadtrackermap-server-fa2a61f6487c9ad8a338cdacf18f15be9c299cfd.tar.gz
trackermap-server-fa2a61f6487c9ad8a338cdacf18f15be9c299cfd.tar.bz2
trackermap-server-fa2a61f6487c9ad8a338cdacf18f15be9c299cfd.zip
Fix Seeworld cell decoding
-rw-r--r--src/main/java/org/traccar/protocol/Gt06ProtocolDecoder.java4
-rw-r--r--src/test/java/org/traccar/protocol/Gt06ProtocolDecoderTest.java4
2 files changed, 5 insertions, 3 deletions
diff --git a/src/main/java/org/traccar/protocol/Gt06ProtocolDecoder.java b/src/main/java/org/traccar/protocol/Gt06ProtocolDecoder.java
index e9bdaf194..f676e7363 100644
--- a/src/main/java/org/traccar/protocol/Gt06ProtocolDecoder.java
+++ b/src/main/java/org/traccar/protocol/Gt06ProtocolDecoder.java
@@ -358,7 +358,7 @@ public class Gt06ProtocolDecoder extends BaseProtocolDecoder {
long cid;
if (type == MSG_LBS_ALARM || type == MSG_GPS_LBS_7) {
cid = buf.readLong();
- } else if (type == MSG_GPS_LBS_6) {
+ } else if (type == MSG_GPS_LBS_6 || variant == Variant.SEEWORLD) {
cid = buf.readUnsignedInt();
} else {
cid = buf.readUnsignedMedium();
@@ -1485,6 +1485,8 @@ public class Gt06ProtocolDecoder extends BaseProtocolDecoder {
variant = Variant.SL4X;
} else if (header == 0x7878 && type == MSG_GPS_LBS_2 && length == 0x2f) {
variant = Variant.SEEWORLD;
+ } else if (header == 0x7878 && type == MSG_GPS_LBS_STATUS_1 && length == 0x26) {
+ variant = Variant.SEEWORLD;
} else {
variant = Variant.STANDARD;
}
diff --git a/src/test/java/org/traccar/protocol/Gt06ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Gt06ProtocolDecoderTest.java
index a2ee4d1bc..d573957b3 100644
--- a/src/test/java/org/traccar/protocol/Gt06ProtocolDecoderTest.java
+++ b/src/test/java/org/traccar/protocol/Gt06ProtocolDecoderTest.java
@@ -18,8 +18,8 @@ public class Gt06ProtocolDecoderTest extends ProtocolTest {
"78780D01086471700328358100093F040D0A"));
verifyAttribute(decoder, binary(
- "78782f22170a020b2737cf02c568a8089fc0dc125c4d01369a371b0a6967020000000007327a00000000001500260074544c0d0a"),
- "humidity", 53.76);
+ "78782f221709130f3a32cc02c55f2a089f9afc005c2101360481fe066d9b03000000000025d4000000000020002d036049d70d0a"),
+ Position.PREFIX_TEMP + 1, 0.32);
verifyAttribute(decoder, binary(
"78785995ffff01170719152013df0163d45f041ee52018be002f00876900004556454e545f3836323739383035303137353131325f30303030303030305f323032335f30375f32355f31385f33325f30355f31342e6d70340119d15a0d0a"),