21 lines
852 B
Java
21 lines
852 B
Java
package com.eveningoutpost.dexdrip.ImportedLibraries.dexcom;
|
|
|
|
// This code and this particular library are from the NightScout android uploader
|
|
// Check them out here: https://github.com/nightscout/android-uploader
|
|
// Some of this code may have been modified for use in this project
|
|
|
|
public class CRC16 {
|
|
public static byte[] calculate(byte[] buff, int start, int end) {
|
|
int crcShort = 0;
|
|
for (int i = start; i < end; i++) {
|
|
crcShort = ((crcShort >>> 8) | (crcShort << 8) )& 0xffff;
|
|
crcShort ^= (buff[i] & 0xff);
|
|
crcShort ^= ((crcShort & 0xff) >> 4);
|
|
crcShort ^= (crcShort << 12) & 0xffff;
|
|
crcShort ^= ((crcShort & 0xFF) << 5) & 0xffff;
|
|
}
|
|
crcShort &= 0xffff;
|
|
return new byte[] {(byte) (crcShort & 0xff), (byte) ((crcShort >> 8) & 0xff)};
|
|
}
|
|
}
|