public static String extractDexTime() { return DexTimeKeeper.extractForStream(getTransmitterID()); }
public static long fromDexTimeCached(int dexTimeStamp) { return fromDexTime(lastTransmitterId, dexTimeStamp); }
public static BackFillTxMessage get(String id, long startTime, long endTime) { final int dexStart = getDexTime(id, startTime); final int dexEnd = getDexTime(id, endTime); if (dexStart < 1 || dexEnd < 1) { UserError.Log.e(TAG, "Unable to calculate start or end time for BackFillTxMessage"); return null; } return new BackFillTxMessage(dexStart, dexEnd); }
public static void updateAge(final String transmitterId, final int dexTimeStamp) { updateAge(transmitterId, dexTimeStamp, false); }
@SuppressWarnings("unused") public static void injectDexTime(String stream) { DexTimeKeeper.injectFromStream(stream); }
UserError.Log.wtf(TAG, "Encountered backfill data we don't recognise: " + type + " " + glucose + " " + trend + " " + " " + JoH.dateTimeText(fromDexTimeCached(dexTime))); break;
public static void updateAge(final String transmitterId, final int dexTimeStamp) { updateAge(transmitterId, dexTimeStamp, false); }
@SuppressWarnings("unused") public static void injectDexTime(String stream) { DexTimeKeeper.injectFromStream(stream); }
UserError.Log.wtf(TAG, "Encountered backfill data we don't recognise: " + type + " " + glucose + " " + trend + " " + " " + JoH.dateTimeText(fromDexTimeCached(dexTime))); break;
public static BackFillTxMessage get(String id, long startTime, long endTime) { final int dexStart = getDexTime(id, startTime); final int dexEnd = getDexTime(id, endTime); if (dexStart < 1 || dexEnd < 1) { UserError.Log.e(TAG, "Unable to calculate start or end time for BackFillTxMessage"); return null; } return new BackFillTxMessage(dexStart, dexEnd); }
public static long fromDexTimeCached(int dexTimeStamp) { return fromDexTime(lastTransmitterId, dexTimeStamp); }
public static void updateAge(final String transmitterId, final int dexTimeStamp) { updateAge(transmitterId, dexTimeStamp, false); }
@SuppressWarnings("unused") public static void injectDexTime(String stream) { DexTimeKeeper.injectFromStream(stream); }
public static String extractDexTime() { return DexTimeKeeper.extractForStream(getTransmitterID()); }
UserError.Log.wtf(TAG, "Encountered backfill data we don't recognise: " + type + " " + glucose + " " + trend + " " + " " + JoH.dateTimeText(fromDexTimeCached(dexTime))); break;
public static BackFillTxMessage get(String id, long startTime, long endTime) { final int dexStart = getDexTime(id, startTime); final int dexEnd = getDexTime(id, endTime); if (dexStart < 1 || dexEnd < 1) { UserError.Log.e(TAG, "Unable to calculate start or end time for BackFillTxMessage"); return null; } return new BackFillTxMessage(dexStart, dexEnd); }
public static long fromDexTimeCached(int dexTimeStamp) { return fromDexTime(lastTransmitterId, dexTimeStamp); }
private static void processSensorRxMessage(SensorRxMessage sensorRx) { if (sensorRx == null) return; // TODO, is this accurate or needed? int sensor_battery_level = 0; if (sensorRx.status == TransmitterStatus.BRICKED) { sensor_battery_level = 206; //will give message "EMPTY" } else if (sensorRx.status == TransmitterStatus.LOW) { sensor_battery_level = 209; //will give message "LOW" } else { sensor_battery_level = 216; //no message, just system status "OK" } UserError.Log.d(TAG, "SUCCESS!! unfiltered: " + sensorRx.unfiltered + " filtered: " + sensorRx.filtered + " timestamp: " + sensorRx.timestamp + " " + JoH.qs((double) sensorRx.timestamp / 86400, 1) + " days :: (" + sensorRx.status + ")"); DexTimeKeeper.updateAge(getTransmitterID(), sensorRx.timestamp); if (sensorRx.unfiltered == 0) { UserError.Log.e(TAG, "Transmitter sent raw sensor value of 0 !! This isn't good. " + JoH.hourMinuteString()); } else { final boolean g6 = usingG6(); final boolean g6r2 = g6 && FirmwareCapability.isTransmitterG6Rev2(getTransmitterID()); processNewTransmitterData(g6 ? (int)(sensorRx.unfiltered * (g6r2 ? G6_REV2_SCALING : G6_SCALING)) : sensorRx.unfiltered, g6 ? (int)(sensorRx.filtered * (g6r2 ? G6_REV2_SCALING : G6_SCALING)) : sensorRx.filtered, sensor_battery_level, new Date().getTime()); } if (WholeHouse.isLive()) { Mimeograph.poll(false); } }
public static String extractDexTime() { return DexTimeKeeper.extractForStream(getTransmitterID()); }
public static boolean isInDate(String transmitterId) { final int valid_time = getDexTime(transmitterId, JoH.tsl()); return (valid_time >= 0) && (valid_time < DEX_TRANSMITTER_LIFE_SECONDS); }