aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/org/traccar/protocol/Gl200TextProtocolDecoder.java23
1 files changed, 12 insertions, 11 deletions
diff --git a/src/main/java/org/traccar/protocol/Gl200TextProtocolDecoder.java b/src/main/java/org/traccar/protocol/Gl200TextProtocolDecoder.java
index 817e03f67..16098bc05 100644
--- a/src/main/java/org/traccar/protocol/Gl200TextProtocolDecoder.java
+++ b/src/main/java/org/traccar/protocol/Gl200TextProtocolDecoder.java
@@ -52,35 +52,35 @@ public class Gl200TextProtocolDecoder extends BaseProtocolDecoder {
private final DateFormat dateFormat;
- private static final HashMap<String, String> devices = new HashMap<String, String>() {{
- put("52", "GL50");
- put("55", "GL50B");
+ private static final HashMap<String, String> devices = new HashMap<String, String>() {{
put("02", "GL200");
put("04", "GV200");
put("06", "GV300");
put("08", "GMT100");
put("09", "GV50P"); // GV50 Plus
put("0F", "GV55");
- put("50", "GV55W");
put("10", "GV55 LITE");
put("11", "GL500");
put("1A", "GL300");
put("1F", "GV500");
- put("5E", "GV500MAP");
put("25", "GV300"); // New Version
- put("35", "GV200"); // New Version
put("27", "GV300W");
+ put("2C", "GL300W"); // New version
put("2F", "GV55"); // New Version
put("30", "GL300"); // New Version
+ put("35", "GV200"); // New Version
put("36", "GV500"); // New Version
- put("2C", "GL300W"); // New version
put("3F", "GMT100"); // New version
- put("F8", "GV800W");
put("41", "GV75W");
- put("FC", "GV600W");
+ put("50", "GV55W");
+ put("52", "GL50");
+ put("55", "GL50B");
+ put("5E", "GV500MAP");
put("6E", "GV310LAU");
put("C2", "GV600M");
put("F1", "GV350M");
+ put("F8", "GV800W");
+ put("FC", "GV600W");
put("802004", "GV58LAU");
put("802005", "GV355CEU");
}};
@@ -248,7 +248,8 @@ public class Gl200TextProtocolDecoder extends BaseProtocolDecoder {
position.set(Position.KEY_ICCID, parser.next());
position.set(Position.KEY_RSSI, parser.nextInt());
- if (protocolVersion.startsWith("6E")) { // GV310LAU
+ String model = getDeviceModel(deviceSession, "", protocolVersion);
+ if (model.equals("GV310LAU")) {
position.set(Position.KEY_POWER, parser.nextDouble() / 1000); // odometer or external power
} else {
parser.next(); // odometer or external power
@@ -263,7 +264,7 @@ public class Gl200TextProtocolDecoder extends BaseProtocolDecoder {
position.set(Position.PREFIX_ADC + 1, parser.next());
position.set(Position.PREFIX_ADC + 2, parser.next());
- if (protocolVersion.startsWith("6E")) {
+ if (model.equals("GV310LAU")) {
position.set(Position.PREFIX_ADC + 3, parser.next());
}