- TBR was incorrectly interpretted for high TBR values
This commit is contained in:
parent
23c23ea0b8
commit
2738cf7fce
2 changed files with 36 additions and 3 deletions
|
@ -106,7 +106,7 @@ public class MedtronicPumpHistoryDecoder extends MedtronicHistoryDecoder<PumpHis
|
|||
int els = getUnsignedInt(elements);
|
||||
|
||||
for (int k = 0; k < (els - 2); k++) {
|
||||
if (counter<1022) {
|
||||
if (counter < 1022) {
|
||||
listRawData.add(dataClear.get(counter));
|
||||
counter++;
|
||||
}
|
||||
|
@ -621,8 +621,16 @@ public class MedtronicPumpHistoryDecoder extends MedtronicHistoryDecoder<PumpHis
|
|||
tbrRate = tbrPreviousRecord;
|
||||
}
|
||||
|
||||
TempBasalPair tbr = new TempBasalPair(tbrRate.getHead()[0], tbrDuration.getHead()[0], (ByteUtil.asUINT8(tbrRate
|
||||
.getDatetime()[4]) >> 3) == 0);
|
||||
// TempBasalPair tbr = new TempBasalPair(
|
||||
// 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()
|
||||
// // + " min. Packed: " + tbr.getValue()
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package info.nightscout.androidaps.plugins.pump.medtronic.data.dto;
|
||||
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
@ -38,6 +40,29 @@ 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) {
|
||||
// int rateInt = ByteUtil.asUINT8(rateByte0);
|
||||
|
||||
if (isPercent) {
|
||||
this.insulinRate = rateByte0;
|
||||
} else {
|
||||
int rateInt2 = ByteUtil.toInt(rateByte1, rateByte0);
|
||||
int rateInt3 = (rateByte1 & 0x7) << 8 | rateByte0;
|
||||
this.insulinRate = rateInt2 * 0.025;
|
||||
Log.d("ddd", "OldRate=" + this.insulinRate + ", NewRate=" + rateInt2 * 0.025 + ", NewRate2="
|
||||
+ rateInt2 * 0.1 + ", NNNRate=" + rateInt3 * 0.025);
|
||||
}
|
||||
this.durationMinutes = startTimeByte * 30;
|
||||
this.isPercent = isPercent;
|
||||
}
|
||||
|
||||
public TempBasalPair(AAPSLogger aapsLogger, byte[] response) {
|
||||
super();
|
||||
|
||||
|
|
Loading…
Reference in a new issue