| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- import Foundation
- extension ISFEditor {
- final class Provider: BaseProvider, ISFEditorProvider {
- var profile: InsulinSensitivities {
- var retrievedSensitivities = storage.retrieve(OpenAPS.Settings.insulinSensitivities, as: InsulinSensitivities.self)
- ?? InsulinSensitivities(from: OpenAPS.defaults(for: OpenAPS.Settings.insulinSensitivities))
- ?? InsulinSensitivities(
- units: .mgdL,
- userPreferredUnits: .mgdL,
- sensitivities: []
- )
- // migrate existing mmol/L Trio users from mmol/L settings to pure mg/dl settings
- if retrievedSensitivities.units == .mmolL || retrievedSensitivities.userPreferredUnits == .mmolL {
- let convertedSensitivities = retrievedSensitivities.sensitivities.map { isf in
- InsulinSensitivityEntry(
- sensitivity: storage.parseSettingIfMmolL(value: isf.sensitivity),
- offset: isf.offset,
- start: isf.start
- )
- }
- retrievedSensitivities = InsulinSensitivities(
- units: .mgdL,
- userPreferredUnits: .mgdL,
- sensitivities: convertedSensitivities
- )
- saveProfile(retrievedSensitivities)
- }
- return retrievedSensitivities
- }
- func saveProfile(_ profile: InsulinSensitivities) {
- storage.save(profile, as: OpenAPS.Settings.insulinSensitivities)
- }
- var autosense: Autosens {
- storage.retrieve(OpenAPS.Settings.autosense, as: Autosens.self)
- ?? Autosens(from: OpenAPS.defaults(for: OpenAPS.Settings.autosense))
- ?? Autosens(ratio: 1, newisf: nil, timestamp: nil)
- }
- var autotune: Autotune? {
- storage.retrieve(OpenAPS.Settings.autotune, as: Autotune.self)
- }
- }
- }
|