diff options
Diffstat (limited to 'src/main/java/org/traccar/protocol/Minifinder2ProtocolDecoder.java')
-rw-r--r-- | src/main/java/org/traccar/protocol/Minifinder2ProtocolDecoder.java | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/src/main/java/org/traccar/protocol/Minifinder2ProtocolDecoder.java b/src/main/java/org/traccar/protocol/Minifinder2ProtocolDecoder.java index 641a45864..059041d6b 100644 --- a/src/main/java/org/traccar/protocol/Minifinder2ProtocolDecoder.java +++ b/src/main/java/org/traccar/protocol/Minifinder2ProtocolDecoder.java @@ -124,14 +124,6 @@ public class Minifinder2ProtocolDecoder extends BaseProtocolDecoder { } } - private String readTagId(ByteBuf buf) { - StringBuilder tagId = new StringBuilder(); - for (int i = 0; i < 6; i++) { - tagId.insert(0, ByteBufUtil.hexDump(buf.readSlice(1))); - } - return tagId.toString(); - } - @Override protected Object decode( Channel channel, SocketAddress remoteAddress, Object msg) throws Exception { @@ -222,7 +214,7 @@ public class Minifinder2ProtocolDecoder extends BaseProtocolDecoder { } break; case 0x23: - position.set("tagId", readTagId(buf)); + position.set("tagId", ByteBufUtil.hexDump(buf.readSlice(6))); position.setLatitude(buf.readIntLE() * 0.0000001); position.setLongitude(buf.readIntLE() * 0.0000001); position.setValid(true); @@ -236,9 +228,9 @@ public class Minifinder2ProtocolDecoder extends BaseProtocolDecoder { break; case 0x28: int beaconFlags = buf.readUnsignedByte(); - position.set("tagId", readTagId(buf)); - position.set("tagRssi", (int) buf.readByte()); - position.set("tag1mRssi", (int) buf.readByte()); + position.set("tagId", ByteBufUtil.hexDump(buf.readSlice(6))); + position.set("tagRssi", buf.readUnsignedByte()); + buf.readUnsignedByte(); // 1m rssi if (BitUtil.check(beaconFlags, 7)) { position.setLatitude(buf.readIntLE() * 0.0000001); position.setLongitude(buf.readIntLE() * 0.0000001); |