diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2020-07-22 22:38:34 -0700 |
---|---|---|
committer | Anton Tananaev <anton.tananaev@gmail.com> | 2020-07-22 22:38:34 -0700 |
commit | bd12d76efb0fe728f2f001afeb5c5cfaf979af43 (patch) | |
tree | 37051f22324d81606548989ec708edb07ee08386 | |
parent | 44241abf9dbafaec4faa982e673ebf1d447176fd (diff) | |
download | trackermap-server-bd12d76efb0fe728f2f001afeb5c5cfaf979af43.tar.gz trackermap-server-bd12d76efb0fe728f2f001afeb5c5cfaf979af43.tar.bz2 trackermap-server-bd12d76efb0fe728f2f001afeb5c5cfaf979af43.zip |
Fix battery decoding
-rw-r--r-- | src/main/java/org/traccar/protocol/HuabaoProtocolDecoder.java | 9 | ||||
-rw-r--r-- | src/test/java/org/traccar/protocol/HuabaoProtocolDecoderTest.java | 4 |
2 files changed, 11 insertions, 2 deletions
diff --git a/src/main/java/org/traccar/protocol/HuabaoProtocolDecoder.java b/src/main/java/org/traccar/protocol/HuabaoProtocolDecoder.java index 335dcd796..841e2235d 100644 --- a/src/main/java/org/traccar/protocol/HuabaoProtocolDecoder.java +++ b/src/main/java/org/traccar/protocol/HuabaoProtocolDecoder.java @@ -335,8 +335,13 @@ public class HuabaoProtocolDecoder extends BaseProtocolDecoder { position.set(Position.KEY_RSSI, buf.readUnsignedByte()); position.set(Position.KEY_SATELLITES, buf.readUnsignedByte()); position.set(Position.KEY_ODOMETER, buf.readUnsignedInt() * 1000L); - position.set(Position.KEY_BATTERY_LEVEL, buf.readUnsignedByte()); - position.set(Position.KEY_CHARGE, buf.readUnsignedByte() == 0xAA); + + int battery = buf.readUnsignedByte(); + if (battery <= 100) { + position.set(Position.KEY_BATTERY_LEVEL, battery); + } else if (battery == 0xAA) { + position.set(Position.KEY_CHARGE, true); + } position.setNetwork(new Network(CellTower.fromCidLac(buf.readUnsignedInt(), buf.readUnsignedShort()))); diff --git a/src/test/java/org/traccar/protocol/HuabaoProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/HuabaoProtocolDecoderTest.java index 8c4a0278d..f600a77d4 100644 --- a/src/test/java/org/traccar/protocol/HuabaoProtocolDecoderTest.java +++ b/src/test/java/org/traccar/protocol/HuabaoProtocolDecoderTest.java @@ -15,6 +15,10 @@ public class HuabaoProtocolDecoderTest extends ProtocolTest { "7E01000021013345678906000F002C012F373031313142534A2D4D3742203030303030303001D4C1423838383838B47E")); verifyAttribute(decoder, binary( + "7e550104337401903111850622072002454206133574075359513a0000080100000001aa00005ded05e203000000000c06005affb5ffb40a0302dc65100100137e"), + Position.KEY_CHARGE, true); + + verifyAttribute(decoder, binary( "283734303139303331313138352c312c3030312c454c4f434b2c332c35323934333929"), Position.KEY_RESULT, "(740190311185,1,001,ELOCK,3,529439)"); |