fix merge

This commit is contained in:
Milos Kozak 2017-05-16 18:02:01 +02:00
commit 8452c42746
3 changed files with 17 additions and 16 deletions

View file

@ -68,11 +68,10 @@ public class TempBasal {
if (realDuration > 0) { if (realDuration > 0) {
Double netBasalRate = 0d; Double netBasalRate = 0d;
Double dia_ago = time - profile.getDia() * 60 * 60 * 1000;
int aboutFiveMinIntervals = (int) Math.ceil(realDuration / 5d); int aboutFiveMinIntervals = (int) Math.ceil(realDuration / 5d);
result.netRatio = netBasalRate;
double tempBolusSpacing = realDuration / aboutFiveMinIntervals; double tempBolusSpacing = realDuration / aboutFiveMinIntervals;
for (Long j = 0L; j < aboutFiveMinIntervals; j++) { for (Long j = 0L; j < aboutFiveMinIntervals; j++) {
// find middle of the interval // find middle of the interval
Long date = (long) (timeStart.getTime() + j * tempBolusSpacing * 60 * 1000 + 0.5d * tempBolusSpacing * 60 * 1000); Long date = (long) (timeStart.getTime() + j * tempBolusSpacing * 60 * 1000 + 0.5d * tempBolusSpacing * 60 * 1000);
@ -91,6 +90,7 @@ public class TempBasal {
} }
} }
if (date > dia_ago && date <= time) {
double tempBolusSize = netBasalRate * tempBolusSpacing / 60d; double tempBolusSize = netBasalRate * tempBolusSpacing / 60d;
netBasalAmount += tempBolusSize; netBasalAmount += tempBolusSize;
@ -101,13 +101,12 @@ public class TempBasal {
Iob aIOB = insulinInterface.iobCalcForTreatment(tempBolusPart, time, profile.getDia()); Iob aIOB = insulinInterface.iobCalcForTreatment(tempBolusPart, time, profile.getDia());
result.basaliob += aIOB.iobContrib; result.basaliob += aIOB.iobContrib;
result.activity += aIOB.activityContrib; result.activity += aIOB.activityContrib;
Double dia_ago = time - profile.getDia() * 60 * 60 * 1000;
if (date > dia_ago && date <= time) {
result.netbasalinsulin += tempBolusPart.insulin; result.netbasalinsulin += tempBolusPart.insulin;
if (tempBolusPart.insulin > 0) { if (tempBolusPart.insulin > 0) {
result.hightempinsulin += tempBolusPart.insulin; result.hightempinsulin += tempBolusPart.insulin;
} }
} }
result.netRatio = netBasalRate; // ratio at the end of interval
} }
} }
result.netInsulin = netBasalAmount; result.netInsulin = netBasalAmount;

View file

@ -531,7 +531,9 @@ public class DanaRExecutionService extends Service {
private double[] buildDanaRProfileRecord(NSProfile nsProfile) { private double[] buildDanaRProfileRecord(NSProfile nsProfile) {
double[] record = new double[24]; double[] record = new double[24];
for (Integer hour = 0; hour < 24; hour++) { for (Integer hour = 0; hour < 24; hour++) {
double value = nsProfile.getBasal(hour * 60 * 60); //Some values get truncated to the next lower one.
// -> round them to two decimals and make sure we are a small delta larger (that will get truncated)
double value = Math.round(100d * nsProfile.getBasal(hour * 60 * 60))/100d + 0.00001;
if (Config.logDanaMessageDetail) if (Config.logDanaMessageDetail)
log.debug("NS basal value for " + hour + ":00 is " + value); log.debug("NS basal value for " + hour + ":00 is " + value);
record[hour] = value; record[hour] = value;

View file

@ -506,7 +506,7 @@ public class DanaRKoreanExecutionService extends Service {
private double[] buildDanaRProfileRecord(NSProfile nsProfile) { private double[] buildDanaRProfileRecord(NSProfile nsProfile) {
double[] record = new double[24]; double[] record = new double[24];
for (Integer hour = 0; hour < 24; hour++) { for (Integer hour = 0; hour < 24; hour++) {
double value = nsProfile.getBasal(hour * 60 * 60); double value = Math.round(100d * nsProfile.getBasal(hour * 60 * 60))/100d + 0.00001;
if (Config.logDanaMessageDetail) if (Config.logDanaMessageDetail)
log.debug("NS basal value for " + hour + ":00 is " + value); log.debug("NS basal value for " + hour + ":00 is " + value);
record[hour] = value; record[hour] = value;