diff --git a/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt b/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt
index 1e9976fa74..a81e572441 100644
--- a/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt
+++ b/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt
@@ -207,7 +207,7 @@ class MedtronicFragment : DaggerFragment() {
when (medtronicPumpStatus.pumpDeviceState) {
null,
- PumpDeviceState.Sleeping -> binding.pumpStatusIcon.text = "{fa-bed} " // + pumpStatus.pumpDeviceState.name());
+ PumpDeviceState.Sleeping -> binding.pumpStatusIcon.text = "{fa-bed} " // + pumpStatus.pumpDeviceState.name());
PumpDeviceState.NeverContacted,
PumpDeviceState.WakingUp,
PumpDeviceState.PumpUnreachable,
@@ -215,7 +215,7 @@ class MedtronicFragment : DaggerFragment() {
PumpDeviceState.TimeoutWhenCommunicating,
PumpDeviceState.InvalidConfiguration -> binding.pumpStatusIcon.text = " " + resourceHelper.gs(medtronicPumpStatus.pumpDeviceState.resourceId)
- PumpDeviceState.Active -> {
+ PumpDeviceState.Active -> {
val cmd = medtronicUtil.currentCommand
if (cmd == null)
binding.pumpStatusIcon.text = " " + resourceHelper.gs(medtronicPumpStatus.pumpDeviceState.resourceId)
@@ -328,5 +328,27 @@ class MedtronicFragment : DaggerFragment() {
medtronicPumpPlugin.rileyLinkService?.verifyConfiguration()
binding.errors.text = medtronicPumpStatus.errorInfo
+
+ var showRileyLinkBatteryLevel: Boolean = medtronicPumpStatus.showRileyLinkBatteryLevel
+
+ if (showRileyLinkBatteryLevel) {
+ binding.rlBatteryView.visibility = View.VISIBLE
+ binding.rlBatteryLabel.visibility = View.VISIBLE
+ binding.rlBatteryState.visibility = View.VISIBLE
+ binding.rlBatteryLayout.visibility = View.VISIBLE
+ binding.rlBatterySemicolon.visibility = View.VISIBLE
+ if (rileyLinkServiceData.batteryLevel == null) {
+ binding.rlBatteryState.text = " ?"
+ } else {
+ binding.rlBatteryState.text = "{fa-battery-" + rileyLinkServiceData.batteryLevel / 25 + "} " + rileyLinkServiceData.batteryLevel + "%"
+ }
+ } else {
+ binding.rlBatteryView.visibility = View.GONE
+ binding.rlBatteryLabel.visibility = View.GONE
+ binding.rlBatteryState.visibility = View.GONE
+ binding.rlBatteryLayout.visibility = View.GONE
+ binding.rlBatterySemicolon.visibility = View.GONE
+ }
+
}
}
diff --git a/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/driver/MedtronicPumpStatus.java b/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/driver/MedtronicPumpStatus.java
index 9f1d2a092b..390668cdb2 100644
--- a/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/driver/MedtronicPumpStatus.java
+++ b/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/driver/MedtronicPumpStatus.java
@@ -14,25 +14,24 @@ import javax.inject.Singleton;
import info.nightscout.androidaps.plugins.bus.RxBusWrapper;
import info.nightscout.androidaps.plugins.pump.common.defs.PumpDeviceState;
import info.nightscout.androidaps.plugins.pump.common.defs.PumpType;
+import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.data.RLHistoryItem;
import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkTargetDevice;
import info.nightscout.androidaps.plugins.pump.medtronic.defs.BasalProfileStatus;
import info.nightscout.androidaps.plugins.pump.medtronic.defs.BatteryType;
import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicDeviceType;
-import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange;
import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicConst;
import info.nightscout.androidaps.utils.resources.ResourceHelper;
import info.nightscout.androidaps.utils.sharedPreferences.SP;
-
/**
* Created by andy on 4/28/18.
*/
@Singleton
-public class MedtronicPumpStatus extends info.nightscout.androidaps.plugins.pump.common.data.PumpStatus {
+public class MedtronicPumpStatus extends info.nightscout.androidaps.plugins.pump.common.data.PumpStatus {
private final ResourceHelper resourceHelper;
private final SP sp;
@@ -44,6 +43,7 @@ public class MedtronicPumpStatus extends info.nightscout.androidaps.plugins.pump
public String pumpFrequency = null;
public Double maxBolus;
public Double maxBasal;
+ public boolean showRileyLinkBatteryLevel;
// statuses
private PumpDeviceState pumpDeviceState = PumpDeviceState.NeverContacted;
@@ -62,9 +62,9 @@ public class MedtronicPumpStatus extends info.nightscout.androidaps.plugins.pump
@Inject
public MedtronicPumpStatus(ResourceHelper resourceHelper,
- SP sp,
- RxBusWrapper rxBus,
- RileyLinkUtil rileyLinkUtil
+ SP sp,
+ RxBusWrapper rxBus,
+ RileyLinkUtil rileyLinkUtil
) {
super(PumpType.Medtronic_522_722);
this.resourceHelper = resourceHelper;
diff --git a/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/service/RileyLinkMedtronicService.java b/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/service/RileyLinkMedtronicService.java
index 5447240b04..5fd8e30086 100644
--- a/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/service/RileyLinkMedtronicService.java
+++ b/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/service/RileyLinkMedtronicService.java
@@ -317,6 +317,8 @@ public class RileyLinkMedtronicService extends RileyLinkService {
//boolean bolusDebug = bolusDebugEnabled != null && bolusDebugEnabled.equals(resourceHelper.gs(R.string.common_on));
//MedtronicHistoryData.doubleBolusDebug = bolusDebug;
+ medtronicPumpStatus.showRileyLinkBatteryLevel = sp.getBoolean(RileyLinkConst.Prefs.ShowBatteryLevel, false);
+
reconfigureService(forceRileyLinkAddressRenewal);
return true;
diff --git a/medtronic/src/main/res/layout/medtronic_fragment.xml b/medtronic/src/main/res/layout/medtronic_fragment.xml
index 2be4848f46..bd30507a75 100644
--- a/medtronic/src/main/res/layout/medtronic_fragment.xml
+++ b/medtronic/src/main/res/layout/medtronic_fragment.xml
@@ -86,6 +86,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
NiMH (Extended view)
Bolus/Treatments Debugging
-
+
+ RileyLink Battery
Errors
@@ -79,8 +80,6 @@
Medtronic Pump History
-
-
You cancelled Bolus, after it was already set on Pump. Since Medtronic Pump doesn\'t support cancel, you will need to manually cancel it. Put the Pump into Suspend mode and then do Resume (if you still want to cancel). Application will pick up changes, on next update (in less than 5 minutes).
Could not read current TBR.
@@ -117,6 +116,7 @@
Set neutral temp basals
If enabled, it will cancel a temporary basal before the end of each hour. This method can help stop some pumps beeping/vibrating on the hour.
+
^\\d{6}
\ No newline at end of file
diff --git a/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/RileyLinkConst.java b/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/RileyLinkConst.java
index 28f551e188..2d6c93a0a9 100644
--- a/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/RileyLinkConst.java
+++ b/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/RileyLinkConst.java
@@ -37,6 +37,7 @@ public class RileyLinkConst {
public static final String LastGoodDeviceCommunicationTime = Prefix + "lastGoodDeviceCommunicationTime";
public static final String LastGoodDeviceFrequency = Prefix + "LastGoodDeviceFrequency";
public static final int Encoding = R.string.key_medtronic_encoding;
+ public static final int ShowBatteryLevel = R.string.key_riley_link_show_battery_level;
}
public static class IPC {