From ed47a0fcf7a6decea2494c635e6a7c6c91eb3d0d Mon Sep 17 00:00:00 2001 From: Damien Gaignon Date: Sun, 7 Nov 2021 16:22:15 +0100 Subject: [PATCH] Change CRC16 method Be able to use a custom crc value for initialization. Keeping compatibility with previous method. --- .../freeyourgadget/gadgetbridge/util/CheckSums.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/CheckSums.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/CheckSums.java index 9b25a994e..c7455beda 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/CheckSums.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/CheckSums.java @@ -45,8 +45,10 @@ public class CheckSums { //thanks http://stackoverflow.com/questions/13209364/convert-c-crc16-to-java-crc16 public static int getCRC16(byte[] seq) { - int crc = 0xFFFF; - + return getCRC16(seq, 0xFFFF); + } + + public static int getCRC16(byte[] seq, int crc) { for (byte b : seq) { crc = ((crc >>> 8) | (crc << 8)) & 0xffff; crc ^= (b & 0xff);//byte to int, trunc sign