From dc775e0e114737e3078270bf45d131446b8e6058 Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Sun, 27 Jul 2014 09:00:10 +0200 Subject: Support PT501 device (fix #786) --- src/org/traccar/protocol/Pt502ProtocolDecoder.java | 10 +++++----- test/org/traccar/protocol/Pt502ProtocolDecoderTest.java | 3 +++ 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/org/traccar/protocol/Pt502ProtocolDecoder.java b/src/org/traccar/protocol/Pt502ProtocolDecoder.java index 6986bf22b..179219038 100644 --- a/src/org/traccar/protocol/Pt502ProtocolDecoder.java +++ b/src/org/traccar/protocol/Pt502ProtocolDecoder.java @@ -1,6 +1,6 @@ /* - * Copyright 2012 Anton Tananaev (anton.tananaev@gmail.com) - * Luis Parada (luis.parada@gmail.com) + * Copyright 2012 - 2014 Anton Tananaev (anton.tananaev@gmail.com) + * Luis Parada (luis.parada@gmail.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -34,8 +34,8 @@ public class Pt502ProtocolDecoder extends BaseProtocolDecoder { super(serverManager); } - static private Pattern pattern = Pattern.compile( - "\\$POS," + // Data Frame start + private static final Pattern pattern = Pattern.compile( + ".*\\$POS," + // Data Frame start "(\\d+)," + // Id "(\\d{2})(\\d{2})(\\d{2})\\.(\\d{3})," + // Time (HHMMSS.SSS) "([AV])," + // Validity @@ -86,7 +86,7 @@ public class Pt502ProtocolDecoder extends BaseProtocolDecoder { time.set(Calendar.MILLISECOND, Integer.valueOf(parser.group(index++))); // Validity - position.setValid(parser.group(index++).compareTo("A") == 0 ? true : false); + position.setValid(parser.group(index++).compareTo("A") == 0); // Latitude Double latitude = Double.valueOf(parser.group(index++)); diff --git a/test/org/traccar/protocol/Pt502ProtocolDecoderTest.java b/test/org/traccar/protocol/Pt502ProtocolDecoderTest.java index 8ca902a2c..bf7a3962c 100644 --- a/test/org/traccar/protocol/Pt502ProtocolDecoderTest.java +++ b/test/org/traccar/protocol/Pt502ProtocolDecoderTest.java @@ -29,6 +29,9 @@ public class Pt502ProtocolDecoderTest { verify(decoder.decode(null, null, "$POS,353451000164,082405.000,A,1254.8501,N,10051.6752,E,0.00,237.99,160513,,,A/0000,0/0/55000//a71/")); + + verify(decoder.decode(null, null, + "\u00bf\u00fb\u0059\u006c\u0000$POS,012896008586486,154215.000,A,0118.0143,S,03646.9144,E,0.00,83.29,180714,,,A/0000,0/0/29200//644/")); } -- cgit v1.2.3