Initial project commit
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
package com.eveningoutpost.dexdrip.ImportedLibraries.dexcom;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
// 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 ReadPacket {
|
||||
private int command;
|
||||
private byte[] data;
|
||||
private byte[] crc_calc;
|
||||
private byte[] crc;
|
||||
private int OFFSET_CMD = 3;
|
||||
private int OFFSET_DATA = 4;
|
||||
private int CRC_LEN = 2;
|
||||
|
||||
public ReadPacket(byte[] readPacket) {
|
||||
this.command = readPacket[OFFSET_CMD];
|
||||
this.data = Arrays.copyOfRange(readPacket, OFFSET_DATA, readPacket.length - CRC_LEN);
|
||||
this.crc = Arrays.copyOfRange(readPacket, readPacket.length - CRC_LEN, readPacket.length);
|
||||
this.crc_calc=CRC16.calculate(readPacket, 0, readPacket.length - 2);
|
||||
if (!Arrays.equals(this.crc, this.crc_calc)) {
|
||||
throw new CRCFailRuntimeException("CRC check failed: " + Utils.bytesToHex(this.crc) + " vs " + Utils.bytesToHex(this.crc_calc));
|
||||
}
|
||||
}
|
||||
|
||||
public int getCommand() {
|
||||
return command;
|
||||
}
|
||||
|
||||
public byte[] getData() {
|
||||
return data;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user