diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2021-09-24 22:21:43 -0700 |
---|---|---|
committer | Anton Tananaev <anton.tananaev@gmail.com> | 2021-09-24 22:21:43 -0700 |
commit | 49a5ac1259f299615e56d5d8e733234a4d7364bd (patch) | |
tree | ddfa846cda87ef6f678def52f73cfced9dbfc8f8 /src | |
parent | 0410bce8df4f66aec23232caf03100a36527d15b (diff) | |
download | traccar-server-49a5ac1259f299615e56d5d8e733234a4d7364bd.tar.gz traccar-server-49a5ac1259f299615e56d5d8e733234a4d7364bd.tar.bz2 traccar-server-49a5ac1259f299615e56d5d8e733234a4d7364bd.zip |
GPS rollover fix for MXT
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/org/traccar/protocol/MxtProtocolDecoder.java | 6 | ||||
-rw-r--r-- | src/test/java/org/traccar/protocol/MxtProtocolDecoderTest.java | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/main/java/org/traccar/protocol/MxtProtocolDecoder.java b/src/main/java/org/traccar/protocol/MxtProtocolDecoder.java index 7bde85f87..c36be9cbf 100644 --- a/src/main/java/org/traccar/protocol/MxtProtocolDecoder.java +++ b/src/main/java/org/traccar/protocol/MxtProtocolDecoder.java @@ -1,5 +1,5 @@ /* - * Copyright 2015 - 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2015 - 2021 Anton Tananaev (anton@traccar.org) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -97,6 +97,10 @@ public class MxtProtocolDecoder extends BaseProtocolDecoder { long date = buf.readUnsignedIntLE(); long days = BitUtil.from(date, 6 + 6 + 5); + if (days < 7 * 1024) { + days += 7 * 1024; + } + long hours = BitUtil.between(date, 6 + 6, 6 + 6 + 5); long minutes = BitUtil.between(date, 6, 6 + 6); long seconds = BitUtil.to(date, 6); diff --git a/src/test/java/org/traccar/protocol/MxtProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/MxtProtocolDecoderTest.java index 71ad22a96..301b6102b 100644 --- a/src/test/java/org/traccar/protocol/MxtProtocolDecoderTest.java +++ b/src/test/java/org/traccar/protocol/MxtProtocolDecoderTest.java @@ -11,6 +11,9 @@ public class MxtProtocolDecoderTest extends ProtocolTest { var decoder = new MxtProtocolDecoder(null); verifyPosition(decoder, binary( + "01a631a7627b00087dc41c40850006aab70affecdf23fd32200080000600000000000000000000001b2ff03b1bb9c4c60214f40100050000006c2d0000f427600051051101de0704")); + + verifyPosition(decoder, binary( "01a631144c7e0008643ad2f456fb2d49747cfe4cbe0ffd002008800000001021000fd43d3f1403000000ff300000f42760001031102445a81fda04")); verifyPosition(decoder, binary( |