@@ -1136,12 +1136,6 @@ extension LoopDataManager {
11361136 return
11371137 }
11381138
1139- guard recommendedBolus. recommendation. notice == nil else {
1140- logger. debug ( " Recommendation notice: \( recommendedBolus. recommendation. notice!) " )
1141- completion ( false , nil )
1142- return
1143- }
1144-
11451139 let lowTrend = controlGlucoseQuantity. map { $0 < glucose. quantity } ?? true
11461140
11471141 let safetyCheck = !( lowTrend && settings. microbolusesSafeMode == . enabled)
@@ -1151,17 +1145,29 @@ extension LoopDataManager {
11511145 return
11521146 }
11531147
1154- let maxBasalMinutes : Double = {
1148+ let minSize = 30.0
1149+
1150+ var maxBasalMinutes : Double = {
11551151 switch ( cob > 0 , lowTrend, settings. microbolusesSafeMode == . disabled) {
11561152 case ( true , false , _) , ( true , true , true ) :
11571153 return settings. microbolusesSize
11581154 case ( false , false , _) , ( false , true , true ) :
11591155 return settings. microbolusesWithoutCarbsSize
11601156 default :
1161- return 30
1157+ return minSize
11621158 }
11631159 } ( )
11641160
1161+ switch recommendedBolus. recommendation. notice {
1162+ case . glucoseBelowSuspendThreshold, . predictedGlucoseBelowTarget:
1163+ logger. debug ( " Microbolus canceled by recommendation notice: \( recommendedBolus. recommendation. notice!) " )
1164+ completion ( false , nil )
1165+ return
1166+ case . currentGlucoseBelowTarget:
1167+ maxBasalMinutes = minSize
1168+ case . none: break
1169+ }
1170+
11651171 let maxMicroBolus = currentBasalRate * maxBasalMinutes / 60
11661172
11671173 let volumeRounder = { ( _ units: Double ) in
0 commit comments