diff options
-rw-r--r-- | src/main/java/org/traccar/protocol/UproProtocolDecoder.java | 6 | ||||
-rw-r--r-- | src/test/java/org/traccar/protocol/UproProtocolDecoderTest.java | 4 |
2 files changed, 6 insertions, 4 deletions
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); + } } |