소스 검색

handle the case when insulin == 0 for a bolus

Sam King 1 년 전
부모
커밋
9d516833ce
1개의 변경된 파일2개의 추가작업 그리고 1개의 파일을 삭제
  1. 2 1
      Trio/Sources/APS/OpenAPSSwift/Iob/IobGenerator.swift

+ 2 - 1
Trio/Sources/APS/OpenAPSSwift/Iob/IobGenerator.swift

@@ -27,7 +27,8 @@ struct IobGenerator {
 
         // In Javascript it checks for `started_at` to separate tempBolus
         // from bolus but we explicitly track tempBolus instead
-        let lastBolusTime = treatments.filter({ $0.insulin != nil && $0.isTempBolus == false }).map(\.timestamp)
+        let lastBolusTime = treatments.filter({ $0.insulin != nil && $0.isTempBolus == false && $0.insulin != 0 })
+            .map(\.timestamp)
             .max() ?? Date(timeIntervalSince1970: 0)
         let lastTemp = treatments.filter({ $0.rate != nil && ($0.duration ?? 0) > 0 }).sorted(by: { $0.timestamp < $1.timestamp })
             .last