when using profile percentage limit basal rate to minimal value supported by pump
This commit is contained in:
parent
600e2ade1c
commit
93b954fffe
3 changed files with 25 additions and 1 deletions
|
@ -17,6 +17,9 @@ import java.util.TimeZone;
|
|||
import info.nightscout.androidaps.Constants;
|
||||
import info.nightscout.androidaps.MainApp;
|
||||
import info.nightscout.androidaps.R;
|
||||
import info.nightscout.androidaps.interfaces.PumpDescription;
|
||||
import info.nightscout.androidaps.interfaces.PumpInterface;
|
||||
import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin;
|
||||
import info.nightscout.androidaps.plugins.Overview.notifications.Notification;
|
||||
import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification;
|
||||
import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification;
|
||||
|
@ -327,8 +330,27 @@ public class Profile {
|
|||
}
|
||||
|
||||
public Double getBasal(Integer timeAsSeconds) {
|
||||
if (basal_v == null)
|
||||
if (basal_v == null) {
|
||||
basal_v = convertToSparseArray(basal);
|
||||
// Check for minimal basal value
|
||||
PumpInterface pump = ConfigBuilderPlugin.getActivePump();
|
||||
if (pump != null) {
|
||||
PumpDescription description = pump.getPumpDescription();
|
||||
for (int i = 0; i < basal_v.size(); i++) {
|
||||
if (basal_v.valueAt(i) < description.basalMinimumRate) {
|
||||
basal_v.setValueAt(i, description.basalMinimumRate);
|
||||
MainApp.bus().post(new EventNewNotification(new Notification(Notification.MINIMAL_BASAL_VALUE_REPLACED, MainApp.sResources.getString(R.string.minimalbasalvaluereplaced), Notification.NORMAL)));
|
||||
}
|
||||
}
|
||||
return getValueToTime(basal_v, timeAsSeconds);
|
||||
} else {
|
||||
// if pump not available (at start)
|
||||
// do not store converted array
|
||||
Double value = getValueToTime(basal_v, timeAsSeconds);
|
||||
basal_v = null;
|
||||
return value;
|
||||
}
|
||||
}
|
||||
return getValueToTime(basal_v, timeAsSeconds);
|
||||
}
|
||||
|
||||
|
|
|
@ -56,6 +56,7 @@ public class Notification {
|
|||
public static final int PUMP_UNREACHABLE = 26;
|
||||
public static final int BG_READINGS_MISSED = 27;
|
||||
public static final int UNSUPPORTED_FIRMWARE = 28;
|
||||
public static final int MINIMAL_BASAL_VALUE_REPLACED = 29;
|
||||
|
||||
public int id;
|
||||
public Date date;
|
||||
|
|
|
@ -788,5 +788,6 @@
|
|||
<string name="key_dexcomg5_xdripupload" translatable="false">dexcomg5_xdripupload</string>
|
||||
<string name="dexcomg5_xdripupload_summary">In xDrip+ select 640g/Eversense data source</string>
|
||||
<string name="nsclientbg">NSClient BG</string>
|
||||
<string name="minimalbasalvaluereplaced">Basal value replaced by minimal supported value</string>
|
||||
</resources>
|
||||
|
||||
|
|
Loading…
Reference in a new issue