From 1b7168b7c5b12fd2f7491083211a0bf2a1ea0985 Mon Sep 17 00:00:00 2001 From: Mike Plante <82073483+MikePlante1@users.noreply.github.com> Date: Mon, 31 Mar 2025 10:58:31 -0400 Subject: [PATCH] Round to supported rate before setting temp basal rate --- MinimedKit/PumpManager/MinimedPumpManager.swift | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/MinimedKit/PumpManager/MinimedPumpManager.swift b/MinimedKit/PumpManager/MinimedPumpManager.swift index 7b67ad7..853d811 100644 --- a/MinimedKit/PumpManager/MinimedPumpManager.swift +++ b/MinimedKit/PumpManager/MinimedPumpManager.swift @@ -941,6 +941,10 @@ extension MinimedPumpManager: PumpManager { return state.pumpModel.supportedBasalRates } + public func roundToSupportedBasalRate(unitsPerHour: Double) -> Double { + return supportedBasalRates.last(where: { $0 <= unitsPerHour }) ?? 0 + } + public var supportedBolusVolumes: [Double] { return state.pumpModel.supportedBolusVolumes } @@ -1321,13 +1325,16 @@ extension MinimedPumpManager: PumpManager { self.recents.tempBasalEngageState = .engaging - let result = session.setTempBasal(unitsPerHour, duration: duration) - + // Round to nearest supported rate + let rate = self.roundToSupportedBasalRate(unitsPerHour: unitsPerHour) + + let result = session.setTempBasal(rate, duration: duration) + switch result { case .success: let now = self.dateGenerator() - let dose = UnfinalizedDose(tempBasalRate: unitsPerHour, startTime: now, duration: duration, insulinType: insulinType, automatic: true) + let dose = UnfinalizedDose(tempBasalRate: rate, startTime: now, duration: duration, insulinType: insulinType, automatic: true) self.recents.tempBasalEngageState = .stable