aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2017-08-22 05:43:54 +1200
committerAnton Tananaev <anton.tananaev@gmail.com>2017-08-22 05:43:54 +1200
commit7b486504294329c6ac9f6395e3c6b7ca7000acd7 (patch)
treef8f962523aaa889ba8546953999cb33ce07d8934
parent4c9dd75a87d096197b3bf7871ecdfbebfe896707 (diff)
downloadtrackermap-server-7b486504294329c6ac9f6395e3c6b7ca7000acd7.tar.gz
trackermap-server-7b486504294329c6ac9f6395e3c6b7ca7000acd7.tar.bz2
trackermap-server-7b486504294329c6ac9f6395e3c6b7ca7000acd7.zip
Support Chainway CW801 and CW701
-rw-r--r--src/org/traccar/protocol/CarscopProtocolDecoder.java8
-rw-r--r--test/org/traccar/protocol/CarscopProtocolDecoderTest.java6
2 files changed, 12 insertions, 2 deletions
diff --git a/src/org/traccar/protocol/CarscopProtocolDecoder.java b/src/org/traccar/protocol/CarscopProtocolDecoder.java
index ac3df1cd7..2a081bcdd 100644
--- a/src/org/traccar/protocol/CarscopProtocolDecoder.java
+++ b/src/org/traccar/protocol/CarscopProtocolDecoder.java
@@ -44,8 +44,10 @@ public class CarscopProtocolDecoder extends BaseProtocolDecoder {
.number("(ddd.d)") // speed
.number("(dd)(dd)(dd)") // date (yymmdd)
.number("(ddd.dd)") // course
+ .groupBegin()
.number("(d{8})") // state
.number("L(d{6})") // odometer
+ .groupEnd("?")
.compile();
@Override
@@ -88,8 +90,10 @@ public class CarscopProtocolDecoder extends BaseProtocolDecoder {
position.setCourse(parser.nextDouble(0));
- position.set(Position.KEY_STATUS, parser.next());
- position.set(Position.KEY_ODOMETER, parser.nextInt(0));
+ if (parser.hasNext(2)) {
+ position.set(Position.KEY_STATUS, parser.next());
+ position.set(Position.KEY_ODOMETER, parser.nextInt(0));
+ }
return position;
}
diff --git a/test/org/traccar/protocol/CarscopProtocolDecoderTest.java b/test/org/traccar/protocol/CarscopProtocolDecoderTest.java
index 2d6ea208f..7b6f2f28d 100644
--- a/test/org/traccar/protocol/CarscopProtocolDecoderTest.java
+++ b/test/org/traccar/protocol/CarscopProtocolDecoderTest.java
@@ -11,6 +11,12 @@ public class CarscopProtocolDecoderTest extends ProtocolTest {
CarscopProtocolDecoder decoder = new CarscopProtocolDecoder(new CarscopProtocol());
verifyNull(decoder, text(
+ "*170821223045UB00HSO"));
+
+ verifyPosition(decoder, text(
+ "*170821223121UB05ORANGE000731512061825V0000.0000N00000.0000E000.0040331309.62"));
+
+ verifyPosition(decoder, text(
"*170724163029UB05ORANGE000000010061825V0000.0000N00000.0000E000.0040331309.62"));
verifyNull(decoder, text(