diff options
author | user <user@laptop.(none)> | 2012-10-21 21:42:46 +1300 |
---|---|---|
committer | user <user@laptop.(none)> | 2012-10-21 21:42:46 +1300 |
commit | 0af1cebf1e2f3f719edf5391252fcd4004a75157 (patch) | |
tree | d897174c4890a8f4039e24f44020c02411c7c902 /src/org/traccar/helper | |
parent | a3441d3bcd02ec48e408957dfdc61dc6850bc339 (diff) | |
download | traccar-server-0af1cebf1e2f3f719edf5391252fcd4004a75157.tar.gz traccar-server-0af1cebf1e2f3f719edf5391252fcd4004a75157.tar.bz2 traccar-server-0af1cebf1e2f3f719edf5391252fcd4004a75157.zip |
JT600 protocol fix
Diffstat (limited to 'src/org/traccar/helper')
-rw-r--r-- | src/org/traccar/helper/ChannelBufferTools.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/org/traccar/helper/ChannelBufferTools.java b/src/org/traccar/helper/ChannelBufferTools.java index 9139ed7ae..4f1ebb7c0 100644 --- a/src/org/traccar/helper/ChannelBufferTools.java +++ b/src/org/traccar/helper/ChannelBufferTools.java @@ -15,6 +15,7 @@ */ package org.traccar.helper; +import java.util.Formatter; import org.jboss.netty.buffer.ChannelBuffer; /** @@ -77,4 +78,23 @@ public class ChannelBufferTools { return result; } + /** + * Return hex string + */ + public static String readHexString(ChannelBuffer buf, int length) { + + StringBuilder result = new StringBuilder(); + Formatter formatter = new Formatter(result); + + for (int i = 0; i < length / 2; i++) { + formatter.format("%02x", buf.readByte()); + } + + if (length % 2 == 1) { + int b = buf.getUnsignedByte(buf.readerIndex()); + formatter.format("%01x", b >>> 4); + } + + return result.toString(); + } } |