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; } }