diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2019-11-05 22:37:55 -0800 |
---|---|---|
committer | Anton Tananaev <anton.tananaev@gmail.com> | 2019-11-05 22:37:55 -0800 |
commit | cce68c7e6c116dc23a66dde7ca5476ad7ea575b2 (patch) | |
tree | ef5f86b800a93734973e24279f10283a5808bde7 | |
parent | 771768c215d31e6b9e4a50079cabdbd96fc62d5f (diff) | |
download | traccar-server-cce68c7e6c116dc23a66dde7ca5476ad7ea575b2.tar.gz traccar-server-cce68c7e6c116dc23a66dde7ca5476ad7ea575b2.tar.bz2 traccar-server-cce68c7e6c116dc23a66dde7ca5476ad7ea575b2.zip |
Decode inputs and outputs
-rw-r--r-- | src/main/java/org/traccar/protocol/SuntechProtocolDecoder.java | 10 | ||||
-rw-r--r-- | src/test/java/org/traccar/protocol/SuntechProtocolDecoderTest.java | 4 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/main/java/org/traccar/protocol/SuntechProtocolDecoder.java b/src/main/java/org/traccar/protocol/SuntechProtocolDecoder.java index 197e93602..cd0b3d363 100644 --- a/src/main/java/org/traccar/protocol/SuntechProtocolDecoder.java +++ b/src/main/java/org/traccar/protocol/SuntechProtocolDecoder.java @@ -593,6 +593,16 @@ public class SuntechProtocolDecoder extends BaseProtocolDecoder { position.setValid(buf.readUnsignedByte() > 0); } + if (BitUtil.check(mask, 17)) { + int input = buf.readUnsignedByte(); + position.set(Position.KEY_IGNITION, BitUtil.check(input, 0)); + position.set(Position.KEY_INPUT, input); + } + + if (BitUtil.check(mask, 18)) { + position.set(Position.KEY_OUTPUT, buf.readUnsignedByte()); + } + return position; } diff --git a/src/test/java/org/traccar/protocol/SuntechProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/SuntechProtocolDecoderTest.java index f2a28558d..3c26a9566 100644 --- a/src/test/java/org/traccar/protocol/SuntechProtocolDecoderTest.java +++ b/src/test/java/org/traccar/protocol/SuntechProtocolDecoderTest.java @@ -62,6 +62,10 @@ public class SuntechProtocolDecoderTest extends ProtocolTest { SuntechProtocolDecoder decoder = new SuntechProtocolDecoder(null); + verifyAttribute(decoder, binary( + "81004e05200013383fffff3401000300130b020b2a0500000000000000000000000047f9ec846a06500000000012010200000123a1002904ba00010fb40000000000000000000000000000000000005989"), + Position.KEY_IGNITION, false); + verifyPosition(decoder, binary( "81004e05200013383fffff3401000301130a0512080400000000000000000000000047f9d5846a06810072225214010100020300a8002604c1000004b000000470000025a100000000000025c4000000a6")); |