private static int nowGetGlucoseValue(byte[] input) { final int curGluc; final long rawGlucose; // option to use 13 bit mask //final boolean thirteen_bit_mask = Pref.getBooleanDefaultFalse("testing_use_thirteen_bit_mask"); final boolean thirteen_bit_mask = true; // grep 2 bytes with BG data from input bytearray, mask out 12 LSB bits and rescale for xDrip+ rawGlucose = ((input[3 + m_nowGlucoseOffset + 1] & (thirteen_bit_mask ? 0x1F : 0x0F)) << 8) | (input[3 + m_nowGlucoseOffset] & 0xFF); Log.i(TAG, "rawGlucose=" + rawGlucose + ", m_nowGlucoseOffset=" + m_nowGlucoseOffset); // rescale curGluc = getGlucose(rawGlucose); return curGluc; }
public static boolean checkBlukonPacket(byte[] buffer) { return isBlukonPacket(buffer) && getPin() != null; // TODO can't be unset yet and isn't proper subtype test yet }
cmdFound = 1; int sensorAge = sensorAge(buffer); Log.d(TAG, "SensorAge received=" + sensorAge); m_currentBlockNumber = blockNumberForNowGlucoseData(buffer); m_currentOffset = m_nowGlucoseOffset; delayedTrendIndex = 15; int delayedBlockNumber = blockNumberForNowGlucoseDataDelayed(delayedTrendIndex); int currentGlucose = nowGetGlucoseValue(buffer); processNewTransmitterData(TransmitterData.create(currentGlucose, currentGlucose, 0 /*battery level force to 0 as unknown*/, now)); } else { Log.i(TAG, "bf: processNewTransmitterData with delayed timestamp of " + m_minutesBack + " min"); processNewTransmitterData(TransmitterData.create(currentGlucose, currentGlucose, 0 /*battery level force to 0 as unknown*/, now - (m_minutesBack * 60 * 1000))); delayedTrendIndex = 15; int delayedBlockNumber = blockNumberForNowGlucoseDataDelayed(delayedTrendIndex); handlegetHistoricDataResponse(buffer); } else if (strRecCmd.startsWith(BLUCON_BATTERY_LOW_INDICATION1)) { cmdFound = 1;
if (static_use_blukon && Blukon.checkBlukonPacket(buffer)) { final byte[] reply = Blukon.decodeBlukonPacket(buffer); if (reply != null) { Log.d(TAG, "Sending reply message from Blukon decoder");
Blukon.initialize(); if (static_use_blukon || Blukon.expectingBlukonDevice()) {
private static String getDefaultPin() { final String bk_pin = Blukon.getPin(); return bk_pin != null ? bk_pin : HM10Attributes.HM_DEFAULT_BT_PIN; }
public static void unBondIfBlukonAtInit() { try { if (Blukon.expectingBlukonDevice() && Pref.getBooleanDefaultFalse("blukon_unbonding")) { final ActiveBluetoothDevice btDevice = ActiveBluetoothDevice.first(); if (btDevice != null) { UserError.Log.d(TAG, "Unbonding blukon at initialization"); JoH.unBond(btDevice.address); } } } catch (Exception e) { UserError.Log.e(TAG, "Got exception trying to unbond blukon at init"); } }
cmdFound = 1; int sensorAge = sensorAge(buffer); Log.d(TAG, "SensorAge received=" + sensorAge); m_currentBlockNumber = blockNumberForNowGlucoseData(buffer); m_currentOffset = m_nowGlucoseOffset; delayedTrendIndex = 15; int delayedBlockNumber = blockNumberForNowGlucoseDataDelayed(delayedTrendIndex); int currentGlucose = nowGetGlucoseValue(buffer); processNewTransmitterData(TransmitterData.create(currentGlucose, currentGlucose, 0 /*battery level force to 0 as unknown*/, now)); } else { Log.i(TAG, "bf: processNewTransmitterData with delayed timestamp of " + m_minutesBack + " min"); processNewTransmitterData(TransmitterData.create(currentGlucose, currentGlucose, 0 /*battery level force to 0 as unknown*/, now - (m_minutesBack * 60 * 1000))); delayedTrendIndex = 15; int delayedBlockNumber = blockNumberForNowGlucoseDataDelayed(delayedTrendIndex); handlegetHistoricDataResponse(buffer); } else if (strRecCmd.startsWith(BLUCON_BATTERY_LOW_INDICATION1)) { cmdFound = 1;
if (static_use_blukon && Blukon.checkBlukonPacket(buffer)) { final byte[] reply = Blukon.decodeBlukonPacket(buffer); if (reply != null) { Log.d(TAG, "Sending reply message from Blukon decoder");
Blukon.initialize(); if (static_use_blukon || Blukon.expectingBlukonDevice()) {
private static String getDefaultPin() { final String bk_pin = Blukon.getPin(); return bk_pin != null ? bk_pin : HM10Attributes.HM_DEFAULT_BT_PIN; }
public static void unBondIfBlukonAtInit() { try { if (Blukon.expectingBlukonDevice() && Pref.getBooleanDefaultFalse("blukon_unbonding")) { final ActiveBluetoothDevice btDevice = ActiveBluetoothDevice.first(); if (btDevice != null) { UserError.Log.d(TAG, "Unbonding blukon at initialization"); JoH.unBond(btDevice.address); } } } catch (Exception e) { UserError.Log.e(TAG, "Got exception trying to unbond blukon at init"); } }
cmdFound = 1; int sensorAge = sensorAge(buffer); Log.d(TAG, "SensorAge received=" + sensorAge); m_currentBlockNumber = blockNumberForNowGlucoseData(buffer); m_currentOffset = m_nowGlucoseOffset; delayedTrendIndex = 15; int delayedBlockNumber = blockNumberForNowGlucoseDataDelayed(delayedTrendIndex); int currentGlucose = nowGetGlucoseValue(buffer); processNewTransmitterData(TransmitterData.create(currentGlucose, currentGlucose, 0 /*battery level force to 0 as unknown*/, now)); } else { Log.i(TAG, "bf: processNewTransmitterData with delayed timestamp of " + m_minutesBack + " min"); processNewTransmitterData(TransmitterData.create(currentGlucose, currentGlucose, 0 /*battery level force to 0 as unknown*/, now - (m_minutesBack * 60 * 1000))); delayedTrendIndex = 15; int delayedBlockNumber = blockNumberForNowGlucoseDataDelayed(delayedTrendIndex); handlegetHistoricDataResponse(buffer); } else if (strRecCmd.startsWith(BLUCON_BATTERY_LOW_INDICATION1)) { cmdFound = 1;
public static boolean checkBlukonPacket(byte[] buffer) { return isBlukonPacket(buffer) && getPin() != null; // TODO can't be unset yet and isn't proper subtype test yet }
if (static_use_blukon && Blukon.checkBlukonPacket(buffer)) { final byte[] reply = Blukon.decodeBlukonPacket(buffer); if (reply != null) { Log.d(TAG, "Sending reply message from Blukon decoder");
Blukon.initialize(); if (static_use_blukon || Blukon.expectingBlukonDevice()) {
private static String getDefaultPin() { final String bk_pin = Blukon.getPin(); return bk_pin != null ? bk_pin : HM10Attributes.HM_DEFAULT_BT_PIN; }
public static void unBondIfBlukonAtInit() { try { if (Blukon.expectingBlukonDevice() && Pref.getBooleanDefaultFalse("blukon_unbonding")) { final ActiveBluetoothDevice btDevice = ActiveBluetoothDevice.first(); if (btDevice != null) { UserError.Log.d(TAG, "Unbonding blukon at initialization"); JoH.unBond(btDevice.address); } } } catch (Exception e) { UserError.Log.e(TAG, "Got exception trying to unbond blukon at init"); } }
private static int nowGetGlucoseValue(byte[] input) { final int curGluc; final long rawGlucose; // option to use 13 bit mask //final boolean thirteen_bit_mask = Pref.getBooleanDefaultFalse("testing_use_thirteen_bit_mask"); final boolean thirteen_bit_mask = true; // grep 2 bytes with BG data from input bytearray, mask out 12 LSB bits and rescale for xDrip+ rawGlucose = ((input[3 + m_nowGlucoseOffset + 1] & (thirteen_bit_mask ? 0x1F : 0x0F)) << 8) | (input[3 + m_nowGlucoseOffset] & 0xFF); Log.i(TAG, "rawGlucose=" + rawGlucose + ", m_nowGlucoseOffset=" + m_nowGlucoseOffset); // rescale curGluc = getGlucose(rawGlucose); return curGluc; }
public static boolean checkBlukonPacket(byte[] buffer) { return isBlukonPacket(buffer) && getPin() != null; // TODO can't be unset yet and isn't proper subtype test yet }