diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2014-01-29 22:43:30 +1300 |
---|---|---|
committer | Anton Tananaev <anton.tananaev@gmail.com> | 2014-01-29 22:43:30 +1300 |
commit | 3605d39f6cc6a9ac89afa7fddef16f475cdd728d (patch) | |
tree | 211e6a179c549531fc541471bb1ef40f78f5493c /src/org | |
parent | 47a66c075cd296de40097a8b5288095729c3db57 (diff) | |
download | traccar-server-3605d39f6cc6a9ac89afa7fddef16f475cdd728d.tar.gz traccar-server-3605d39f6cc6a9ac89afa7fddef16f475cdd728d.tar.bz2 traccar-server-3605d39f6cc6a9ac89afa7fddef16f475cdd728d.zip |
Improve Meiligao decoder
Diffstat (limited to 'src/org')
-rw-r--r-- | src/org/traccar/protocol/MeiligaoFrameDecoder.java | 3 | ||||
-rw-r--r-- | src/org/traccar/protocol/MeiligaoProtocolDecoder.java | 6 |
2 files changed, 4 insertions, 5 deletions
diff --git a/src/org/traccar/protocol/MeiligaoFrameDecoder.java b/src/org/traccar/protocol/MeiligaoFrameDecoder.java index ad1db6c89..e54a44286 100644 --- a/src/org/traccar/protocol/MeiligaoFrameDecoder.java +++ b/src/org/traccar/protocol/MeiligaoFrameDecoder.java @@ -39,8 +39,7 @@ public class MeiligaoFrameDecoder extends FrameDecoder { if (buf.readableBytes() >= MESSAGE_HEADER) { int length = buf.getUnsignedShort(buf.readerIndex() + 2); if (buf.readableBytes() >= length) { - buf.skipBytes(MESSAGE_HEADER); - return buf.readBytes(length - MESSAGE_HEADER); + return buf.readBytes(length); } } diff --git a/src/org/traccar/protocol/MeiligaoProtocolDecoder.java b/src/org/traccar/protocol/MeiligaoProtocolDecoder.java index 635f7d67b..f35472319 100644 --- a/src/org/traccar/protocol/MeiligaoProtocolDecoder.java +++ b/src/org/traccar/protocol/MeiligaoProtocolDecoder.java @@ -63,7 +63,7 @@ public class MeiligaoProtocolDecoder extends BaseProtocolDecoder { private String getImei(ChannelBuffer buf) { String id = ""; - for (int i = 0; i < 7; i++) { + for (int i = 4; i < 4 + 7; i++) { int b = buf.getUnsignedByte(i); // First digit @@ -89,7 +89,7 @@ public class MeiligaoProtocolDecoder extends BaseProtocolDecoder { throws Exception { ChannelBuffer buf = (ChannelBuffer) msg; - int command = buf.getUnsignedShort(7); + int command = buf.getUnsignedShort(4 + 7); // Login confirmation if (command == 0x5000) { @@ -112,7 +112,7 @@ public class MeiligaoProtocolDecoder extends BaseProtocolDecoder { } // Payload offset - int offset = 7 + 2; + int offset = 4 + 7 + 2; // Create new position Position position = new Position(); |