From 2f49889aa496524b298f764e18f8016e74efab87 Mon Sep 17 00:00:00 2001 From: Sanjeewa Vithanage Date: Sun, 28 Jan 2024 09:28:34 +0200 Subject: fixed with unwanted decimal points ("adc1":12.870000000000001) --- src/main/java/org/traccar/protocol/UproProtocolDecoder.java | 6 ++---- src/test/java/org/traccar/protocol/UproProtocolDecoderTest.java | 4 ++++ 2 files changed, 6 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/main/java/org/traccar/protocol/UproProtocolDecoder.java b/src/main/java/org/traccar/protocol/UproProtocolDecoder.java index 2f88d803c..1167f568c 100644 --- a/src/main/java/org/traccar/protocol/UproProtocolDecoder.java +++ b/src/main/java/org/traccar/protocol/UproProtocolDecoder.java @@ -311,10 +311,8 @@ public class UproProtocolDecoder extends BaseProtocolDecoder { } break; case 'd': - if (data.readableBytes() > 3) { - position.set(Position.PREFIX_ADC + 1, Integer.parseInt(data.readSlice(5). - toString(StandardCharsets.US_ASCII)) * 0.01); - } + position.set(Position.PREFIX_ADC + 1, Integer.parseInt(data. + toString(StandardCharsets.US_ASCII))/100.0); break; default: break; diff --git a/src/test/java/org/traccar/protocol/UproProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/UproProtocolDecoderTest.java index ca2944c04..f070c6201 100644 --- a/src/test/java/org/traccar/protocol/UproProtocolDecoderTest.java +++ b/src/test/java/org/traccar/protocol/UproProtocolDecoderTest.java @@ -87,6 +87,10 @@ public class UproProtocolDecoderTest extends ProtocolTest { "*HQ200862312328000001,AD1&A1520441548253003503696640017270124&B0000000000&C00000117&F0000&R2118&N01&V0125&X(J01E0)&K00300&Z000&d01286"), Position.PREFIX_ADC + 1, 12.86); + verifyAttribute(decoder, buffer( + "*HQ200862312328000001,BA&A1520461548253003503696640017270124&B0000000000&C00000117&F0000&R2218&N01&V0125&X(J01E0)&K00300&Z000&d01287"), + Position.PREFIX_ADC + 1, 12.87); + } } -- cgit v1.2.3