瀏覽代碼

Ignore sensor start events which are too close together.

Jan Dittmer 4 年之前
父節點
當前提交
7fc47561be
共有 1 個文件被更改,包括 6 次插入1 次删除
  1. 6 1
      FreeAPS/Sources/APS/Storage/GlucoseStorage.swift

+ 6 - 1
FreeAPS/Sources/APS/Storage/GlucoseStorage.swift

@@ -59,7 +59,12 @@ final class BaseGlucoseStorage: GlucoseStorage, Injectable {
                         continue
                         continue
                     }
                     }
                     NSLog("CGM start \(sessionStartDate) lastTreatment \(String(describing: treatments.last))")
                     NSLog("CGM start \(sessionStartDate) lastTreatment \(String(describing: treatments.last))")
-                    if let lastTreatment = treatments.last, lastTreatment.createdAt == sessionStartDate {
+                    if let lastTreatment = treatments.last,
+                       let createdAt = lastTreatment.createdAt,
+                       // When a new Dexcom sensor is started, it produces multiple consequetive
+                       // startDates. Disambiguate them by only allowing a session start per minute.
+                       abs(createdAt.timeIntervalSince(sessionStartDate)) < TimeInterval(60)
+                    {
                         continue
                         continue
                     }
                     }
                     var notes = ""
                     var notes = ""