aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2020-02-04 22:33:53 -0800
committerAnton Tananaev <anton.tananaev@gmail.com>2020-02-04 22:33:53 -0800
commit2c0563a4f7d4c89551c23c13f17249b5f1b4665a (patch)
tree2d273bd6a46281ef1346f1a76f7691d656fde439 /src/main
parent7e9c68727d65c858264a493003f73195e4f51210 (diff)
downloadtraccar-server-2c0563a4f7d4c89551c23c13f17249b5f1b4665a.tar.gz
traccar-server-2c0563a4f7d4c89551c23c13f17249b5f1b4665a.tar.bz2
traccar-server-2c0563a4f7d4c89551c23c13f17249b5f1b4665a.zip
Implement support for iButton
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/org/traccar/protocol/SuntechProtocolDecoder.java15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/main/java/org/traccar/protocol/SuntechProtocolDecoder.java b/src/main/java/org/traccar/protocol/SuntechProtocolDecoder.java
index 915f764e1..7e520ab3a 100644
--- a/src/main/java/org/traccar/protocol/SuntechProtocolDecoder.java
+++ b/src/main/java/org/traccar/protocol/SuntechProtocolDecoder.java
@@ -614,10 +614,21 @@ public class SuntechProtocolDecoder extends BaseProtocolDecoder {
position.set(Position.KEY_OUTPUT, buf.readUnsignedByte());
}
+ int alertId = 0;
if (BitUtil.check(mask, 19)) {
- int value = buf.readUnsignedByte();
+ alertId = buf.readUnsignedByte();
if (type == 0x82) {
- position.set(Position.KEY_ALARM, decodeAlert(value));
+ position.set(Position.KEY_ALARM, decodeAlert(alertId));
+ }
+ }
+
+ if (BitUtil.check(mask, 20)) {
+ buf.readUnsignedShort(); // alert mod
+ }
+
+ if (BitUtil.check(mask, 21)) {
+ if (alertId == 59) {
+ position.set(Position.KEY_DRIVER_UNIQUE_ID, ByteBufUtil.hexDump(buf.readSlice(8)));
}
}