Przeglądaj źródła

Fix calculation of 5m-carb-impact to carbs_hr absorption rate, according to https://openaps.readthedocs.io/en/latest/docs/While%20You%20Wait%20For%20Gear/preferences-and-safety-settings.html#min-5m-carbimpact

Jan Dittmer 4 lat temu
rodzic
commit
dee8916bc2

+ 9 - 1
FreeAPS/Sources/Services/Network/NightscoutManager.swift

@@ -295,9 +295,17 @@ final class BaseNightscoutManager: NightscoutManager, Injectable {
             nsUnits = "mmol"
         }
 
+        var carbs_hr: Decimal?
+        if let isf = sensitivities.sensitivities.map(\.sensitivity).first,
+           let cr = carbRatios.schedule.map(\.ratio).first,
+           isf > 0, cr > 0
+        {
+            // CarbImpact -> Carbs/hr = CI [mg/dl/5min] * 12 / ISF [mg/dl/U] * CR [g/U]
+            carbs_hr = settingsManager.preferences.min5mCarbimpact * 12 / isf * cr
+        }
         let ps = ScheduledNightscoutProfile(
             dia: settingsManager.pumpSettings.insulinActionCurve,
-            carbs_hr: settingsManager.preferences.min5mCarbimpact * 12,
+            carbs_hr: carbs_hr ?? 0,
             delay: 0,
             timezone: TimeZone.current.identifier,
             target_low: target_low,