diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2016-08-16 13:48:07 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-08-16 13:48:07 +0300 |
commit | 376bd7a7342ed46f20b7c0c94d7c9b0074ae99f3 (patch) | |
tree | 3e1336a0597ca649f54e2b271a96df4b37273c9b /src/org/traccar/protocol/EelinkProtocolDecoder.java | |
parent | 70bea1304ded17bb8a94ce8495d1e395e7cdf748 (diff) | |
parent | 96f0143b2cbbb93f1c325e1df7c66a2fc3d55b7e (diff) | |
download | trackermap-server-376bd7a7342ed46f20b7c0c94d7c9b0074ae99f3.tar.gz trackermap-server-376bd7a7342ed46f20b7c0c94d7c9b0074ae99f3.tar.bz2 trackermap-server-376bd7a7342ed46f20b7c0c94d7c9b0074ae99f3.zip |
Merge pull request #2219 from Abyss777/alarms_2
Alarm decoding for next protocols
Diffstat (limited to 'src/org/traccar/protocol/EelinkProtocolDecoder.java')
-rw-r--r-- | src/org/traccar/protocol/EelinkProtocolDecoder.java | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/src/org/traccar/protocol/EelinkProtocolDecoder.java b/src/org/traccar/protocol/EelinkProtocolDecoder.java index 85f231a17..24cd6b570 100644 --- a/src/org/traccar/protocol/EelinkProtocolDecoder.java +++ b/src/org/traccar/protocol/EelinkProtocolDecoder.java @@ -64,6 +64,36 @@ public class EelinkProtocolDecoder extends BaseProtocolDecoder { } } + private String decodeAlarm(Short value) { + switch (value) { + case 0x01: + return Position.ALARM_POWER_OFF; + case 0x02: + return Position.ALARM_SOS; + case 0x03: + return Position.ALARM_LOW_BATTERY; + case 0x04: + return Position.ALARM_VIBRATION; + case 0x08: + case 0x09: + return Position.ALARM_GPS_ANTENNA_CUT; + case 0x81: + return Position.ALARM_LOW_SPEED; + case 0x82: + return Position.ALARM_OVERSPEED; + case 0x83: + return Position.ALARM_GEOFENCE_ENTER; + case 0x84: + return Position.ALARM_GEOFENCE_EXIT; + case 0x85: + return Position.ALARM_ACCIDENT; + case 0x86: + return Position.ALARM_FALL_DOWN; + default: + return null; + } + } + private Position decodeOld(DeviceSession deviceSession, ChannelBuffer buf, int type, int index) { Position position = new Position(); @@ -90,7 +120,7 @@ public class EelinkProtocolDecoder extends BaseProtocolDecoder { } if (type == MSG_STATE) { - position.set(Position.KEY_STATUS, buf.readUnsignedByte()); + position.set(Position.KEY_STATUS, decodeAlarm(buf.readUnsignedByte())); } return position; |