aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/helper
diff options
context:
space:
mode:
authoruser <user@laptop.(none)>2012-10-21 21:42:46 +1300
committeruser <user@laptop.(none)>2012-10-21 21:42:46 +1300
commit0af1cebf1e2f3f719edf5391252fcd4004a75157 (patch)
treed897174c4890a8f4039e24f44020c02411c7c902 /src/org/traccar/helper
parenta3441d3bcd02ec48e408957dfdc61dc6850bc339 (diff)
downloadtraccar-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.java20
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();
+ }
}