aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/helper
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2016-03-07 23:53:46 +1300
committerAnton Tananaev <anton.tananaev@gmail.com>2016-03-07 23:53:46 +1300
commit77158ade988919ce63c905f8328dc6af2ac097c3 (patch)
tree0444e2d27efcd7a2822b9c7abc53864aef153133 /src/org/traccar/helper
parent62ddfb226a55384fdfd1e0dd5a0436d55bb53d49 (diff)
downloadtraccar-server-77158ade988919ce63c905f8328dc6af2ac097c3.tar.gz
traccar-server-77158ade988919ce63c905f8328dc6af2ac097c3.tar.bz2
traccar-server-77158ade988919ce63c905f8328dc6af2ac097c3.zip
Change Meitrack encoder implementation
Diffstat (limited to 'src/org/traccar/helper')
-rw-r--r--src/org/traccar/helper/Checksum.java13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/org/traccar/helper/Checksum.java b/src/org/traccar/helper/Checksum.java
index e6b6cd2c8..c156e53f7 100644
--- a/src/org/traccar/helper/Checksum.java
+++ b/src/org/traccar/helper/Checksum.java
@@ -158,13 +158,20 @@ public final class Checksum {
public static String nmea(String msg) {
int checksum = 0;
- byte[] bytes = msg.getBytes(Charset.defaultCharset());
- for (int i = 1; i < msg.length(); i++) {
- checksum ^= bytes[i];
+ for (byte b : msg.getBytes(Charset.defaultCharset())) {
+ checksum ^= b;
}
return String.format("*%02x", checksum).toUpperCase();
}
+ public static String sum(String msg) {
+ byte checksum = 0;
+ for (byte b : msg.getBytes(Charset.defaultCharset())) {
+ checksum += b;
+ }
+ return String.format("%02X", checksum).toUpperCase();
+ }
+
public static long luhn(long imei) {
long checksum = 0;
long remain = imei;