diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2021-07-19 19:48:21 -0700 |
---|---|---|
committer | Anton Tananaev <anton.tananaev@gmail.com> | 2021-07-19 19:48:21 -0700 |
commit | b6f241706a3b79b0336bbff059e7b61c8cf58772 (patch) | |
tree | 595afe0486fd15259af31c7e05f0ca4dfc3853b6 /src/main/java | |
parent | 1989e592651c892a63106bbf79d97ac8e89f6b88 (diff) | |
download | traccar-server-b6f241706a3b79b0336bbff059e7b61c8cf58772.tar.gz traccar-server-b6f241706a3b79b0336bbff059e7b61c8cf58772.tar.bz2 traccar-server-b6f241706a3b79b0336bbff059e7b61c8cf58772.zip |
Support Watch temperature
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/org/traccar/protocol/WatchProtocolDecoder.java | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/src/main/java/org/traccar/protocol/WatchProtocolDecoder.java b/src/main/java/org/traccar/protocol/WatchProtocolDecoder.java index db352ac73..7f70e9fff 100644 --- a/src/main/java/org/traccar/protocol/WatchProtocolDecoder.java +++ b/src/main/java/org/traccar/protocol/WatchProtocolDecoder.java @@ -1,5 +1,5 @@ /* - * Copyright 2015 - 2020 Anton Tananaev (anton@traccar.org) + * Copyright 2015 - 2021 Anton Tananaev (anton@traccar.org) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -268,7 +268,8 @@ public class WatchProtocolDecoder extends BaseProtocolDecoder { } else if (type.equalsIgnoreCase("PULSE") || type.equalsIgnoreCase("HEART") || type.equalsIgnoreCase("BLOOD") - || type.equalsIgnoreCase("BPHRT")) { + || type.equalsIgnoreCase("BPHRT") + || type.equalsIgnoreCase("btemp2")) { if (buf.isReadable()) { @@ -280,13 +281,18 @@ public class WatchProtocolDecoder extends BaseProtocolDecoder { String[] values = buf.toString(StandardCharsets.US_ASCII).split(","); int valueIndex = 0; - if (type.equalsIgnoreCase("BPHRT") || type.equalsIgnoreCase("BLOOD")) { - position.set("pressureHigh", values[valueIndex++]); - position.set("pressureLow", values[valueIndex++]); - } - - if (valueIndex <= values.length - 1) { - position.set(Position.KEY_HEART_RATE, Integer.parseInt(values[valueIndex])); + if (type.equalsIgnoreCase("btemp2")) { + if (Integer.parseInt(values[valueIndex++]) > 0) { + position.set(Position.PREFIX_TEMP + 1, Double.parseDouble(values[valueIndex])); + } + } else { + if (type.equalsIgnoreCase("BPHRT") || type.equalsIgnoreCase("BLOOD")) { + position.set("pressureHigh", values[valueIndex++]); + position.set("pressureLow", values[valueIndex++]); + } + if (valueIndex <= values.length - 1) { + position.set(Position.KEY_HEART_RATE, Integer.parseInt(values[valueIndex])); + } } return position; |