diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConstraintChecker.kt b/core/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConstraintChecker.kt index 111dcd5b79..07b4f8f66b 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConstraintChecker.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConstraintChecker.kt @@ -18,6 +18,9 @@ class ConstraintChecker @Inject constructor(private val activePlugin: ActivePlug fun isClosedLoopAllowed(): Constraint = isClosedLoopAllowed(Constraint(true)) + fun isLgsAllowed(): Constraint = + isLgsAllowed(Constraint(true)) + fun isAutosensModeEnabled(): Constraint = isAutosensModeEnabled(Constraint(true)) @@ -77,6 +80,16 @@ class ConstraintChecker @Inject constructor(private val activePlugin: ActivePlug return value } + override fun isLgsAllowed(value: Constraint): Constraint { + val constraintsPlugins = activePlugin.getSpecificPluginsListByInterface(ConstraintsInterface::class.java) + for (p in constraintsPlugins) { + val constraint = p as ConstraintsInterface + if (!p.isEnabled(PluginType.CONSTRAINTS)) continue + constraint.isLgsAllowed(value) + } + return value + } + override fun isAutosensModeEnabled(value: Constraint): Constraint { val constraintsPlugins = activePlugin.getSpecificPluginsListByInterface(ConstraintsInterface::class.java) for (p in constraintsPlugins) { diff --git a/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/pump/MedtronicPumpHistoryDecoder.java b/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/pump/MedtronicPumpHistoryDecoder.java index 124b98f880..682d887ff2 100644 --- a/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/pump/MedtronicPumpHistoryDecoder.java +++ b/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/pump/MedtronicPumpHistoryDecoder.java @@ -106,7 +106,7 @@ public class MedtronicPumpHistoryDecoder extends MedtronicHistoryDecoder> 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() diff --git a/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/TempBasalPair.java b/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/TempBasalPair.java index 5fa8f3966e..86e5c9bd36 100644 --- a/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/TempBasalPair.java +++ b/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/TempBasalPair.java @@ -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) { super();