Ivan Valkou 5 лет назад
Родитель
Сommit
7682539df4

+ 4 - 5
FreeAPS/Sources/APS/APSManager.swift

@@ -109,7 +109,6 @@ final class BaseAPSManager: APSManager, Injectable {
             nightscout.fetchTempTargets()
         )
         .flatMap { _ in self.dailyAutotune() }
-        .flatMap { _ in self.autosens() }
         .flatMap { _ in self.determineBasal() }
         .sink { _ in } receiveValue: { [weak self] ok in
             guard let self = self else { return }
@@ -140,7 +139,8 @@ final class BaseAPSManager: APSManager, Injectable {
             return false
         }
 
-        guard let reservoir = storage.retrieve(OpenAPS.Monitor.reservoir, as: Decimal.self), reservoir > 0 else {
+        let reservoir = storage.retrieve(OpenAPS.Monitor.reservoir, as: Decimal.self) ?? 100
+        guard reservoir > 0 else {
             debug(.apsManager, "Reservoir is empty")
             return false
         }
@@ -170,9 +170,8 @@ final class BaseAPSManager: APSManager, Injectable {
         let temp = currentTemp(date: now)
 
         let mainPublisher = makeProfiles()
-            .flatMap { _ in
-                self.openAPS.determineBasal(currentTemp: temp, clock: now)
-            }
+            .flatMap { _ in self.autosens() }
+            .flatMap { _ in self.openAPS.determineBasal(currentTemp: temp, clock: now) }
             .map { suggestion -> Bool in
                 if let suggestion = suggestion {
                     DispatchQueue.main.async {

+ 3 - 2
FreeAPS/Sources/APS/DeviceDataManager.swift

@@ -103,11 +103,12 @@ final class BaseDeviceDataManager: DeviceDataManager, Injectable {
     @SyncAccess(lock: accessLock) private var pumpUpdateInProgress = false
 
     func heartbeat() {
+        guard let pumpManager = pumpManager else { return }
         guard !pumpUpdateInProgress else { return }
 
         pumpUpdateInProgress = true
         lastHeartBeatTime = Date()
-        pumpManager?.ensureCurrentPumpData {
+        pumpManager.ensureCurrentPumpData {
             debug(.deviceManager, "Pump Data updated")
             self.pumpUpdateInProgress = false
         }
@@ -138,7 +139,7 @@ extension BaseDeviceDataManager: PumpManagerDelegate {
     }
 
     func pumpManagerDidUpdateState(_ pumpManager: PumpManager) {
-        UserDefaults.standard.pumpManagerRawValue = pumpManager.rawValue
+        self.pumpManager = pumpManager as? PumpManagerUI
         pumpName.send(pumpManager.localizedTitle)
     }
 

+ 2 - 2
FreeAPS/Sources/Modules/Home/View/Header/LoopView.swift

@@ -40,7 +40,7 @@ struct LoopView: View {
             } else {
                 Text("--").font(.caption2).foregroundColor(.secondary)
             }
-        }.padding(.trailing, 4)
+        }
     }
 
     private var color: Color {
@@ -68,7 +68,7 @@ struct LoopView: View {
 
     private var actualSuggestion: Suggestion? {
         if closedLoop, suggestion?.rate != nil || suggestion?.units != nil {
-            return enactedSuggestion
+            return enactedSuggestion ?? suggestion
         } else {
             return suggestion
         }

+ 3 - 2
FreeAPS/Sources/Modules/Home/View/HomeRootView.swift

@@ -15,6 +15,7 @@ extension Home {
 
         var header: some View {
             HStack(alignment: .bottom) {
+                Spacer()
                 VStack(alignment: .leading, spacing: 12) {
                     HStack {
                         Text("IOB").font(.caption2).foregroundColor(.secondary)
@@ -27,7 +28,6 @@ extension Home {
                             .font(.system(size: 12, weight: .bold))
                     }
                 }
-                .padding(.leading, 4)
                 Spacer()
 
                 CurrentGlucoseView(
@@ -64,6 +64,7 @@ extension Home {
                 }.onLongPressGesture {
                     viewModel.runLoop()
                 }
+                Spacer()
             }.frame(maxWidth: .infinity)
         }
 
@@ -72,7 +73,7 @@ extension Home {
                 if let tempRate = viewModel.tempRate {
                     Text((numberFormatter.string(from: tempRate as NSNumber) ?? "0") + " U/hr")
                         .font(.system(size: 12, weight: .bold)).foregroundColor(.insulin)
-                        .padding(.leading, 4)
+                        .padding(.leading, 8)
                 }
 
                 if let tepmTargetName = viewModel.tempTargetName {