diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2021-12-07 22:05:37 -0800 |
---|---|---|
committer | Anton Tananaev <anton.tananaev@gmail.com> | 2021-12-07 22:05:37 -0800 |
commit | 955c1abe0753a030846db552c6eea262d7d326d1 (patch) | |
tree | 48eef182b03266aa6ffd8993b11909bc09081713 | |
parent | c0c7077ab4dd21382d880a250f424d093da26d7b (diff) | |
download | trackermap-server-955c1abe0753a030846db552c6eea262d7d326d1.tar.gz trackermap-server-955c1abe0753a030846db552c6eea262d7d326d1.tar.bz2 trackermap-server-955c1abe0753a030846db552c6eea262d7d326d1.zip |
Alternative alarm type set
-rw-r--r-- | src/main/java/org/traccar/protocol/T800xProtocolDecoder.java | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/src/main/java/org/traccar/protocol/T800xProtocolDecoder.java b/src/main/java/org/traccar/protocol/T800xProtocolDecoder.java index d56826cd9..b15688df0 100644 --- a/src/main/java/org/traccar/protocol/T800xProtocolDecoder.java +++ b/src/main/java/org/traccar/protocol/T800xProtocolDecoder.java @@ -77,7 +77,7 @@ public class T800xProtocolDecoder extends BaseProtocolDecoder { } } - private String decodeAlarm(int value) { + private String decodeAlarm1(int value) { switch (value) { case 1: return Position.ALARM_POWER_CUT; @@ -107,6 +107,28 @@ public class T800xProtocolDecoder extends BaseProtocolDecoder { } } + private String decodeAlarm2(int value) { + switch (value) { + case 1: + case 4: + return Position.ALARM_REMOVING; + case 2: + return Position.ALARM_TAMPERING; + case 3: + return Position.ALARM_SOS; + case 5: + return Position.ALARM_FALL_DOWN; + case 6: + return Position.ALARM_LOW_BATTERY; + case 14: + return Position.ALARM_GEOFENCE_ENTER; + case 15: + return Position.ALARM_GEOFENCE_EXIT; + default: + return null; + } + } + private Date readDate(ByteBuf buf) { return new DateBuilder() .setYear(BcdUtil.readInteger(buf, 2)) @@ -374,7 +396,7 @@ public class T800xProtocolDecoder extends BaseProtocolDecoder { } int alarm = buf.readUnsignedByte(); - position.set(Position.KEY_ALARM, decodeAlarm(alarm)); + position.set(Position.KEY_ALARM, header != 0x2727 ? decodeAlarm1(alarm) : decodeAlarm2(alarm)); if (header != 0x2727) { |