ComboPlugin: don't implement ConstraintsInterface, ProfileInterface.
This commit is contained in:
parent
1d53305ff9
commit
ff088ddd3f
1 changed files with 6 additions and 83 deletions
|
@ -62,7 +62,7 @@ import info.nightscout.utils.ToastUtils;
|
||||||
/**
|
/**
|
||||||
* Created by mike on 05.08.2016.
|
* Created by mike on 05.08.2016.
|
||||||
*/
|
*/
|
||||||
public class ComboPlugin implements PluginBase, PumpInterface, ConstraintsInterface, ProfileInterface {
|
public class ComboPlugin implements PluginBase, PumpInterface {
|
||||||
public static final String COMBO_MAX_TEMP_PERCENT_SP = "combo_maxTempPercent";
|
public static final String COMBO_MAX_TEMP_PERCENT_SP = "combo_maxTempPercent";
|
||||||
private static Logger log = LoggerFactory.getLogger(ComboPlugin.class);
|
private static Logger log = LoggerFactory.getLogger(ComboPlugin.class);
|
||||||
|
|
||||||
|
@ -513,6 +513,11 @@ public class ComboPlugin implements PluginBase, PumpInterface, ConstraintsInterf
|
||||||
|
|
||||||
int adjustedPercent = percent;
|
int adjustedPercent = percent;
|
||||||
|
|
||||||
|
if (adjustedPercent > pumpDescription.maxTempPercent) {
|
||||||
|
log.debug("Reducing requested TBR to the maximum support by the pump: " + percent + " -> " + pumpDescription.maxTempPercent);
|
||||||
|
adjustedPercent = pumpDescription.maxTempPercent;
|
||||||
|
}
|
||||||
|
|
||||||
if (adjustedPercent % 10 != 0) {
|
if (adjustedPercent % 10 != 0) {
|
||||||
Long rounded = Math.round(adjustedPercent / 10d) * 10;
|
Long rounded = Math.round(adjustedPercent / 10d) * 10;
|
||||||
log.debug("Rounded requested percentage:" + adjustedPercent + " -> " + rounded);
|
log.debug("Rounded requested percentage:" + adjustedPercent + " -> " + rounded);
|
||||||
|
@ -693,7 +698,6 @@ public class ComboPlugin implements PluginBase, PumpInterface, ConstraintsInterf
|
||||||
|
|
||||||
|
|
||||||
public void updateCapabilities() {
|
public void updateCapabilities() {
|
||||||
|
|
||||||
// if Android is sluggish this might get called before ruffy is bound
|
// if Android is sluggish this might get called before ruffy is bound
|
||||||
if (ruffyScripter == null) {
|
if (ruffyScripter == null) {
|
||||||
log.warn("Rejecting call to RefreshDataFromPump: ruffy service not bound (yet)");
|
log.warn("Rejecting call to RefreshDataFromPump: ruffy service not bound (yet)");
|
||||||
|
@ -716,85 +720,4 @@ public class ComboPlugin implements PluginBase, PumpInterface, ConstraintsInterf
|
||||||
ToastUtils.showToastInUiThread(MainApp.instance(), "No success.");
|
ToastUtils.showToastInUiThread(MainApp.instance(), "No success.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isLoopEnabled() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isClosedModeEnabled() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isAutosensModeEnabled() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isAMAModeEnabled() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Double applyBasalConstraints(Double absoluteRate) {
|
|
||||||
double origAbsoluteRate = absoluteRate;
|
|
||||||
// TODO GL#56, #42
|
|
||||||
if (absoluteRate > 25d) {
|
|
||||||
absoluteRate = 25d;
|
|
||||||
if (Config.logConstraintsChanges && origAbsoluteRate != Constants.basalAbsoluteOnlyForCheckLimit)
|
|
||||||
log.debug("Limiting rate " + origAbsoluteRate + "U/h by pump constraint to " + absoluteRate + "U/h");
|
|
||||||
}
|
|
||||||
return absoluteRate;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Integer applyBasalConstraints(Integer percentRate) {
|
|
||||||
Integer origPercentRate = percentRate;
|
|
||||||
if (percentRate < 0) percentRate = 0;
|
|
||||||
if (percentRate > pumpDescription.maxTempPercent)
|
|
||||||
percentRate = pumpDescription.maxTempPercent;
|
|
||||||
if (!Objects.equals(percentRate, origPercentRate) && Config.logConstraintsChanges && !Objects.equals(origPercentRate, Constants.basalPercentOnlyForCheckLimit))
|
|
||||||
log.debug("Limiting percent rate " + origPercentRate + "% to " + percentRate + "%");
|
|
||||||
return percentRate;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Double applyBolusConstraints(Double insulin) {
|
|
||||||
// Hard pump limits are not directly readable from pump and serve as a fail safe.
|
|
||||||
// TODO GL#56, #42
|
|
||||||
return insulin;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Integer applyCarbsConstraints(Integer carbs) {
|
|
||||||
// pump is oblivious to carbs
|
|
||||||
return carbs;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Double applyMaxIOBConstraints(Double maxIob) {
|
|
||||||
// pump is oblivious to IOB
|
|
||||||
return maxIob;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
public ProfileStore getProfile() {
|
|
||||||
// TODO GL#13
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getUnits() {
|
|
||||||
// pump has no concept of senors/blood glucose
|
|
||||||
return Constants.MGDL;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getProfileName() {
|
|
||||||
// TODO GL#13
|
|
||||||
return "Profile 1";
|
|
||||||
}
|
|
||||||
}
|
}
|
Loading…
Reference in a new issue