diff --git a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/MedtrumPump.kt b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/MedtrumPump.kt index cfd5293f22..369a55ded3 100644 --- a/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/MedtrumPump.kt +++ b/pump/medtrum/src/main/java/info/nightscout/pump/medtrum/MedtrumPump.kt @@ -443,7 +443,7 @@ class MedtrumPump @Inject constructor( fun setFakeTBRIfNeeded() { val expectedTemporaryBasal = pumpSync.expectedPumpState().temporaryBasal - if (expectedTemporaryBasal?.rate != 0.0 && expectedTemporaryBasal?.duration != T.mins(FAKE_TBR_LENGTH).msecs()) { + if (expectedTemporaryBasal?.duration != T.mins(FAKE_TBR_LENGTH).msecs()) { setFakeTBR() } } 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 5a520f330c..ab492749d0 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 @@ -243,7 +243,14 @@ class MedtrumViewModel @Inject constructor( if (this.result.success) { // Do nothing, state change will handle this } else { - updateSetupStep(SetupStep.ERROR) + 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") + medtrumPump.pumpState = MedtrumPumpState.STOPPED + } else { + aapsLogger.info(LTag.PUMP, "deactivatePatch: failure!") + updateSetupStep(SetupStep.ERROR) + } } } })