diff options
Diffstat (limited to 'src/org')
-rw-r--r-- | src/org/traccar/helper/Crc.java | 2 | ||||
-rw-r--r-- | src/org/traccar/protocol/MeiligaoProtocolDecoder.java | 5 |
2 files changed, 2 insertions, 5 deletions
diff --git a/src/org/traccar/helper/Crc.java b/src/org/traccar/helper/Crc.java index 418ec3132..522a25403 100644 --- a/src/org/traccar/helper/Crc.java +++ b/src/org/traccar/helper/Crc.java @@ -172,7 +172,7 @@ public class Crc { remain /= 10; } - return 10 - (checksum % 10); + return (10 - (checksum % 10)) % 10; } } diff --git a/src/org/traccar/protocol/MeiligaoProtocolDecoder.java b/src/org/traccar/protocol/MeiligaoProtocolDecoder.java index c660107ca..faf3a5baf 100644 --- a/src/org/traccar/protocol/MeiligaoProtocolDecoder.java +++ b/src/org/traccar/protocol/MeiligaoProtocolDecoder.java @@ -98,14 +98,11 @@ public class MeiligaoProtocolDecoder extends BaseProtocolDecoder { } if (id.length() == 14) { + // Try to recreate full IMEI number // Sometimes first digit is cut, so this won't work if (identify(id + Crc.luhnChecksum(Long.valueOf(id)), channel, null, false)) { return true; } - } else if (id.length() > 15) { - if (identify(id.substring(0, 15), channel, null, false)) { - return true; - } } return identify(id, channel); |