Просмотр исходного кода

Correction for MDT pumps with the new backgroundTask
Clean the heartbeat provided by pump

Pierre L 3 лет назад
Родитель
Сommit
ba7ab8aab4

+ 4 - 7
FreeAPS/Sources/APS/DeviceDataManager.swift

@@ -23,7 +23,7 @@ protocol DeviceDataManager: GlucoseSource {
     var errorSubject: PassthroughSubject<Error, Never> { get }
     var errorSubject: PassthroughSubject<Error, Never> { get }
     var pumpName: CurrentValueSubject<String, Never> { get }
     var pumpName: CurrentValueSubject<String, Never> { get }
     var pumpExpiresAtDate: CurrentValueSubject<Date?, Never> { get }
     var pumpExpiresAtDate: CurrentValueSubject<Date?, Never> { get }
-    var requireCGMRefresh: PassthroughSubject<Date, Never> { get }
+
     func heartbeat(date: Date)
     func heartbeat(date: Date)
     func createBolusProgressReporter() -> DoseProgressReporter?
     func createBolusProgressReporter() -> DoseProgressReporter?
     var alertHistoryStorage: AlertHistoryStorage! { get }
     var alertHistoryStorage: AlertHistoryStorage! { get }
@@ -63,15 +63,12 @@ final class BaseDeviceDataManager: DeviceDataManager, Injectable {
     @SyncAccess(lock: accessLock) @Persisted(key: "BaseDeviceDataManager.lastHeartBeatTime") var lastHeartBeatTime: Date =
     @SyncAccess(lock: accessLock) @Persisted(key: "BaseDeviceDataManager.lastHeartBeatTime") var lastHeartBeatTime: Date =
         .distantPast
         .distantPast
 
 
-    // to do at true if you would like to use pump heartbeat
-    let heartbeatBypump: Bool = false
-
     let recommendsLoop = PassthroughSubject<Void, Never>()
     let recommendsLoop = PassthroughSubject<Void, Never>()
     let bolusTrigger = PassthroughSubject<Bool, Never>()
     let bolusTrigger = PassthroughSubject<Bool, Never>()
     let errorSubject = PassthroughSubject<Error, Never>()
     let errorSubject = PassthroughSubject<Error, Never>()
     let pumpNewStatus = PassthroughSubject<Void, Never>()
     let pumpNewStatus = PassthroughSubject<Void, Never>()
     let manualTempBasal = PassthroughSubject<Bool, Never>()
     let manualTempBasal = PassthroughSubject<Bool, Never>()
-    let requireCGMRefresh = PassthroughSubject<Date, Never>()
+
     private let router = FreeAPSApp.resolver.resolve(Router.self)!
     private let router = FreeAPSApp.resolver.resolve(Router.self)!
     @SyncAccess private var pumpUpdateCancellable: AnyCancellable?
     @SyncAccess private var pumpUpdateCancellable: AnyCancellable?
     private var pumpUpdatePromise: Future<Bool, Never>.Promise?
     private var pumpUpdatePromise: Future<Bool, Never>.Promise?
@@ -85,7 +82,7 @@ final class BaseDeviceDataManager: DeviceDataManager, Injectable {
             if let pumpManager = pumpManager {
             if let pumpManager = pumpManager {
                 pumpDisplayState.value = PumpDisplayState(name: pumpManager.localizedTitle, image: pumpManager.smallImage)
                 pumpDisplayState.value = PumpDisplayState(name: pumpManager.localizedTitle, image: pumpManager.smallImage)
                 pumpName.send(pumpManager.localizedTitle)
                 pumpName.send(pumpManager.localizedTitle)
-                pumpManager.setMustProvideBLEHeartbeat(heartbeatBypump)
+
                 if let omnipod = pumpManager as? OmnipodPumpManager {
                 if let omnipod = pumpManager as? OmnipodPumpManager {
                     guard let endTime = omnipod.state.podState?.expiresAt else {
                     guard let endTime = omnipod.state.podState?.expiresAt else {
                         pumpExpiresAtDate.send(nil)
                         pumpExpiresAtDate.send(nil)
@@ -317,9 +314,9 @@ extension BaseDeviceDataManager: PumpManagerDelegate {
         pumpName.send(pumpManager.localizedTitle)
         pumpName.send(pumpManager.localizedTitle)
     }
     }
 
 
+    /// heartbeat with pump occurs some issues in the backgroundtask - so never used
     func pumpManagerBLEHeartbeatDidFire(_: PumpManager) {
     func pumpManagerBLEHeartbeatDidFire(_: PumpManager) {
         debug(.deviceManager, "Pump Heartbeat: do nothing. Pump connection is OK")
         debug(.deviceManager, "Pump Heartbeat: do nothing. Pump connection is OK")
-        requireCGMRefresh.send(Date())
     }
     }
 
 
     func pumpManagerMustProvideBLEHeartbeat(_: PumpManager) -> Bool {
     func pumpManagerMustProvideBLEHeartbeat(_: PumpManager) -> Bool {

+ 0 - 16
FreeAPS/Sources/APS/FetchGlucoseManager.swift

@@ -35,14 +35,6 @@ final class BaseFetchGlucoseManager: FetchGlucoseManager, Injectable {
         injectServices(resolver)
         injectServices(resolver)
         updateGlucoseSource()
         updateGlucoseSource()
         subscribe()
         subscribe()
-
-        /// listen if require CGM update
-        deviceDataManager.requireCGMRefresh
-            .receive(on: processQueue)
-            .sink { _ in
-                self.refreshCGM()
-            }
-            .store(in: &lifetime)
     }
     }
 
 
     var glucoseSource: GlucoseSource!
     var glucoseSource: GlucoseSource!
@@ -160,14 +152,6 @@ final class BaseFetchGlucoseManager: FetchGlucoseManager, Injectable {
             UIApplication.shared.endBackgroundTask(backgroundTask)
             UIApplication.shared.endBackgroundTask(backgroundTask)
             backGroundFetchBGTaskID = .invalid
             backGroundFetchBGTaskID = .invalid
         }
         }
-
-//        if filtered.isEmpty {
-//            let lastGlucoseDate = glucoseStorage.lastGlucoseDate()
-//            guard lastGlucoseDate >= Date().addingTimeInterval(-Config.eхpirationInterval) else {
-//                debug(.nightscout, "Glucose is too old - \(lastGlucoseDate)")
-//                return
-//            }
-//        }
     }
     }
 
 
     /// The function used to start the timer sync - Function of the variable defined in config
     /// The function used to start the timer sync - Function of the variable defined in config

+ 2 - 2
FreeAPS/Sources/Modules/AddCarbs/AddCarbsStateModel.swift

@@ -41,8 +41,8 @@ extension AddCarbs {
                 let newdate = 1.0 + trunc(Double(truncating: counter as NSNumber))
                 let newdate = 1.0 + trunc(Double(truncating: counter as NSNumber))
                 carbsStorage.storeCarbs([
                 carbsStorage.storeCarbs([
                     CarbsEntry(
                     CarbsEntry(
-                        id: UUID().uuidString, createdAt: date + (newdate * Double(timeInterval)), carbs: carbequiv, enteredBy: CarbsEntry.manual
-
+                        id: UUID().uuidString, createdAt: date + (newdate * Double(timeInterval)), carbs: carbequiv,
+                        enteredBy: CarbsEntry.manual
                     )
                     )
                 ])
                 ])
                 counter -= 1
                 counter -= 1