diff --git a/src/org/traccar/protocol/GpsMarkerProtocolDecoder.java b/src/org/traccar/protocol/GpsMarkerProtocolDecoder.java index 4f6faa6bac4..89537fa3da5 100644 --- a/src/org/traccar/protocol/GpsMarkerProtocolDecoder.java +++ b/src/org/traccar/protocol/GpsMarkerProtocolDecoder.java @@ -1,5 +1,5 @@ /* - * Copyright 2015 Anton Tananaev (anton.tananaev@gmail.com) + * Copyright 2015 - 2016 Anton Tananaev (anton.tananaev@gmail.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -45,7 +45,7 @@ public GpsMarkerProtocolDecoder(GpsMarkerProtocol protocol) { .number("(ddd)(dd)(dddd)") // longitude .number("(ddd)") // speed .number("(ddd)") // course - .number("(d)") // satellites + .number("(x)") // satellites .number("(dd)") // battery .number("(d)") // input .number("(d)") // output @@ -82,7 +82,7 @@ protected Object decode( position.setSpeed(parser.nextDouble()); position.setCourse(parser.nextDouble()); - position.set(Position.KEY_SATELLITES, parser.next()); + position.set(Position.KEY_SATELLITES, parser.nextInt(16)); position.set(Position.KEY_BATTERY, parser.next()); position.set(Position.KEY_INPUT, parser.next()); position.set(Position.KEY_OUTPUT, parser.next()); diff --git a/test/org/traccar/protocol/GpsMarkerProtocolDecoderTest.java b/test/org/traccar/protocol/GpsMarkerProtocolDecoderTest.java index a8888c48c10..8e25598fc0c 100644 --- a/test/org/traccar/protocol/GpsMarkerProtocolDecoderTest.java +++ b/test/org/traccar/protocol/GpsMarkerProtocolDecoderTest.java @@ -11,6 +11,8 @@ public void testDecode() throws Exception { GpsMarkerProtocolDecoder decoder = new GpsMarkerProtocolDecoder(new GpsMarkerProtocol()); + verifyPosition(decoder, text( + "$GM23D863071014445404T260816142611N55441051E037325071033063C0530304#")); verifyNothing(decoder, text( "$GM300350123456789012T100511123300G25000001772F185200000000000000005230298#"));