aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/protocol/Tk103ProtocolDecoder.java
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2016-08-05 08:50:20 +0300
committerGitHub <noreply@github.com>2016-08-05 08:50:20 +0300
commite15f80a0eb5c57a90a98773e8d21ae20e98a8910 (patch)
tree3d81f8c60ef3fe8adcd0064c01ab0695122baa8f /src/org/traccar/protocol/Tk103ProtocolDecoder.java
parent132fbb9bd658490ea77aae50e20257b680c3cceb (diff)
parent791a010e5a449a27e8243b9bc98c918ffa054eac (diff)
downloadtraccar-server-e15f80a0eb5c57a90a98773e8d21ae20e98a8910.tar.gz
traccar-server-e15f80a0eb5c57a90a98773e8d21ae20e98a8910.tar.bz2
traccar-server-e15f80a0eb5c57a90a98773e8d21ae20e98a8910.zip
Merge pull request #2166 from Abyss777/alarms
Organized alarms in the first part of protocols
Diffstat (limited to 'src/org/traccar/protocol/Tk103ProtocolDecoder.java')
-rw-r--r--src/org/traccar/protocol/Tk103ProtocolDecoder.java21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/org/traccar/protocol/Tk103ProtocolDecoder.java b/src/org/traccar/protocol/Tk103ProtocolDecoder.java
index a76c208b5..55a41f5a2 100644
--- a/src/org/traccar/protocol/Tk103ProtocolDecoder.java
+++ b/src/org/traccar/protocol/Tk103ProtocolDecoder.java
@@ -75,6 +75,25 @@ public class Tk103ProtocolDecoder extends BaseProtocolDecoder {
.any()
.compile();
+ private String decodeAlarm(int value) {
+ switch (value) {
+ case 1:
+ return Position.ALARM_ACCIDENT;
+ case 2:
+ return Position.ALARM_SOS;
+ case 3:
+ return Position.ALARM_VIBRATION;
+ case 4:
+ return Position.ALARM_LOW_SPEED;
+ case 5:
+ return Position.ALARM_OVERSPEED;
+ case 6:
+ return Position.ALARM_GEOFENCE_EXIT;
+ default:
+ return null;
+ }
+ }
+
@Override
protected Object decode(
Channel channel, SocketAddress remoteAddress, Object msg) throws Exception {
@@ -160,7 +179,7 @@ public class Tk103ProtocolDecoder extends BaseProtocolDecoder {
int alarm = sentence.indexOf("BO01");
if (alarm != -1) {
- position.set(Position.KEY_ALARM, Integer.parseInt(sentence.substring(alarm + 4, alarm + 5)));
+ position.set(Position.KEY_ALARM, decodeAlarm(Integer.parseInt(sentence.substring(alarm + 4, alarm + 5))));
}
DateBuilder dateBuilder = new DateBuilder();