diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2020-06-30 22:34:12 -0700 |
---|---|---|
committer | Anton Tananaev <anton.tananaev@gmail.com> | 2020-06-30 22:34:12 -0700 |
commit | 513e94358c48a070eea947e6123c3affc59b4e5e (patch) | |
tree | b105718f3482340ce7eb58c2a6efd59e071452d5 /src | |
parent | 8edc2c5877b24c2fafdbc6e4bd0350cccb9122a4 (diff) | |
download | traccar-server-513e94358c48a070eea947e6123c3affc59b4e5e.tar.gz traccar-server-513e94358c48a070eea947e6123c3affc59b4e5e.tar.bz2 traccar-server-513e94358c48a070eea947e6123c3affc59b4e5e.zip |
Improve Topin decoder
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/org/traccar/protocol/TopinProtocolDecoder.java | 13 | ||||
-rw-r--r-- | src/test/java/org/traccar/protocol/TopinProtocolDecoderTest.java | 6 |
2 files changed, 10 insertions, 9 deletions
diff --git a/src/main/java/org/traccar/protocol/TopinProtocolDecoder.java b/src/main/java/org/traccar/protocol/TopinProtocolDecoder.java index df325bc69..c817f500a 100644 --- a/src/main/java/org/traccar/protocol/TopinProtocolDecoder.java +++ b/src/main/java/org/traccar/protocol/TopinProtocolDecoder.java @@ -134,19 +134,14 @@ public class TopinProtocolDecoder extends BaseProtocolDecoder { getLastLocation(position, null); - int battery = buf.readUnsignedByte(); - int firmware = buf.readUnsignedByte(); - int timezone = buf.readUnsignedByte(); + position.set(Position.KEY_BATTERY_LEVEL, buf.readUnsignedByte()); + position.set(Position.KEY_VERSION_FW, buf.readUnsignedByte()); + buf.readUnsignedByte(); // timezone int interval = buf.readUnsignedByte(); - int signal = 0; if (length >= 7) { - signal = buf.readUnsignedByte(); - position.set(Position.KEY_RSSI, signal); + position.set(Position.KEY_RSSI, buf.readUnsignedByte()); } - position.set(Position.KEY_BATTERY_LEVEL, battery); - position.set(Position.KEY_VERSION_FW, firmware); - ByteBuf content = Unpooled.buffer(); content.writeByte(interval); sendResponse(channel, length, type, content); diff --git a/src/test/java/org/traccar/protocol/TopinProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/TopinProtocolDecoderTest.java index e212a0f15..0e04c0a19 100644 --- a/src/test/java/org/traccar/protocol/TopinProtocolDecoderTest.java +++ b/src/test/java/org/traccar/protocol/TopinProtocolDecoderTest.java @@ -13,6 +13,12 @@ public class TopinProtocolDecoderTest extends ProtocolTest { verifyNull(decoder, binary( "78780d0103593390754169634d0d0a")); + verifyPosition(decoder, binary( + "787812100A03170F32179C026B3F3E0C22AD651F34600D0A")); + + verifyAttributes(decoder, binary( + "78780a132827010063000000000d0a")); + verifyNotNull(decoder, binary( "7878001719111120141807019456465111aa3c465111ab464651c1a550465106b150465342f750465342f65a465111a95a000d0a")); |