aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/traccar/protocol
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/traccar/protocol')
-rw-r--r--src/main/java/org/traccar/protocol/H02ProtocolDecoder.java23
1 files changed, 10 insertions, 13 deletions
diff --git a/src/main/java/org/traccar/protocol/H02ProtocolDecoder.java b/src/main/java/org/traccar/protocol/H02ProtocolDecoder.java
index c4443a00b..6f1a4f01e 100644
--- a/src/main/java/org/traccar/protocol/H02ProtocolDecoder.java
+++ b/src/main/java/org/traccar/protocol/H02ProtocolDecoder.java
@@ -88,19 +88,16 @@ public class H02ProtocolDecoder extends BaseProtocolDecoder {
}
private Integer decodeBattery(int value) {
- switch (value) {
- case 6:
- return 100;
- case 5:
- return 80;
- case 4:
- return 60;
- case 3:
- return 20;
- case 2:
- return 10;
- default:
- return null;
+ if (value <= 3) {
+ return (value - 1) * 10;
+ } else if (value <= 6) {
+ return (value - 1) * 20;
+ } else if (value <= 100) {
+ return value;
+ } else if (value >= 0xF1 && value <= 0xF6) {
+ return value - 0xF0;
+ } else {
+ return null;
}
}