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

Ignore sensor start events which are too close together.

(cherry picked from commit 0613f1bcd5629c9657d0c259875e5c8cc52987f7)
Jan Dittmer 4 лет назад
Родитель
Сommit
4b777fd681
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
                     }
                     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
                     }
                     var notes = ""