aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/org/traccar/protocol/TotemProtocolDecoder.java11
-rw-r--r--test/org/traccar/protocol/TotemProtocolDecoderTest.java3
2 files changed, 10 insertions, 4 deletions
diff --git a/src/org/traccar/protocol/TotemProtocolDecoder.java b/src/org/traccar/protocol/TotemProtocolDecoder.java
index ef4c6e5eb..a22bbf71e 100644
--- a/src/org/traccar/protocol/TotemProtocolDecoder.java
+++ b/src/org/traccar/protocol/TotemProtocolDecoder.java
@@ -64,8 +64,9 @@ public class TotemProtocolDecoder extends BaseProtocolDecoder {
"(\\d+.\\d+)\\|" + // Odometer
"\\d+\\|" + // Serial Number
".*\\|?" +
- "\\p{XDigit}{4}"); // Checksum
-
+ "\\p{XDigit}{4}" + // Checksum
+ "\r?\n?");
+
private static final Pattern patternSecond = Pattern.compile(
"\\$\\$" + // Header
"\\p{XDigit}{2}" + // Length
@@ -90,7 +91,8 @@ public class TotemProtocolDecoder extends BaseProtocolDecoder {
"(\\d+)\\|" + // Temperature
"(\\d+.\\d+)\\|" + // Odometer
"\\d+\\|" + // Serial Number
- "\\p{XDigit}{4}"); // Checksum
+ "\\p{XDigit}{4}" + // Checksum
+ "\r?\n?");
private static final Pattern patternThird = Pattern.compile(
"\\$\\$" + // Header
@@ -119,7 +121,8 @@ public class TotemProtocolDecoder extends BaseProtocolDecoder {
"(\\d{3})(\\d{2}\\.\\d{4})" + // Longitude (DDDMM.MMMM)
"([EW])" +
"\\d{4}" + // Serial Number
- "\\p{XDigit}{4}"); // Checksum
+ "\\p{XDigit}{4}" + // Checksum
+ "\r?\n?");
private enum MessageFormat {
first,
diff --git a/test/org/traccar/protocol/TotemProtocolDecoderTest.java b/test/org/traccar/protocol/TotemProtocolDecoderTest.java
index c845d12a6..cdb6be355 100644
--- a/test/org/traccar/protocol/TotemProtocolDecoderTest.java
+++ b/test/org/traccar/protocol/TotemProtocolDecoderTest.java
@@ -15,6 +15,9 @@ public class TotemProtocolDecoderTest extends ProtocolDecoderTest {
verify(decoder.decode(null, null,
"$$AE860990002922822|AA$GPRMC,051002.00,A,0439.26245,N,10108.94448,E,0.023,,140315,,,A*71|02.98|01.95|02.26|000000000000|20150314051003|13841157|105A3B1C|0000|0.0000|0005|5324"));
+ verify(decoder.decode(null, null,
+ "$$AE860990002922822|AA$GPRMC,051002.00,A,0439.26245,N,10108.94448,E,0.023,,140315,,,A*71|02.98|01.95|02.26|000000000000|20150314051003|13841157|105A3B1C|0000|0.0000|0005|5324\r"));
+
assertNull(decoder.decode(null, null,
"$$BB862170017856731|AA$GPRMC,000000.00,V,0000.0000,N,00000.0000,E,000.0,000.0,000000,,,A*73|00.0|00.0|00.0|000000001000|20000000000000|13790000|00000000|00000000|00000000|0.0000|0007|8C23"));