- 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
|
@ -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()
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package info.nightscout.androidaps.plugins.pump.medtronic.data.dto;
|
package info.nightscout.androidaps.plugins.pump.medtronic.data.dto;
|
||||||
|
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
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) {
|
public TempBasalPair(AAPSLogger aapsLogger, byte[] response) {
|
||||||
super();
|
super();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue