aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/traccar/protocol/C2stekProtocolDecoder.java
diff options
context:
space:
mode:
authorAnton Tananaev <anton@traccar.org>2022-02-22 19:42:25 -0800
committerAnton Tananaev <anton@traccar.org>2022-02-22 19:42:33 -0800
commitde7a373eff79172f0848ca6fce968f99e45af41a (patch)
treedbfcbada74bbd4c6e7e96cd741de8222e9ac7547 /src/main/java/org/traccar/protocol/C2stekProtocolDecoder.java
parent5363b99a75820661b5c5318bc633202be4c352d8 (diff)
downloadtrackermap-server-de7a373eff79172f0848ca6fce968f99e45af41a.tar.gz
trackermap-server-de7a373eff79172f0848ca6fce968f99e45af41a.tar.bz2
trackermap-server-de7a373eff79172f0848ca6fce968f99e45af41a.zip
Fix C2STek MT-20N decoding
Diffstat (limited to 'src/main/java/org/traccar/protocol/C2stekProtocolDecoder.java')
-rw-r--r--src/main/java/org/traccar/protocol/C2stekProtocolDecoder.java8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/main/java/org/traccar/protocol/C2stekProtocolDecoder.java b/src/main/java/org/traccar/protocol/C2stekProtocolDecoder.java
index 83e62ff86..e735c67a1 100644
--- a/src/main/java/org/traccar/protocol/C2stekProtocolDecoder.java
+++ b/src/main/java/org/traccar/protocol/C2stekProtocolDecoder.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2018 Anton Tananaev (anton@traccar.org)
+ * Copyright 2018 - 2022 Anton Tananaev (anton@traccar.org)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -50,7 +50,7 @@ public class C2stekProtocolDecoder extends BaseProtocolDecoder {
.number("(d+)#") // battery
.number("d+#") // geo area alarm
.number("(x+)#") // alarm
- .number("([01])") // armed
+ .number("([01])?") // armed
.number("([01])") // door
.number("([01])#") // ignition
.any()
@@ -111,7 +111,9 @@ public class C2stekProtocolDecoder extends BaseProtocolDecoder {
position.set(Position.KEY_BATTERY, parser.nextInt() * 0.001);
position.set(Position.KEY_ALARM, decodeAlarm(parser.nextHexInt()));
- position.set(Position.KEY_ARMED, parser.nextInt() > 0);
+ if (parser.hasNext()) {
+ position.set(Position.KEY_ARMED, parser.nextInt() > 0);
+ }
position.set(Position.KEY_DOOR, parser.nextInt() > 0);
position.set(Position.KEY_IGNITION, parser.nextInt() > 0);