Merge pull request #818 from MilosKozak/insulin-plugins
remove old insulin plugins
This commit is contained in:
commit
8d35a89870
4 changed files with 2 additions and 180 deletions
|
@ -36,8 +36,6 @@ import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin;
|
||||||
import info.nightscout.androidaps.plugins.ConstraintsObjectives.ObjectivesPlugin;
|
import info.nightscout.androidaps.plugins.ConstraintsObjectives.ObjectivesPlugin;
|
||||||
import info.nightscout.androidaps.plugins.ConstraintsSafety.SafetyPlugin;
|
import info.nightscout.androidaps.plugins.ConstraintsSafety.SafetyPlugin;
|
||||||
import info.nightscout.androidaps.plugins.Food.FoodPlugin;
|
import info.nightscout.androidaps.plugins.Food.FoodPlugin;
|
||||||
import info.nightscout.androidaps.plugins.Insulin.InsulinFastactingPlugin;
|
|
||||||
import info.nightscout.androidaps.plugins.Insulin.InsulinFastactingProlongedPlugin;
|
|
||||||
import info.nightscout.androidaps.plugins.Insulin.InsulinOrefFreePeakPlugin;
|
import info.nightscout.androidaps.plugins.Insulin.InsulinOrefFreePeakPlugin;
|
||||||
import info.nightscout.androidaps.plugins.Insulin.InsulinOrefRapidActingPlugin;
|
import info.nightscout.androidaps.plugins.Insulin.InsulinOrefRapidActingPlugin;
|
||||||
import info.nightscout.androidaps.plugins.Insulin.InsulinOrefUltraRapidActingPlugin;
|
import info.nightscout.androidaps.plugins.Insulin.InsulinOrefUltraRapidActingPlugin;
|
||||||
|
@ -144,8 +142,6 @@ public class MainApp extends Application {
|
||||||
pluginsList.add(OverviewPlugin.getPlugin());
|
pluginsList.add(OverviewPlugin.getPlugin());
|
||||||
pluginsList.add(IobCobCalculatorPlugin.getPlugin());
|
pluginsList.add(IobCobCalculatorPlugin.getPlugin());
|
||||||
if (Config.ACTION) pluginsList.add(ActionsFragment.getPlugin());
|
if (Config.ACTION) pluginsList.add(ActionsFragment.getPlugin());
|
||||||
pluginsList.add(InsulinFastactingPlugin.getPlugin());
|
|
||||||
pluginsList.add(InsulinFastactingProlongedPlugin.getPlugin());
|
|
||||||
pluginsList.add(InsulinOrefRapidActingPlugin.getPlugin());
|
pluginsList.add(InsulinOrefRapidActingPlugin.getPlugin());
|
||||||
pluginsList.add(InsulinOrefUltraRapidActingPlugin.getPlugin());
|
pluginsList.add(InsulinOrefUltraRapidActingPlugin.getPlugin());
|
||||||
pluginsList.add(InsulinOrefFreePeakPlugin.getPlugin());
|
pluginsList.add(InsulinOrefFreePeakPlugin.getPlugin());
|
||||||
|
|
|
@ -40,7 +40,7 @@ import info.nightscout.androidaps.interfaces.ProfileInterface;
|
||||||
import info.nightscout.androidaps.interfaces.PumpInterface;
|
import info.nightscout.androidaps.interfaces.PumpInterface;
|
||||||
import info.nightscout.androidaps.interfaces.SensitivityInterface;
|
import info.nightscout.androidaps.interfaces.SensitivityInterface;
|
||||||
import info.nightscout.androidaps.plugins.Common.SubscriberFragment;
|
import info.nightscout.androidaps.plugins.Common.SubscriberFragment;
|
||||||
import info.nightscout.androidaps.plugins.Insulin.InsulinFastactingPlugin;
|
import info.nightscout.androidaps.plugins.Insulin.InsulinOrefRapidActingPlugin;
|
||||||
import info.nightscout.androidaps.plugins.ProfileNS.NSProfilePlugin;
|
import info.nightscout.androidaps.plugins.ProfileNS.NSProfilePlugin;
|
||||||
import info.nightscout.androidaps.plugins.PumpVirtual.VirtualPumpPlugin;
|
import info.nightscout.androidaps.plugins.PumpVirtual.VirtualPumpPlugin;
|
||||||
import info.nightscout.androidaps.plugins.SensitivityOref0.SensitivityOref0Plugin;
|
import info.nightscout.androidaps.plugins.SensitivityOref0.SensitivityOref0Plugin;
|
||||||
|
@ -383,7 +383,7 @@ public class ConfigBuilderFragment extends SubscriberFragment {
|
||||||
if (type == PluginType.PUMP)
|
if (type == PluginType.PUMP)
|
||||||
VirtualPumpPlugin.getPlugin().setPluginEnabled(type, true);
|
VirtualPumpPlugin.getPlugin().setPluginEnabled(type, true);
|
||||||
else if (type == PluginType.INSULIN)
|
else if (type == PluginType.INSULIN)
|
||||||
InsulinFastactingPlugin.getPlugin().setPluginEnabled(type, true);
|
InsulinOrefRapidActingPlugin.getPlugin().setPluginEnabled(type, true);
|
||||||
else if (type == PluginType.SENSITIVITY)
|
else if (type == PluginType.SENSITIVITY)
|
||||||
SensitivityOref0Plugin.getPlugin().setPluginEnabled(type, true);
|
SensitivityOref0Plugin.getPlugin().setPluginEnabled(type, true);
|
||||||
else if (type == PluginType.PROFILE)
|
else if (type == PluginType.PROFILE)
|
||||||
|
|
|
@ -1,84 +0,0 @@
|
||||||
package info.nightscout.androidaps.plugins.Insulin;
|
|
||||||
|
|
||||||
import info.nightscout.androidaps.Constants;
|
|
||||||
import info.nightscout.androidaps.MainApp;
|
|
||||||
import info.nightscout.androidaps.R;
|
|
||||||
import info.nightscout.androidaps.data.Iob;
|
|
||||||
import info.nightscout.androidaps.db.Treatment;
|
|
||||||
import info.nightscout.androidaps.interfaces.InsulinInterface;
|
|
||||||
import info.nightscout.androidaps.interfaces.PluginBase;
|
|
||||||
import info.nightscout.androidaps.interfaces.PluginDescription;
|
|
||||||
import info.nightscout.androidaps.interfaces.PluginType;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Created by mike on 17.04.2017.
|
|
||||||
*/
|
|
||||||
|
|
||||||
public class InsulinFastactingPlugin extends PluginBase implements InsulinInterface {
|
|
||||||
|
|
||||||
private static InsulinFastactingPlugin plugin = null;
|
|
||||||
|
|
||||||
public static InsulinFastactingPlugin getPlugin() {
|
|
||||||
if (plugin == null)
|
|
||||||
plugin = new InsulinFastactingPlugin();
|
|
||||||
return plugin;
|
|
||||||
}
|
|
||||||
|
|
||||||
public InsulinFastactingPlugin() {
|
|
||||||
super(new PluginDescription()
|
|
||||||
.mainType(PluginType.INSULIN)
|
|
||||||
.fragmentClass(InsulinFragment.class.getName())
|
|
||||||
.pluginName(R.string.fastactinginsulin)
|
|
||||||
.shortName(R.string.insulin_shortname)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Insulin interface
|
|
||||||
@Override
|
|
||||||
public int getId() {
|
|
||||||
return FASTACTINGINSULIN;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getFriendlyName() {
|
|
||||||
return MainApp.sResources.getString(R.string.fastactinginsulin);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getComment() {
|
|
||||||
return MainApp.sResources.getString(R.string.fastactinginsulincomment);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public double getDia() {
|
|
||||||
return MainApp.getConfigBuilder().getProfile() != null ? MainApp.getConfigBuilder().getProfile().getDia() : Constants.defaultDIA;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Iob iobCalcForTreatment(Treatment treatment, long time, double dia) {
|
|
||||||
Iob result = new Iob();
|
|
||||||
|
|
||||||
double scaleFactor = 3.0 / dia;
|
|
||||||
double peak = 75d;
|
|
||||||
double end = 180d;
|
|
||||||
|
|
||||||
if (treatment.insulin != 0d) {
|
|
||||||
long bolusTime = treatment.date;
|
|
||||||
double minAgo = scaleFactor * (time - bolusTime) / 1000d / 60d;
|
|
||||||
|
|
||||||
if (minAgo < peak) {
|
|
||||||
double x1 = minAgo / 5d + 1;
|
|
||||||
result.iobContrib = treatment.insulin * (1 - 0.001852 * x1 * x1 + 0.001852 * x1);
|
|
||||||
// units: BG (mg/dL) = (BG/U) * U insulin * scalar
|
|
||||||
result.activityContrib = treatment.insulin * (2 / dia / 60 / peak) * minAgo;
|
|
||||||
|
|
||||||
} else if (minAgo < end) {
|
|
||||||
double x2 = (minAgo - 75) / 5;
|
|
||||||
result.iobContrib = treatment.insulin * (0.001323 * x2 * x2 - 0.054233 * x2 + 0.55556);
|
|
||||||
result.activityContrib = treatment.insulin * (2 / dia / 60 - (minAgo - peak) * 2 / dia / 60 / (60 * 3 - peak));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,90 +0,0 @@
|
||||||
package info.nightscout.androidaps.plugins.Insulin;
|
|
||||||
|
|
||||||
import info.nightscout.androidaps.Constants;
|
|
||||||
import info.nightscout.androidaps.MainApp;
|
|
||||||
import info.nightscout.androidaps.R;
|
|
||||||
import info.nightscout.androidaps.data.Iob;
|
|
||||||
import info.nightscout.androidaps.data.Profile;
|
|
||||||
import info.nightscout.androidaps.db.Treatment;
|
|
||||||
import info.nightscout.androidaps.interfaces.InsulinInterface;
|
|
||||||
import info.nightscout.androidaps.interfaces.PluginBase;
|
|
||||||
import info.nightscout.androidaps.interfaces.PluginDescription;
|
|
||||||
import info.nightscout.androidaps.interfaces.PluginType;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Created by mike on 17.04.2017.
|
|
||||||
*/
|
|
||||||
|
|
||||||
public class InsulinFastactingProlongedPlugin extends PluginBase implements InsulinInterface {
|
|
||||||
|
|
||||||
private static InsulinFastactingProlongedPlugin plugin = null;
|
|
||||||
|
|
||||||
public static InsulinFastactingProlongedPlugin getPlugin() {
|
|
||||||
if (plugin == null)
|
|
||||||
plugin = new InsulinFastactingProlongedPlugin();
|
|
||||||
return plugin;
|
|
||||||
}
|
|
||||||
|
|
||||||
public InsulinFastactingProlongedPlugin() {
|
|
||||||
super(new PluginDescription()
|
|
||||||
.mainType(PluginType.INSULIN)
|
|
||||||
.fragmentClass(InsulinFragment.class.getName())
|
|
||||||
.pluginName(R.string.fastactinginsulinprolonged)
|
|
||||||
.shortName(R.string.insulin_shortname)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Insulin interface
|
|
||||||
@Override
|
|
||||||
public int getId() {
|
|
||||||
return FASTACTINGINSULINPROLONGED;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getFriendlyName() {
|
|
||||||
return MainApp.sResources.getString(R.string.fastactinginsulinprolonged);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getComment() {
|
|
||||||
return MainApp.sResources.getString(R.string.fastactinginsulincomment);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public double getDia() {
|
|
||||||
return MainApp.getConfigBuilder().getProfile() != null ? MainApp.getConfigBuilder().getProfile().getDia() : Constants.defaultDIA;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Iob iobCalcForTreatment(Treatment treatment, long time, double dia) {
|
|
||||||
Iob result = new Iob();
|
|
||||||
|
|
||||||
//Double scaleFactor = 3.0 / dia;
|
|
||||||
double peak = 75d * dia / 6.0;
|
|
||||||
double tail = 180d * dia / 6.0;
|
|
||||||
double end = 360d * dia / 6.0;
|
|
||||||
double Total = 2 * peak + (tail - peak) * 5 / 2 + (end - tail) / 2;
|
|
||||||
|
|
||||||
if (treatment.insulin != 0d) {
|
|
||||||
long bolusTime = treatment.date;
|
|
||||||
double minAgo = (time - bolusTime) / 1000d / 60d;
|
|
||||||
|
|
||||||
if (minAgo < peak) {
|
|
||||||
double x1 = 6 / dia * minAgo / 5d + 1;
|
|
||||||
result.iobContrib = treatment.insulin * (1 - 0.0012595 * x1 * x1 + 0.0012595 * x1);
|
|
||||||
// units: BG (mg/dL) = (BG/U) * U insulin * scalar
|
|
||||||
result.activityContrib = treatment.insulin * ((2 * peak / Total) * 2 / peak / peak * minAgo);
|
|
||||||
} else if (minAgo < tail) {
|
|
||||||
double x2 = (6 / dia * (minAgo - peak)) / 5;
|
|
||||||
result.iobContrib = treatment.insulin * (0.00074 * x2 * x2 - 0.0403 * x2 + 0.69772);
|
|
||||||
result.activityContrib = treatment.insulin * (-((2 * peak / Total) * 2 / peak * 3 / 4) / (tail - peak) * (minAgo - peak) + (2 * peak / Total) * 2 / peak);
|
|
||||||
} else if (minAgo < end) {
|
|
||||||
double x3 = (6 / dia * (minAgo - tail)) / 5;
|
|
||||||
result.iobContrib = treatment.insulin * (0.0001323 * x3 * x3 - 0.0097 * x3 + 0.17776);
|
|
||||||
result.activityContrib = treatment.insulin * (-((2 * peak / Total) * 2 / peak * 1 / 4) / (end - tail) * (minAgo - tail) + (2 * peak / Total) * 2 / peak / 4);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in a new issue