From 15713b0f1d5d97cec8273df9edfa02315225a2b0 Mon Sep 17 00:00:00 2001 From: Pierre L Date: Mon, 15 Apr 2024 14:03:00 +0200 Subject: [PATCH] Fix SAGE uploads in NS for Libre Transmitter Fix issue #108 The implementation is not perfect because need to add LibreTransmitter library in OiAPS --- FreeAPS/Sources/APS/CGM/PluginSource.swift | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/FreeAPS/Sources/APS/CGM/PluginSource.swift b/FreeAPS/Sources/APS/CGM/PluginSource.swift index 9fc6dcb43..7d9f1363d 100644 --- a/FreeAPS/Sources/APS/CGM/PluginSource.swift +++ b/FreeAPS/Sources/APS/CGM/PluginSource.swift @@ -1,5 +1,6 @@ import Combine import Foundation +import LibreTransmitter import LoopKit import LoopKitUI @@ -148,8 +149,17 @@ extension PluginSource: CGMManagerDelegate { switch readingResult { case let .newData(values): + var sensorActivatedAt: Date? + var sensorTransmitterID: String? + /// specific for Libre transmitter and send SAGE + if let cgmTransmitterManager = cgmManager as? LibreTransmitterManagerV3 { + sensorActivatedAt = cgmTransmitterManager.sensorInfoObservable.activatedAt + sensorTransmitterID = cgmTransmitterManager.sensorInfoObservable.sensorSerial + } + let bloodGlucose = values.compactMap { newGlucoseSample -> BloodGlucose? in let quantity = newGlucoseSample.quantity + let value = Int(quantity.doubleValue(for: .milligramsPerDeciliter)) return BloodGlucose( _id: UUID().uuidString, @@ -161,10 +171,10 @@ extension PluginSource: CGMManagerDelegate { filtered: nil, noise: nil, glucose: value, - type: "sgv" -// activationDate: activationDate, -// sessionStartDate: sessionStartDate -// transmitterID: self.transmitterID + type: "sgv", + activationDate: sensorActivatedAt, + sessionStartDate: sensorActivatedAt, + transmitterID: sensorTransmitterID ) } promise?(.success(bloodGlucose))