From e8741d7ddc28b9c2db3865129368f0a8eaa6b032 Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Fri, 17 Jul 2020 20:28:52 -0700 Subject: Fix battery decoding --- src/main/java/org/traccar/protocol/EskyProtocolDecoder.java | 4 +++- src/test/java/org/traccar/protocol/EskyProtocolDecoderTest.java | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/main/java/org/traccar/protocol/EskyProtocolDecoder.java b/src/main/java/org/traccar/protocol/EskyProtocolDecoder.java index 1a4f9b906..14b4376d5 100644 --- a/src/main/java/org/traccar/protocol/EskyProtocolDecoder.java +++ b/src/main/java/org/traccar/protocol/EskyProtocolDecoder.java @@ -53,6 +53,7 @@ public class EskyProtocolDecoder extends BaseProtocolDecoder { .number("(d+)[+;]") // message type .number("(d+)[+;]") // odometer .groupEnd("?") + .number("(d+)[+;]") // adc 1 .number("(d+)") // voltage .any() .compile(); @@ -93,7 +94,8 @@ public class EskyProtocolDecoder extends BaseProtocolDecoder { position.set(Position.KEY_ODOMETER, parser.nextInt()); } - position.set(Position.KEY_BATTERY, parser.nextInt() * 0.001); + position.set(Position.PREFIX_ADC + 1, parser.nextInt()); + position.set(Position.KEY_BATTERY, parser.nextInt() * 0.01); int index = sentence.lastIndexOf('+'); if (index > 0 && channel instanceof DatagramChannel) { diff --git a/src/test/java/org/traccar/protocol/EskyProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/EskyProtocolDecoderTest.java index 4db80c7ce..8ce9eca78 100644 --- a/src/test/java/org/traccar/protocol/EskyProtocolDecoderTest.java +++ b/src/test/java/org/traccar/protocol/EskyProtocolDecoderTest.java @@ -11,6 +11,10 @@ public class EskyProtocolDecoderTest extends ProtocolTest { EskyProtocolDecoder decoder = new EskyProtocolDecoder(null); + verifyAttribute(decoder, text( + "ET;0;860337031066546;R;9+200717114059+41.32053+19.80761+0.30+0+0x2+8+40381744+0+1409+11"), + Position.KEY_BATTERY, 14.09); + verifyAttribute(decoder, text( "ET;0;860337031078319;R;6+190317162511+41.32536+19.83144+0.14+0+0x0+0+18460312+0+1233+192"), Position.KEY_IGNITION, true); -- cgit v1.2.3