Merge pull request #400 from andyrozman/bug138_tbr_for_high_values

Bug138 tbr for high values
This commit is contained in:
Milos Kozak 2021-03-07 18:19:29 +01:00 committed by GitHub
commit b575c1b34c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 28 additions and 3 deletions

View file

@ -106,7 +106,7 @@ public class MedtronicPumpHistoryDecoder extends MedtronicHistoryDecoder<PumpHis
int els = getUnsignedInt(elements); int els = getUnsignedInt(elements);
for (int k = 0; k < (els - 2); k++) { for (int k = 0; k < (els - 2); k++) {
if (counter<1022) { if (counter < 1022) {
listRawData.add(dataClear.get(counter)); listRawData.add(dataClear.get(counter));
counter++; counter++;
} }
@ -621,8 +621,16 @@ public class MedtronicPumpHistoryDecoder extends MedtronicHistoryDecoder<PumpHis
tbrRate = tbrPreviousRecord; tbrRate = tbrPreviousRecord;
} }
TempBasalPair tbr = new TempBasalPair(tbrRate.getHead()[0], tbrDuration.getHead()[0], (ByteUtil.asUINT8(tbrRate // TempBasalPair tbr = new TempBasalPair(
.getDatetime()[4]) >> 3) == 0); // tbrRate.getHead()[0],
// tbrDuration.getHead()[0],
// (ByteUtil.asUINT8(tbrRate.getDatetime()[4]) >> 3) == 0);
TempBasalPair tbr = new TempBasalPair(
tbrRate.getHead()[0],
tbrRate.getBody()[0],
tbrDuration.getHead()[0],
(ByteUtil.asUINT8(tbrRate.getDatetime()[4]) >> 3) == 0);
// System.out.println("TBR: amount=" + tbr.getInsulinRate() + ", duration=" + tbr.getDurationMinutes() // System.out.println("TBR: amount=" + tbr.getInsulinRate() + ", duration=" + tbr.getDurationMinutes()
// // + " min. Packed: " + tbr.getValue() // // + " min. Packed: " + tbr.getValue()

View file

@ -38,6 +38,23 @@ public class TempBasalPair extends info.nightscout.androidaps.plugins.pump.commo
} }
/**
* This constructor is for use with PumpHistoryDecoder
*
* @param rateByte0
* @param startTimeByte
* @param isPercent
*/
public TempBasalPair(byte rateByte0, byte rateByte1, int startTimeByte, boolean isPercent) {
if (isPercent) {
this.insulinRate = rateByte0;
} else {
this.insulinRate = ByteUtil.toInt(rateByte1, rateByte0) * 0.025;
}
this.durationMinutes = startTimeByte * 30;
this.isPercent = isPercent;
}
public TempBasalPair(AAPSLogger aapsLogger, byte[] response) { public TempBasalPair(AAPSLogger aapsLogger, byte[] response) {
super(); super();