From 30c1c16cd02b9c379a7bfce47ac3710cf2266abc Mon Sep 17 00:00:00 2001 From: jbr7rr <> Date: Sun, 6 Aug 2023 14:21:21 +0200 Subject: [PATCH] disconnect on force deactivation when pump in error state --- .../info/nightscout/pump/medtrum/services/MedtrumService.kt | 2 ++ .../nightscout/pump/medtrum/ui/viewmodel/MedtrumViewModel.kt | 3 +++ 2 files changed, 5 insertions(+) diff --git a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/services/MedtrumService.kt b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/services/MedtrumService.kt index 8ebb41c72c..6fbfe4f958 100644 --- a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/services/MedtrumService.kt +++ b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/services/MedtrumService.kt @@ -187,6 +187,8 @@ class MedtrumService : DaggerService(), BLECommCallback { if (medtrumPump.tempBasalInProgress) { result = sendPacketAndGetResponse(CancelTempBasalPacket(injector)) } + // Make sure we have all events of this patch if possible + loadEvents() if (result) result = sendPacketAndGetResponse(StopPatchPacket(injector)) return result } diff --git a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/ui/viewmodel/MedtrumViewModel.kt b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/ui/viewmodel/MedtrumViewModel.kt index 21f5180fc7..da2245ce21 100644 --- a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/ui/viewmodel/MedtrumViewModel.kt +++ b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/ui/viewmodel/MedtrumViewModel.kt @@ -1,5 +1,6 @@ package info.nightscout.pump.medtrum.ui.viewmodel +import android.os.SystemClock import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import info.nightscout.interfaces.queue.Callback @@ -255,6 +256,8 @@ class MedtrumViewModel @Inject constructor( if (medtrumPump.pumpState >= MedtrumPumpState.OCCLUSION && medtrumPump.pumpState <= MedtrumPumpState.NO_CALIBRATION) { // We are in a fault state, we need to force deactivation aapsLogger.info(LTag.PUMP, "deactivatePatch: force deactivation") + medtrumService?.disconnect("ForceDeactivation") + SystemClock.sleep(1000) medtrumPump.pumpState = MedtrumPumpState.STOPPED } else { aapsLogger.info(LTag.PUMP, "deactivatePatch: failure!")