aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorAnton Tananaev <anton@traccar.org>2023-03-31 17:26:13 -0700
committerAnton Tananaev <anton@traccar.org>2023-03-31 17:26:13 -0700
commit5c26f25b3b0afc509c76bfc4a111dbc383efee26 (patch)
tree3eeca0d6795e830c0f1de60bbfe8cc702c624603 /src/main/java
parentc2dad387cb769284b279d8f0738a3f5b04c7819b (diff)
downloadtrackermap-server-5c26f25b3b0afc509c76bfc4a111dbc383efee26.tar.gz
trackermap-server-5c26f25b3b0afc509c76bfc4a111dbc383efee26.tar.bz2
trackermap-server-5c26f25b3b0afc509c76bfc4a111dbc383efee26.zip
Multiple battery levels
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/traccar/protocol/MeitrackProtocolDecoder.java15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/main/java/org/traccar/protocol/MeitrackProtocolDecoder.java b/src/main/java/org/traccar/protocol/MeitrackProtocolDecoder.java
index 3f1f7f506..0f0d22021 100644
--- a/src/main/java/org/traccar/protocol/MeitrackProtocolDecoder.java
+++ b/src/main/java/org/traccar/protocol/MeitrackProtocolDecoder.java
@@ -554,15 +554,14 @@ public class MeitrackProtocolDecoder extends BaseProtocolDecoder {
buf.skipBytes(length - 2);
break;
case 0xFEA8:
- if (buf.readUnsignedByte() > 0) {
- position.set(Position.KEY_BATTERY_LEVEL, buf.readUnsignedByte());
- } else {
- buf.readUnsignedByte();
+ for (int k = 1; k <= 3; k++) {
+ if (buf.readUnsignedByte() > 0) {
+ String key = k == 1 ? Position.KEY_BATTERY_LEVEL : "battery" + k + "Level";
+ position.set(key, buf.readUnsignedByte());
+ } else {
+ buf.readUnsignedByte();
+ }
}
- buf.readUnsignedByte(); // battery 2 status
- buf.readUnsignedByte(); // battery 2 level
- buf.readUnsignedByte(); // battery 3 status
- buf.readUnsignedByte(); // battery 3 level
buf.readUnsignedByte(); // battery alert
break;
default: